U6.4 一定要對準同一個終點,才算學會生成嗎?
本篇重用3 篇
換一份起點對應,圖片分布仍可能相同
U6.0 到 U6.3 都在學指定 dynamics 的 flow map。給定一個輸入,精確 ODE 已選好它的目的位置;我們要求學生保留這份逐點對應。
但若任務只是生成合理圖片,使用者通常不要求「這一顆 latent 必須對應這張圖」。想像兩個人各發出一疊照片,只要照片類型與比例相同,我們可能不在意各張照片原本配給哪個信封。要求整疊照片的分布相同,比要求每個信封的內容相同更弱。
例如 , 與 的輸出分布相同,逐點輸出卻相反。這表示放開逐點對應後,解可以更多;它不是在聲稱原本的 ODE 回歸一定會模糊。
課堂提問Q1
若 ODE teacher 的每個起點都有確定終點,改用分布匹配,是為了解決一個必然發生的 MSE 平均錯誤嗎?
先想一想,再展開看整理後的答案
不是。確定的 teacher map 本來就可以用 MSE 回歸。當同一輸入的監督標籤真有多個可能、而我們只輸出一個 deterministic prediction 時,MSE 才會取條件平均;其中有些平均是刻意的 conditional trick,不是錯誤。
分布匹配是在放鬆監督要求:不必重現特定 latent 到終點的 coupling,也不一定要逐筆取得完整 teacher rollout。它換來的是另一個難題——要如何從有限樣本取得可靠的分布差異訊號?
先替兩疊照片加同樣的 noise
令一步生成器 產生資料端樣本, 來自簡單 latent prior。沿用本單元 為噪聲、 為資料的 convention,合成
令 是它的分布, 是真實資料使用相同 kernel 後的分布。當 ,Gaussian smoothing 讓兩側更適合比較密度與 score。高 noise 有助比較粗結構,低 noise 更接近資料細節;只在 比較則兩側本來都是同一份 noise,無法監督生成器。
考慮一個固定非負時間權重 ,定義
這是書 §10.2 用 VSD 說明的 distribution-matching 原則,也是理解 DMD 的核心入口。實作使用 pretrained diffusion score 近似資料端 score;它不自動等於某個有限步 teacher sampler 的精確 output-law score。這個區分決定我們實際在近似哪個 target。
密度算不到,先問需要它的哪個量
固定 ,利用 的 reparameterization,可將 KL 寫成
直接計算仍需要密度,通常做不到。但我們更新生成器要的是對 的梯度。 有兩條作用路徑:密度下標本身會變,以及輸入位置 會變。
先看顯式的密度下標。固定位置再微分,然後對該密度平均,
最後等號使用 normalized density 的積分等於 ;這裡假設微分與積分可交換。這不是說整個 KL 梯度為零,因為位置那條路還沒算。
位置的 chain rule 會帶出兩個 score。記 、,並使用 ,得到
密度數值不在結果裡,改成兩個 input scores 的差。梯度下降使用負號,因此輸出空間訊號是 target score 減 student score,再由 generator Jacobian 帶回共享參數;並不是每顆樣本都能獨立沿那個向量任意移動。
檢查用 Gaussian 平移確認梯度的正負號
若 clean generator 是 ,target 為 ,加噪後兩側共同 variance 為 ,但學生 mean 是 。KL 是 ,導數為 。兩個 scores 的差是 ,再乘位置對參數的導數 ,正好吻合;下降會把 拉回 。
Student score 不是生成器自己就會給的
固定 teacher 可近似 。另一支 auxiliary score model 則用學生目前生成的資料訓練。在固定 下, 的 conditional score label 是 ,因此可最小化
這又是 denoising score matching:乾淨資料換成 ,kernel label 仍可計算。要避開 的除零端點,並安排適當權重。固定學生時,理想 auxiliary optimum 才是其 marginal score;學生持續更新,auxiliary model 就必須跟著追。
訓練交替做兩件事:先固定生成器,更新 ;再固定兩支 score networks 的參數,用 score 差更新生成器。生成器階段可將 score 差算成停止梯度的向量 ,使用內積 surrogate 產生需要的 pathwise gradient。這個 surrogate 的數值不是 KL 本身。
Yin 等人的 DMD [1] 將 distribution matching 用在少步蒸餾,DMD2 [2] 進一步調整追蹤學生的更新方式。這裡已推得共同的 score-difference 機制;完整 recipe 中的額外 regularization、discriminator 與 weighting,需要按原始實作分開比較。
互動 demo:解析 Gaussian 檢查。 調整起始時間、區間與位置,直接計算本篇的關係;偏差控制是明示的 surrogate,沒有使用預設的品質曲線。
放開配對,也沒有放開評估責任
Distribution matching 不需要逐點 coupling,卻需要估計正確的目標與學生 scores。Auxiliary model 追不上、teacher 在相關區域估偏、或有限生成器與優化限制,都會讓實際更新偏離剛才的理想公式。
Reverse KL 的方向也影響偏好,但不能說「漏掉一個 mode 完全不受罰」。例如 target 有兩個互不重疊、等機率的 modes,學生只保留其中一個並重新正規化,KL 為 ,並不是零。它相較反向 KL 對漏 mode 的處理不同;有限模型可能呈現 mode-seeking,仍要實際檢查 diversity。
展開細節分布匹配不等於永遠需要 teacher
本篇的 VSD/DMD 蒸餾設定用 teacher 提供 target score。更廣泛的 distribution matching 可以直接使用真實資料、adversarial discrepancy 或樣本間的 kernel discrepancy;它不在定義上要求 pretrained diffusion model。反過來,若只匹配 output law,也不自動學到特定 ODE 的逐點 flow map。要比較方法,必須把「學什麼」與「用什麼訊號」分開。
消化一下
參考文獻
主要理論參考:The Principles of Diffusion Models,§10.2,特別是 Proposition 10.2.1 的 score-difference 梯度與交替訓練。正文的符號沿用本課程;方法實作細節再對照下列原始論文。
- Yin et al., One-step Diffusion with Distribution Matching Distillation (CVPR 2024)。
- Yin et al., Improved Distribution Matching Distillation for Fast Image Synthesis (NeurIPS 2024)。
- Wang et al., ProlificDreamer: High-Fidelity and Diverse Text-to-3D Generation with Variational Score Distillation (NeurIPS 2023)。
- Sauer et al., Adversarial Diffusion Distillation (2023)。
- Zhou et al., Inductive Moment Matching (2025)。