U6.5 14 分鐘閱讀 2026年9月

U6.5 多步 CM 的極限:每一步都得回到 x₀

本篇重用M2.0河面上的箭頭:Vector Field 與 ODE·M6.1兩個城市的人口分佈差多少:W₂ 距離

一步不夠,那就兩步

fθf_\theta 訓好了,一步生成是 x^0=fθ(xT,T)\hat x_0=f_\theta(x_T,T)。品質不錯但不完美——fθf_\theta 有逼近誤差,一步之內沒有任何機會修正它。前三個單元的直覺會說:多走幾步。

CM 確實可以多步 [1]。程序是:

  1. xTN(0,T2I)x_T\sim\mathcal N(0,T^2I),跳:x^0fθ(xT,T)\hat x_0\leftarrow f_\theta(x_T,T)
  2. 選一個中間時刻 τ1<T\tau_1<T重新加噪xτ1x^0+τ1z1x_{\tau_1}\leftarrow\hat x_0+\tau_1\,z_1z1N(0,I)z_1\sim\mathcal N(0,I)新抽的噪聲。
  3. 再跳:x^0fθ(xτ1,τ1)\hat x_0\leftarrow f_\theta(x_{\tau_1},\tau_1)
  4. 需要的話再選 τ2<τ1\tau_2<\tau_1,重複 2–3。

兩步(Tx^0xτ1x^0T\to\hat x_0\to x_{\tau_1}\to\hat x_0)在實務上比一步好很多——原文與 iCT 的表格裡,兩步的 FID 常常是一步的一半 [1, 2]。然後就不太動了:三步、四步、八步,增益迅速變小,遠不像 ODE 取樣那樣「步數翻倍、誤差減半」。

課堂提問Q1

ODE 取樣的誤差隨步數 NNO(1/N)O(1/N) 下降(U3.2)。多步 CM 為什麼不是這樣?為什麼第二步幫很多,之後就不再照那個速率改善?

先想一想,再展開看整理後的答案

常見的答案主要有三種:「因為 fθf_\theta 每一步都帶同樣的誤差,多幾步也不會變小」(對,但要說出為什麼ODE 不是這樣)、「因為重新加噪把資訊洗掉了」(對一半)、「因為 CM 沒有 score」(對,這是 U3.1 的語言)。三個都對,而且它們是同一件事的三個面。

第一個面:這不是在離散化任何東西。 ODE 的 NN 步是同一條軌跡NN 段折線,每一段的誤差是 O(h2)O(h^2)、加起來 O(h)O(h),步數越多越貼近那條軌跡——存在一個「連續的極限」被逼近。多步 CM 不是這樣:第一跳落在 x^0\hat x_0,重新加噪後的 xτ1=x^0+τ1z1x_{\tau_1}=\hat x_0+\tau_1z_1 用的是新的噪聲 z1z_1,它與 xTx_T 沒有任何關係。xτ1x_{\tau_1} 不在 xTx_T 那條 PF-ODE 軌跡上,也不在任何一條「原本的」軌跡上——它是從 (x^0,z1)(\hat x_0,z_1) 這組新的、獨立的配對重新出發的一條條件直線上的點。第二跳算的是「經過 xτ1x_{\tau_1} 的那條軌跡的終點」,那是另一條軌跡、另一個終點。所以多步 CM 沒有在逼近任何連續極限;它是一連串各自獨立的「加噪-去噪」,步數再多也不會收斂到什麼。

這正是 U2.3 Q1 的圖:條件直線 x^0+τz\hat x_0+\tau z 與邊際軌跡不是同一條線,它們交叉。每一次重加噪就是畫一條新的、隨機方向的條件直線,然後從它上面的一點沿邊際軌跡走回來——起點與終點的對應每一步都在換。

第二個面:每一跳的誤差都是「滿的」。kk 跳的輸出是 fθ(xτk,τk)f_\theta(x_{\tau_{k}},\tau_k),它的誤差是 fθf_\theta(xτk,τk)(x_{\tau_k},\tau_k) 處的逼近誤差 fθf\|f_\theta-f\|,與 kk 無關、與前面跳過幾次無關。最後一跳決定輸出,而最後一跳的誤差不會因為前面多跳了幾次而變小。那第二步為什麼幫很多?因為 τ1<T\tau_1<Tfθ(,τ1)f_\theta(\cdot,\tau_1) 要跨的距離短、要表達的映射簡單,逼近誤差本來就比 fθ(,T)f_\theta(\cdot,T)U6.1 說過一步跨整條軌跡是最難的)。第二步的增益不是「修正了第一步」,是「換了一個比較容易的問題」。而 τ\tau 不能一路變小——τ\tau 太小時 xτx^0x_\tau\approx\hat x_0fθ(xτ,τ)xτf_\theta(x_\tau,\tau)\approx x_\tau,第二跳幾乎是恆等,第一跳的錯誤原樣保留。所以存在一個最佳的 τ1\tau_1,通常在中段,而第三步以後已經沒有「更容易的問題」可以換了。

