U7.5 統一表與選擇指南
沿哪四個軸排這張表
兩個單元看了十來個方法。它們不是十來個獨立的點子,而是在幾個獨立的選擇上各取一格。把選擇攤開:
軸一:學什麼。 速度場 (一步是 Euler,多步才準);終點 (consistency 家族,一步準、多步要回終點);一般的 flow map 或平均速度(一步與多步都是合法路徑);分佈(學生是一步生成器,訓練訊號在分佈層面,多步要另外設計)。
軸二:要不要 teacher。 U7.1 的判準:速度場是否只在我們自己造的點上被需要。不要 teacher 的方法能從頭訓練,代價是要靠條件→邊際的代換與 bootstrapping。
軸三:能否多步、多步的路合不合法。 「合法」指不需要回到終點重新加噪——U6.5 說過重新加噪就是新的獨立配對。
軸四:誤差從哪裡來。 這是最值得記的一軸,因為每一種都對應前幾個單元的一個工具:
- 曲率 bias:目標假設某一段軌跡是直線。consistency training 的 項(U6.3),Euler 取樣的每一步(U3.2)。連續時間版本把它消掉。
- 累積:小步的誤差被帶到大步。progressive distillation 的逐輪(U6.1)、Shortcut 的階梯、reflow 的多輪(U3.3)、多步 ODE 取樣的逐步累積。
- 交叉平均:squared loss 回歸多值目標,輸出落在平均。U2.3 Q1 的交叉,在蒸餾裡是模糊(U7.4 Q1)。
- score 估計:訓練訊號依賴一個要即時估計的 score。DMD 的 ,以及任何 SDE 取樣器對 score 精度的依賴(U3.1)。
第五種——網路本身的近似誤差——每個方法都有,不列入表中;表只列方法結構上帶來的誤差。
每個方法住在哪一格
把兩個單元的方法沿上面那四個軸排開,每一列就是四個選擇的一組組合。
| 方法 | 學什麼 | 訓練訊號 | teacher | 多步 | 結構性誤差 |
|---|---|---|---|---|---|
| Flow matching(U2.2) | 速度 | 回歸 | 否 | 必須多步 | 曲率(Euler)、累積 |
| Reflow(U3.3) | 速度(新配對) | 回歸 | 上一輪的自己 | 少步 | 累積(逐輪)、多樣性 |
| Progressive distillation(U6.1) | 離散步的 flow map | 回歸 | 是 | 固定步數 | 累積(逐輪) |
| Consistency distillation(U6.3) | 終點 | 回歸 | 是 | 要重加噪 | teacher 誤差、Euler 曲率誤差 |
| Consistency training(U6.3) | 終點 | 回歸 | 否 | 要重加噪 | 曲率 bias 、條件目標的 variance、Jensen gap;網格太粗時另加交叉平均 |
| sCM(U6.4) | 終點 | 回歸 | 否 | 要重加噪 | bootstrapping( 的數值行為) |
| CTM(U7.0) | flow map | 回歸 | 是 | 合法 | teacher solver 的離散誤差 |
| MeanFlow(U7.2) | 平均速度 | 回歸 | 否 | 合法 | bootstrapping() |
| Shortcut(U7.3) | 平均速度(離散 ) | 回歸 | 否 | 合法, 在網格上 | 累積(階梯)、底層 FM 的曲率 |
| Align Your Flow(U7.3) | flow map | 回歸 | 是 | 合法 | teacher 誤差 |
| DMD / DMD2(U7.4) | 分佈(一步生成器) | 分佈匹配 | 是 | 另外設計 | score 估計、mode collapse |
| IMM(U7.4 延伸) | flow map | 分佈匹配(moment) | 否 | 合法 | 分佈距離的估計 |
讀表時有兩個對角線值得注意。第一,「不要 teacher」與「沒有曲率 bias」在早期方法上不能兼得(CT 有 bias、CD 要 teacher),連續時間的 sCM 與 MeanFlow 把這個矛盾解掉——靠的是 JVP 換掉差分。第二,「回歸」與「交叉平均」幾乎總是一起出現;要擺脫交叉平均,目前唯一的辦法是換訓練訊號(分佈匹配),而那會把 score 估計的問題請進來。沒有一格是全綠的。
怎麼選
把表翻成幾個問題:
手上有沒有訓好的 teacher? 沒有——走從頭訓練那幾列:MeanFlow(任意 、要 JVP)、Shortcut(不要 JVP、步長在網格上)、sCM(只要一步)。有——多了三條路:distillation 版的 flow map(CTM、AYF,一步與多步都合法)、DMD 家族(一步品質通常最好,但要訓第二個網路),或者最便宜的 progressive distillation。
要一步還是幾步? 只要一步——consistency 家族與 DMD 都夠。要「一步能用、四步更好」——選學 flow map 的那幾列(CTM、MeanFlow、Shortcut、AYF),因為它們的多步是合法路徑;consistency 家族多步要重加噪,多走幾步不保證更好。
最怕哪一種錯? 怕模糊、怕細節被平均掉——分佈匹配。怕訓練不穩、怕 mode collapse、沒有人力調第二個網路——回歸式。這是 U7.4 Q1 的兩個失敗模式反過來讀。
算力在哪一邊? JVP 讓每步訓練多一次前向;DMD 的 fake denoiser 讓每步多一整個網路的更新;progressive distillation 與 CTM 要 teacher 在訓練時跑 solver。取樣端則所有方法都是一到幾次前向,差別不大。
最後一件事值得說清楚:這張表上的每一列都建在前幾個單元的物件上。 訓練訊號來自 U1.2 的 conditional trick(U5.2 有一張把它各個版本列齊的表),誤差的分類來自 U3.2 的曲率與 U2.3 的交叉,「多步是否合法」來自 U7.0 的半群條件——學的物件本身能不能從任意 走到任意 。一個新方法出現時,先問它在四個軸上各取哪一格、主要在對付哪一種誤差——通常三分鐘就能把它放進表裡。
課堂提問Q1
表上「結構性誤差」那一欄有一個名詞出現得特別頻繁:交叉平均。但它並不是每一列都有——CD、sCM、MeanFlow 那幾列就沒有。
一個方法什麼時候會吃到交叉平均,什麼時候不會?
先想一想,再展開看整理後的答案
判準只有一句:回歸的目標,在給定輸入之後是不是唯一的。
squared loss 的最小值是條件期望(U1.3)。目標唯一,回歸就學到它;目標多值,回歸就學到那些值的平均——那個平均通常不是任何一個合法的答案,這就是 U2.3 Q1 的交叉在蒸餾裡的樣子(U7.4 展開過)。
逐列看:
- CD:teacher 是 ODE,一個 對到一條軌跡、一個終點。目標唯一,沒有交叉平均——U6.0 正是拿這件事當「回歸不會糊」的範例。它的誤差是 teacher 本身的誤差加上 Euler 一步的曲率誤差。
- CT:目標是同一條件直線上往前一格的點經過 ,對同一個 而言它隨 變——是多值的。但這個多值是刻意的,U6.3 證明它的後驗平均恰好是對的那一步,所以它是 variance 不是 bias。只有當時間網格粗到目標退化成「 對到哪個 」時,平均掉的才變成終點本身——那時才真的糊。
- sCM/MeanFlow:條件速度線性進入目標,期望精確(U6.4、U7.2 Q1)。連 CT 那個 Jensen gap 都沒有,更不會有交叉平均。它們付的是另一種代價:bootstrapping。
- Reflow:目標唯一(上一輪模型的 ODE 解),但那個解本身帶著上一輪的誤差,所以問題是累積與多樣性,不是平均。
所以「交叉平均」不是一個籠統的壞名聲,它有一個很窄的觸發條件。看到一個新方法時,先問:它的回歸目標,給定輸入之後唯一嗎? 不唯一的話,那個多值是像 CT 那樣會被正確平均掉的,還是像 SDE teacher 那樣會把終點平均掉的?
往應用
到這裡,這門課的「方法」部分結束了:從 U1.0 把生成翻成學一個映射,到本單元把那個映射學成一步。往後的內容換成問「這些工具拿去做什麼」:影像編輯與可控生成靠的是 U3.5 的 guidance 與這兩個單元的少步取樣器;影片與蛋白質結構把 U2、U4 的連續與離散框架合在一個模型裡;機器人策略把 flow map 當成一步就能算的動作生成器。那些篇章不再引入新的數學物件,只是把這張表上的格子拿去用。
先消化一下
參考文獻
- Boffi, N. M., Albergo, M. S., Vanden-Eijnden, E. Flow Map Matching. 2024.(三條恆等式的分類,本表「訓練訊號」欄的骨架。)
- Geng, Z., Deng, M., Bai, X., Kolter, J. Z., He, K. Mean Flows for One-step Generative Modeling. 2025.
- Yin, T. et al. Improved Distribution Matching Distillation for Fast Image Synthesis. NeurIPS 2024.(分佈匹配那一列的多步版本。)