本篇重用M4.2電話隨時會響:Continuous-Time Markov Chain 與 Rate Matrix·M1.1從鞋子猜身高:Conditional Expectation·M2.2站內人數變化 = 進 − 出:Continuity Equation
兩個字之間沒有中點。
那 flow matching 的「條件路徑」在離散空間裡是什麼?
換一個起點
到目前為止,反向過程都是「先定 forward chain,再把它倒過來」——U4.1 倒 posterior、U5.2 倒 rate。U2 在連續世界做過另一件事:不從 forward SDE 出發,直接寫下每一對端點之間的條件路徑,微分得到條件速度,再證明邊際速度是條件速度的後驗平均。那個建構把「路徑」的設計權從 Gaussian noise 手上拿回來。
離散世界能不能做同一件事?可以,而且做完會發現:x1 取全 [MASK] 就是 absorbing、取均勻隨機字就是 uniform,兩條鏈變成同一個框架的兩個特例;更重要的是,它讓 U2.0 說的「起點可以不是噪聲」在離散世界也成立。這就是 discrete flow matching(DFM),Gat et al. [1] 與 Campbell et al. [2] 在 2024 年各自提出。
符號這一篇的時間方向和論文原文相反
本單元和上一個單元一樣:t=0 是資料、t=1 是噪聲,所以下面 x0∼pdata、x1∼pnoise。Gat et al. [1] 的原文把 source 放在 t=0、資料放在 t=1——式子長得一模一樣,只是 x0 與 x1 的角色互換,讀論文時對照即可。
另外 κt 和前兩篇的 αt 是互補的:κt 是「已經變成 x1 的機率」、αt 是「還是原字的機率」,所以 κt=1−αt。代進式子的時候不要記錯方向。
一個 token 怎麼從噪聲走到資料
先看一個 token。給定端點 (x0,x1)(兩個字),連續世界的直線插值 (1−t)x0+tx1 在這裡沒有意義——兩個字之間沒有中點。但機率可以插值:
pt(x∣x0,x1)=(1−κt)δx0(x)+κtδx1(x),κ0=0, κ1=1, κt 單調遞增.
δx0 是集中在 x0 的 one-hot 分佈。讀法:在時刻 t,這個 token 以機率 1−κt 還是 x0、以機率 κt 已經變成 x1,沒有第三種可能。畫面是一枚只翻一次的硬幣:token 從 x0 出發,在某個隨機時刻跳到 x1,之後不再動;κt 是「到 t 為止已經跳了」的機率。
整句 L 個 token 各自獨立地做這件事,pt(x∣x0,x1)=∏ℓpt(xℓ∣x0ℓ,x1ℓ)。
它就是上一個單元的兩條鏈。 取 κt=1−αt:
- x1= 全
[MASK](一個確定的狀態):token 以機率 αt 是原字、1−αt 是 [MASK]——absorbing 的 Qˉt。
- x1∼ 每個位置獨立均勻:token 以機率 αt 是原字、1−αt 是均勻隨機字——uniform 的 Qˉt。
U4.1 那句「Qˉt=αˉtI+(1−αˉt)×終點」在這裡變成定義本身。而 x1 也可以是別的東西:一個混合(一部分位置 mask、一部分均勻)、或者根本不是噪聲——是另一個分佈的樣本。
條件 rate:一行
條件路徑要由一條 CTMC 生成,它的 rate 是什麼?forward 方向(x0→x1)token 只有一種跳法:從 x0 跳到 x1(若 x0=x1)。「還沒跳」的機率是 1−κt,它的衰減率就是 rate 乘上自己:dtd(1−κt)=−rate⋅(1−κt),所以
Rt(x0→x1∣x0,x1)=1−κtκ˙t.
代 κt=1−αt 得 −α˙t/αt=βt,正是 U5.1 算出的 forward rate。✓
生成方向(從 x1 回到 x0,時間往回走)也只有一種跳法:從 x1 跳回 x0。往回走時「還在 x1」的機率是 κt,它隨往回走的時間衰減的速率是 κ˙t,所以
Rˉt(x1→x0∣x0,x1)=κtκ˙t.
代 absorbing:1−αt−α˙t——U5.3 的 ut。✓ 兩個方向都不需要任何網路,是端點決定的常數(對 t 的函數)。這對應 U2.2 的「條件速度好算到不需要網路」。
互動 demo:一個 token 的條件路徑。 六根柱子是六個位置,下半是起點的字(高度 1−κt)、上半是終點的字(高度 κt);拖 t,質量就從下半流到上半,而且六根完全同步——條件路徑是逐 token 各自獨立的。按「抽一條軌跡」,每個位置各抽一個跳躍時刻,同一個 t 之下就有些跳了、有些還沒,而且每個位置只跳一次,這就是條件路徑的全部內容。下方兩條 rate 把兩端的發散畫出來:κt=t 時,t=0.1 的 forward rate 是 1.11、生成 rate 是 10.00,t=0.9 剛好反過來(10.00 / 1.11)——實作上兩端都要 clamp。換成 κt=1−cos(πt/2),同一個 t=0.4 的 κ 從 0.400 變成 0.191、生成 rate 從 2.50 變成 4.83。把起點按鈕換到「另一句話」,這個框架就直接是序列到序列,一個 [MASK] 都不需要。
條件目標平均起來,還是對的嗎?
現在對端點取平均。(x0,x1)∼π(暫時獨立:π=pdata⊗pnoise),邊際
pt(x)=x0,x1∑pt(x∣x0,x1)π(x0,x1),Rˉt(x→y):=E[Rˉt(x→y∣x0,x1) xt=x].
敘述。 若每組 (x0,x1) 的條件 rate Rˉt(⋅∣x0,x1) 生成條件路徑 pt(⋅∣x0,x1),則上面定義的 Rˉt 生成邊際路徑 pt。
證明。 forward equation 對 p 是線性的。對每組 (x0,x1) 有 p˙t(y∣x0,x1)=∑xpt(x∣x0,x1)Rˉt(x→y∣x0,x1)(生成方向的時間;符號按方向調整)。兩邊乘 π(x0,x1)、對端點求和:
p˙t(y)=x∑x0,x1∑pt(x∣x0,x1)π(x0,x1)Rˉt(x→y∣x0,x1)=x∑pt(x)= Rˉt(x→y)x0,x1∑pt(x)pt(x∣x0,x1)π(x0,x1)Rˉt(x→y∣x0,x1).
最後一步用了 Rˉt 的定義。□
把它和 U2.2 定理 1 的證明並排:那裡是「continuity equation 對 p 線性 → 對 z 積分 → 用 ut 的定義」;這裡是「forward equation 對 p 線性 → 對 (x0,x1) 求和 → 用 Rˉt 的定義」。逐字相同,只換了方程式。 還要順手檢查一件連續版不用檢查的事:後驗平均出來的 Rˉt 是不是合法的 rate matrix?是——非對角是非負數的平均,仍非負;列和是零的平均,仍為零。
展開細節訓練目標:定理 2 的離散版,以及為什麼最後還是 cross-entropy
連續版的定理 2 說:用條件速度當 MSE 目標,梯度與用邊際速度相同。離散版要學的是 Rˉt(x→y),而條件 rate 的形狀很特別:對 mask source,Rˉt(x→y∣x0,x1)=κtκ˙t1[y=x(ℓ→x0ℓ)]——「位置 ℓ 被遮時,以 rate κ˙t/κt 跳回 x0ℓ」。對這個指示函數取後驗平均:
Rˉt(x→x(ℓ→v))=κtκ˙tp(x0ℓ=v xt=x).邊際 rate 完全由 x0 的逐位置 posterior 決定,而 posterior 的自然回歸 loss 是 cross-entropy——與 U4.2 相同(Gat et al. 稱之為 probability denoiser)。所以離散版「定理 2」的內容是:用 x0ℓ 當 cross-entropy 的目標,網路收斂到 p(x0ℓ∣xt),代進上式就是邊際 rate。 論證仍是 tower property:cross-entropy 的最小值是條件分佈,就像 MSE 的最小值是條件期望。
對一般的 source(例如均勻),條件 rate 是 κtκ˙t1[xℓ=x1ℓ]1[v=x0ℓ],後驗平均後是 κtκ˙tp(x0ℓ=v, x1ℓ=xℓ∣xt=x)——多了一個「xtℓ 是不是還是噪聲字」的判斷,這正是 U4.4 說 uniform 的 context 不乾淨的地方,現在它是式子裡的一個 joint posterior。
這個框架多給了什麼
把 absorbing 與 uniform 寫成同一個式子的兩個特例,本身只是整理。DFM 真正多出來的是三件事:
- source 任意。 x1 不必是噪聲。U2.0 說 FM 的動機之一是「從分佈 A 生成分佈 B」;DFM 讓它在 token 上成立——source 可以是一句翻譯的原文、一段要修補的程式、一張圖的 token。
- schedule 與 source 可以逐位置不同。 每個位置有自己的 κtℓ、自己的 source 分佈——例如一部分位置走 mask、一部分走 uniform 的混合路徑(Gat et al. 的實驗顯示這種混合對某些任務有幫助)。
- 取樣器的 stochasticity。 上一篇說的 η(Campbell et al.)與 corrector(Gat et al.):在生成 rate 上加一對流量相反的管子,邊際不變。
第 1 點把我們帶到 U2.3 遺留的旋鈕。
課堂提問Q1
U3.0 說 stochastic interpolant 上有三個可以轉的東西:路徑、配對、γt。路徑在這裡是 κt;γt 沒有在這裡出現——條件路徑只是 x0 與 x1 兩點的混合,沒有第三個獨立抽的噪聲項。(上一篇的 σt 不是 γt。 那是取樣時注入的噪聲,也就是 U3.1 的第五個旋鈕;γt 是訓練時的路徑寬度,U3.0 特別把兩者分開過。)配對 π(x0,x1) 呢?在離散空間裡,把獨立配對換成別的配對,還有 U3.4 那種「拉直軌跡」的意義嗎?
先想一想,再展開看整理後的答案
常見的答案分三類:「有,用 Hamming 距離做 OT 配對」、「沒有,因為離散空間沒有直線」、「要看 source 是什麼」。第三類是對的起點。
mask source:沒有東西可以配對。 x1 是全 [MASK],一個確定的狀態。π 只能是 pdata⊗δall-mask,配對旋鈕根本不存在。這是 absorbing 鏈的另一個乾淨之處。
uniform source:可以配對,但拉直的意義沒了。 連續世界裡配對之所以重要,是 U2.3 Q1 那條鏈:獨立配對 → 條件直線交叉 → 邊際速度是交叉處的平均 → 軌跡彎 → Euler 有限步誤差大;OT 配對讓直線不交叉、軌跡變直、∫∥x¨∥dt 變小。離散世界裡這條鏈的每一環都換了東西:條件路徑不是直線而是「每個 token 跳一次」;「交叉」沒有定義(沒有 ODE 軌跡,只有跳躍);有限步誤差的來源不是曲率而是 U4.3 的因子化——一步內同時跳的多個位置被獨立抽。而因子化誤差取決於給定 xt 下各位置之間的條件相依,這是資料分佈本身的性質;換配對改變的是「哪個噪聲配哪個資料」,改不了資料裡「牛肉」和「麵」的相依。所以「配對 → 拉直 → 少步」這條路在離散世界沒有對應。
(有一個粗糙的類比:用 Hamming 距離把 x0 配給「和它重疊最多」的 x1,需要跳的 token 變少,每步同時跳的位置也少一點。但這同時讓噪聲字帶有 x0 的資訊——「還是原字」與「噪聲剛好等於原字」不再可分——沒有像 OT 配對那樣的定理支持它是好事,而且就我所知也沒有像 minibatch OT 那樣的系統性研究。這裡只當一個提示,不當結論。)
配對真正留下的意義:對齊。 當 source 不是噪聲而是另一個分佈時,π 是成對資料——原文與譯文、草稿與修訂、一張圖的 caption 與 token。這時 π 不是為了拉直而選的,是任務本身給的:它告訴模型「這個 x1 該變成哪個 x0」。U2.0 說 FM 拿回了路徑設計權、可以做 A→B;DFM 把同一件事帶到 token 上,而配對是 A→B 裡「哪個 A 對哪個 B」的那個資訊。Campbell et al. [2] 的 protein co-design 就是這種用法的例子:結構(連續、用 FM)與序列(離散、用 DFM)成對生成,兩條路徑共用一個網路。
所以答案是:拉直的意義消失,對齊的意義留下。 U2.3 Q1 的「交叉」在離散世界的化身是因子化誤差,而它不歸配對管,歸「每步翻開幾個」與 U5.3 的取樣器管。
先消化一下
參考文獻
- Gat, I., Remez, T., Shaul, N., Kreuk, F., Chen, R. T. Q., Synnaeve, G., Adi, Y., Lipman, Y. Discrete Flow Matching. NeurIPS 2024.(逐 token 條件路徑、probability denoiser、混合 source、corrector sampling。)
- Campbell, A., Yim, J., Barzilay, R., Rainforth, T., Jaakkola, T. Generative Flows on Discrete State-Spaces: Enabling Multimodal Flows and Applications to Protein Co-Design. ICML 2024.(CTMC 版的 flow matching、stochasticity η、連續與離散共用框架。)
- Lipman, Y., Chen, R. T. Q., Ben-Hamu, H., Nickel, M., Le, M. Flow Matching for Generative Modeling. ICLR 2023.(連續版定理 1、2。)
- Sahoo, S. S. et al. Simple and Effective Masked Diffusion Language Models. NeurIPS 2024.(mask source 下 DFM 與 MDLM 的等價。)
- Tong, A., Fatras, K., Malkin, N., Huguet, G., Zhang, Y., Rector-Brooks, J., Wolf, G., Bengio, Y. Improving and Generalizing Flow-Based Generative Models with Minibatch Optimal Transport. TMLR 2024.(連續世界的配對旋鈕,Q1 的對照。)