第三個面:沒有 score,就沒有拉回。 U3.1 說自我修正是 Langevin 項的功勞:εstdt+2εdW\varepsilon\,s_t\,dt+\sqrt{2\varepsilon}\,dW 把偏離 ptp_t 的樣本往高密度區推,噪聲再把它們攤開,兩者平衡時樣本就落在 ptp_t 上。CM 手上沒有 score——fθf_\theta 是一個確定映射,訓練時從來沒有學過 logpt\nabla\log p_t。重加噪看起來像 Langevin 的噪聲項,但少了配套的 drift;它只是把 x^0\hat x_0 的誤差平移xτ1x_{\tau_1},然後交給另一個同樣有誤差的確定映射。多步 CM 的重加噪是 U3.1 那兩個旋鈕裡的「取樣噪聲」,卻沒有讓它發揮作用的 score。

三個面合起來:多步 CM 的每一步都必須回到 x0x_0、再從 x0x_0 用一組獨立的噪聲重新出發。 回到 x0x_0 是因為 ff 只會跳到終點(它的定義就是 ψtε\psi_{t\to\varepsilon});重新出發是因為沒有別的辦法從 x0x_0 得到一個 t=τt=\tau 的點。這兩件事讓多步 CM 既不是 ODE 的離散化(沒有連續極限)、也不是 SDE 的取樣器(沒有 score)。

所以 U3.2 那個 O(1/N)O(1/N) 的保證在這裡沒有了。它不保證誤差隨步數下降,也不保證持平:Sabour 等人 [4] 對 Gaussian 資料證明,存在一個次佳的 fθf_\theta 使得步數超過某個 NN 之後 W2W_2 上升。換句話說,多步 CM 不一定還保有「多走幾步就更好」這件事——有沒有,要看那個 fθf_\theta

同一個結構問題,三種語言

把這一篇和前兩個單元並排:

連續(本單元)離散時間(U4.3離散連續時間(U5.3
一步做的事fθf_\theta 直接跳到終點一步同時翻開多個 token同上,rate 語言
一步裡假設了什麼這一跳沒有誤差(沒有修正機會)翻開的位置條件獨立同上
想多步時怎麼做回到 x0x_0、重加噪、再跳少翻幾個、多走幾步加一個「回到 [MASK]」的 rate
為什麼多步有限重加噪是獨立配對、無 score、每跳誤差滿的因子化誤差只在翻開的那一步減少remask 要付「重來」的代價

三格說的是同一件事的三個版本:一步生成把「走」壓成「跳」,跳的過程裡沒有中間狀態可以修正;要修正只能「回到起點重來一次」——回到 x0x_0 再加噪、回到 [MASK] 再翻開。remasking 在離散世界至少能靠 U3.1 的旋鈕語言說清楚它的代價;多步 CM 連那個旋鈕都沒有,因為 fθf_\theta 手上沒有 score。

展開細節那 CD 呢?它有 teacher 的 score,能不能拿來做 SDE?

可以,但那已經不是 CM 的取樣器了——那是 teacher 的 SDE 取樣器,CM 只被用來做第一跳的「好起點」。原文的多步 CM 刻意不用 teacher,因為整個動機是取樣時只呼叫 fθf_\theta。而 CT 根本沒有 teacher,logpt\nabla\log p_t 從頭到尾不存在於任何網路裡。所以「多步 CM 沒有修正」不是實作上的疏忽,是這個物件的定義使然:f=ψtεf=\psi_{t\to\varepsilon} 只知道終點,不知道密度。

收在問題上

這個單元從「不走了,直接學那一步」出發,得到一個能一步生成、也能從任何 tt 一步到底的 fθf_\theta。它的極限也很清楚:ff 只會跳到 ε\varepsilon。所以想多步,就必須回到乾淨端、重新加噪、再從一個與原軌跡無關的點出發——每一次重來都是一次獨立配對的交叉,沒有連續極限、沒有 score、沒有修正。

如果 ff 不只會跳到 ε\varepsilon,而是能從 tt 直接跳到任何中間的 ss——不回到終點、不重新加噪、留在同一條軌跡上——多步就會變回「同一條路的幾段」,ODE 那種「步數增加、誤差下降」的結構就回來了。這樣一個雙時間的映射要滿足什麼條件、怎麼訓,是下一個單元的起點。這個單元在這裡停住,不給解法。

先消化一下

想一想

多步 CM 的第二跳起點 xτ1=x^0+τ1z1x_{\tau_1}=\hat x_0+\tau_1z_1z1z_1 新抽)。關於這個點,正確的敘述是:

想一想

兩步 CM 明顯比一步好,最主要的原因是:

想一想

若把 fθf_\theta 換成真值 ff,多步 CM 的輸出分佈:

想一想

本篇把多步 CM、因子化誤差、remasking 放在同一張表裡,共同的結構是:

參考文獻

  1. Song, Y., Dhariwal, P., Chen, M., Sutskever, I. Consistency Models. ICML 2023.(多步取樣程序;一步 vs 兩步的結果。)
  2. Song, Y., Dhariwal, P. Improved Techniques for Training Consistency Models. ICLR 2024.(一步與兩步的 FID 對照。)
  3. Liu, X., Gong, C., Liu, Q. Flow Straight and Fast. ICLR 2023.(ODE 誘導的配對不交叉,與重加噪的獨立配對對照。)
  4. Sabour, A., Fidler, S., Kreis, K. Align Your Flow: Scaling Continuous-Time Flow Map Distillation. 2025.(Theorem 3.1:對 Gaussian 資料,存在次佳的 consistency model 使得步數變多之後 W2W_2 上升。)