這項由香港科技大學數學系主導的研究發表於2026年ICLR部落格論文賽道(arXiv編號:2604.10465),對目前最前沿的圖像生成技術——擴散模型——給出了一套全新的、從朗之萬動力學視角出發的統一理解框架。有興趣深入閱讀的讀者可以通過arXiv編號2604.10465查閱完整論文。
---
**一條貫穿始終的故事線:魔鏡與倒影**
假設你手邊有一面神奇的鏡子,它具備這樣一種性質:你把一張照片放進去,鏡子會把它"折騰"一番,經過一系列隨機擾動,最終還給你一張看起來和原照片屬於同一個"風格世界"的全新照片。這面鏡子不複製原圖,但輸出的結果和輸入的結果屬於同一個"照片宇宙"——專業語境下說,它們服從同一個概率分布。
這面鏡子,就是"朗之萬動力學"(Langevin Dynamics)。而整篇論文要做的事情,就是告訴你:我們耳熟能詳的那些圖像生成模型——無論是DDPM、VE模型,還是最近大熱的Flow Matching——其實都是把這面鏡子"拆成兩半"來用的。一半叫"加噪",一半叫"去噪",合在一起,就還原了那面神奇的鏡子。
這個視角不只是比喻,它背後有嚴格的數學。更重要的是,它能以極其簡潔的方式回答那些困擾了許多學習者的根本性問題:去噪過程是怎麼把噪聲"變回"圖片的?為什麼擴散模型比普通VAE理論上更強?Flow Matching為什麼不比去噪匹配更本質上簡單?帶著這些問題,我們沿著這面鏡子的故事一路走下去。
---
一、朗之萬動力學:那面"不改變世界、只換一張臉"的鏡子
要理解擴散模型,得先認識這面鏡子的工作原理。朗之萬動力學是物理學家朗之萬在1908年提出的一個描述布朗運動的方程,後來被統計學家和機器學習研究者借用來做"從複雜分布中抽樣"這件事。
它的核心公式寫出來是這個樣子:每一小步的位移,等於"得分函數乘以一個正數"加上"一個微小的隨機擾動"。得分函數(Score Function)是目標分布的對數密度關於位置的梯度,直觀理解就是"沿著概率更高的方向走"。隨機擾動項就像你在走路時地面微微顫動,讓你不會被卡在某一個局部高點。
這個過程有一個漂亮的性質:無論你從哪裡出發,只要走得足夠久,你最終所在的位置的概率分布,就會收斂到目標分布。更精妙的是,如果你一開始就已經站在目標分布中的某個點,那麼經過朗之萬動力學的一步或多步之後,你仍然處於同一個分布中——只不過換了一個具體的位置。
這就是"恆等操作"的含義:朗之萬動力學不改變分布,只是在分布內部重新採樣。用鏡子的比喻來說,你放進去一張照片,它折騰完出來的還是屬於"同一個照片宇宙"的照片。
這個簡單的性質,是整個論文的邏輯支點。
然而,朗之萬動力學在實際使用中有一個致命的弱點:它只在靠近真實數據的地方工作得好。得分函數是從真實數據中學出來的,在真實數據附近估計得準確,但在遠離數據的地方(比如純隨機噪聲那裡)估計得很差。而圖像生成恰恰需要從一片純噪聲出發,所以直接用朗之萬動力學來生成圖片,效果會很糟糕——因為起點離真實數據太遠,得分函數根本不可靠。
---
二、把鏡子拆成兩半:加噪與去噪的誕生
既然朗之萬動力學不能直接從純噪聲生成圖片,人們就想了一個迂迴的辦法。
首先出現的是一個叫"退火朗之萬動力學"的方案。它的思路是:不要只用一個朗之萬採樣器,而是訓練一整套採樣器,每個對應不同的噪聲程度。先從純噪聲開始,用對應高噪聲的採樣器運行幾步,然後切換到低噪聲的採樣器,再運行幾步……像下樓梯一樣,一步步從噪聲走向數據。這個思路的關鍵在於:在每個噪聲程度下,採樣器都工作在它最擅長的區域,因此每一步都靠譜。
擴散模型把這個思路推向了極致:把訓練和生成完全分開,用一個連續的過程描述從數據到噪聲的加噪軌跡(前向過程),以及從噪聲到數據的去噪軌跡(逆向過程)。
論文的核心洞察在這裡變得清晰:前向過程和逆向過程,正是一步朗之萬動力學被拆成了兩半。
以最經典的VP(方差保持)模型為例,朗之萬動力學的完整公式可以被拆分為兩個部分。第一部分,是對當前位置施加一個向原點拉拽的力,同時注入一些隨機噪聲——這正是VP模型的前向加噪過程,它會把數據逐漸推向一個標準高斯分布。第二部分,是一個反向的校正力加上另一些隨機噪聲——這就是逆向去噪過程,它負責把噪聲一步步拉回數據分布。
論文裡的一張核心示意圖清晰地呈現了這個結構:朗之萬動力學像一個頂點,前向過程是從數據分布走向噪聲分布的斜坡,逆向過程是從噪聲分布走回數據分布的斜坡,兩段斜坡合在一起,正好構成了那面"恆等"的魔鏡。
這個拆分方式直接回答了很多初學者最困惑的問題:**逆向過程是怎麼知道如何"反轉"前向過程的?**答案非常直接——逆向過程之所以能反轉前向過程,是因為兩者合在一起構成了一個朗之萬動力學步驟,而朗之萬動力學本身就是分布的恆等操作。前向走一步,逆向走一步,淨效果是零——分布沒有變化。
這裡還有一個微妙但重要的技術細節:前向過程里的隨機噪聲項,實際上被拆成了兩個獨立的高斯隨機增量,一份給了前向過程,一份給了逆向過程。這在數學上是允許的,因為兩個方差各為1的獨立高斯變量相加,結果是一個方差為2的高斯變量,正好對應朗之萬動力學中的噪聲強度。
---
三、同一個世界裡的三種語言:VP、VE與Flow Matching的互譯手冊
在實際的深度學習研究中,不同團隊用了不同的方式來描述這個前向加噪過程,於是誕生了看起來完全不同的三類模型。
第一種是VP模型(方差保持),在著名的DDPM中使用。它的前向過程像一個彈簧振子:隨著時間推進,樣本會被"拉向原點",同時注入噪聲,最終樣本的均值趨向零、方差趨向一,收斂到標準高斯分布。數學上,這對應Ornstein-Uhlenbeck過程,t時刻的樣本等於原始數據乘以一個衰減因子,加上噪聲乘以一個增長因子。
第二種是VE模型(方差爆炸),由Karras等人的工作推廣使用。它的前向過程沒有向原點拉拽的力,只是不斷往數據上疊加越來越大的噪聲,樣本的均值保持不變,但方差越來越大,像一個氣球被越吹越大。Karras記法下,σ時刻的樣本直接等於原始數據加上標準差為σ的高斯噪聲。
第三種是Rectified Flow(修正流),近年來在Flow Matching領域大受歡迎。它的前向過程看起來最簡潔:s時刻的樣本等於原始數據乘以(1-s)加上純噪聲乘以s,也就是數據和噪聲之間的線性插值。當s從0走到1,樣本從原始數據線性過渡到純噪聲,軌跡在單點情況下是一條直線。
表面上,這三種模型看起來完全不同。但論文給出了一張清晰的轉換表,告訴你如何從任意一種參數化轉換到另一種。例如,VP模型中的(x_t, α_t),可以通過簡單的代數運算轉換為VE模型中的(z_σ, σ),也可以轉換為Rectified Flow中的(r_s, s)。
這張轉換表的存在意味著:這三種模型描述的其實是同一個物理過程,只不過用了不同的坐標系來度量時間和狀態。就像同一段音樂,用簡譜、五線譜或吉他六線譜來表示,記法不同,但音樂本身是一樣的。
既然前向過程可以互譯,逆向過程自然也可以互譯。論文同樣給出了各模型逆向過程的完整公式,以及它們與得分函數之間的關係。VP-SDE的逆向過程是帶隨機項的隨機微分方程,VP-ODE的逆向過程是不帶隨機項的常微分方程,VE-Karras的逆向過程用噪聲預測來表示,Rectified Flow的逆向過程用速度場來表示。但本質上,這些"噪聲預測"、"速度場"、"得分函數"都是同一個數學對象的不同寫法,彼此之間有精確的代數轉換關係。
這裡值得專門說一說Rectified Flow引發的一個常見誤解。很多人看到"數據和噪聲之間的線性插值",會覺得它比其他方法簡單——畢竟直線比曲線簡單。但論文指出,這個直線的特性只在單點設置下成立。對於真實的、複雜的數據分布,每個位置的速度場都不同,逆向軌跡實際上是彎曲的。而且,Flow Matching預測的速度場,和得分匹配預測的噪聲,在數學上是完全等價的——它們只是同一個量的不同表達。Rectified Flow可能在實踐中有"軌跡曲率相對較小"的優勢,但這是一個程度上的差異,而不是本質上的簡化。
---
四、前向與逆向的深層對稱:為什麼擴散模型比普通VAE更強
理解了前向和逆向過程如何互為"鏡像"之後,我們可以揭開擴散模型一個更深刻的性質:它在理論上保證了完美的生成質量。
論文從"前向-逆向對偶性"的角度來解釋這一點。用前面建立的框架來說,前向過程把數據分布p_0逐漸演化為噪聲分布p_T。逆向過程從p_T出發,一步步倒回去。如果我們把逆向過程的初始分布設為q_0 = p_T(即從真正的噪聲分布出發),那麼逆向過程在任意時刻t'的分布,正好等於前向過程在對稱時刻(T - t')的分布。換句話說,逆向過程走完全程T步之後,得到的分布恰好就是原始數據分布p_0。
這不是近似,而是精確等式——在理論完美的情況下。
這個性質為什麼重要?對比一下普通的VAE(變分自編碼器)。VAE的編碼器負責把數據壓縮成隱變量,解碼器負責從隱變量恢復數據。但VAE的編碼器和解碼器之間沒有這種"精確對偶"關係——解碼器只是被訓練成"儘可能接近"編碼器的反操作,而不是精確的反操作。即使ELBO(證據下界)被優化到極致,VAE生成的數據分布也未必等於真實數據分布,因為ELBO本身就包含一些近似。
擴散模型通過朗之萬動力學的恆等性質,從根本上保證了前向和逆向過程的完美對稱。當然,實際訓練中用神經網路來近似得分函數會引入誤差,但理論上的目標是完美的——這比VAE的理論目標更強。
這就是為什麼擴散模型在理論上優於普通VAE:不是因為網路更大或訓練技巧更好,而是因為它的數學架構建立在一個更精確的對稱性之上。
---
五、用最大似然統一所有訓練目標:得分匹配、去噪匹配與Flow Matching的共同根源
現在我們知道了擴散模型的前向和逆向過程是什麼,但還有一個問題:怎麼訓練?用什麼損失函數?
論文從最大似然估計出發,推導出一個統一的訓練目標,並說明不同模型類型的訓練損失只是這個目標的不同寫法。
出發點是KL散度(一種衡量兩個概率分布差異的指標)。訓練的目標是讓模型生成的分布q_0儘可能接近真實數據分布p_0,也就是最小化KL(p_0 || q_0)。但在擴散模型中,直接優化這個量很困難,因為p_0和q_0都很複雜。
論文的關鍵一步是把這個時刻0處的KL散度,改寫成對所有時刻t的"瞬時貢獻"的積分。具體來說,KL(p_0 || q_0)等於負的"KL散度對時間的導數"在0到無窮大上的積分。這是因為當t趨向無窮時,p_t和q_t都收斂到同一個高斯噪聲分布,KL散度趨向零。
接下來,論文利用Fokker-Planck方程(描述隨機過程中概率密度如何隨時間演化的方程)來計算KL散度對時間的導數。計算結果非常優美:在Fokker-Planck方程的漂移項(確定性部分)中,KL散度的變化率為零——也就是說,漂移項不改變KL散度。只有擴散項(隨機噪聲部分)會降低KL散度,而且降低的速率恰好等於"真實得分函數與模型得分函數之差的平方在p_t下的期望"乘以一個係數。
這個結果的意義非常深刻:最大化似然等價於在每個時刻t,最小化模型得分函數與真實得分函數之差的加權平方誤差。這就是得分匹配(Score Matching)損失的來源。
但等等,真實得分函數?log p_t(x_t)我們不知道啊?這就是去噪得分匹配(Denoising Score Matching)的用武之地。論文在附錄中證明了一個關鍵定理:在前向過程產生的條件分布p_t(x_t|x_0)下,用條件得分函數?log p_t(x_t|x_0)來代替邊際得分函數?log p_t(x_t),兩者的最小化點是完全相同的。換句話說,我們只需要最小化"模型得分"與"條件得分"之差的平方期望——而條件得分是已知的,因為p_t(x_t|x_0)是一個高斯分布,其得分有解析表達式。
這個結論打通了理論與實踐的障礙:我們可以從訓練數據中隨機抽取一個乾淨樣本x_0,然後按照前向過程加一點噪聲得到x_t,然後計算條件得分(也就是x_t和x_0之間關係的一個函數),然後讓神經網路去擬合這個條件得分。這就是擴散模型訓練的本質。
對應到不同的參數化,這個訓練目標有不同的"外形"。VP模型直接訓練得分函數;VE-Karras模型訓練噪聲預測網路,讓網路預測加入到數據中的高斯噪聲;Rectified Flow訓練速度場,讓網路預測從x_0到噪聲ε的差值。但論文的表6清楚地列出了這三種參數化下的損失函數,並指明了各自的"網路輸出"與"得分函數"之間的精確代數轉換關係。
至此,Flow Matching的本質被徹底揭示:它預測的速度場,在代數上等價於噪聲預測,也等價於得分函數。在最大似然框架下,它和得分匹配、去噪匹配是同一個目標的不同寫法,沒有任何一個在數學本質上更簡單。Rectified Flow的"優雅"來自於它的幾何直覺和實踐中可能更小的曲率,而不是來自於本質上更簡單的數學。
---
六、訓練時的小技巧:損失權重為什麼可以隨意調
讀到這裡,你可能注意到不同模型的損失函數前面有不同的係數,比如1/2、1/σ、(1-s)/s。這些係數有必要嚴格遵守嗎?
論文指出,這些係數來自於最大似然框架,它們決定了不同噪聲程度對總損失的相對貢獻。但在實踐中,研究者經常把這些係數替換成自定義的時間權重函數,以改善訓練效果。這是完全合理的,因為改變權重係數只是改變了"在哪個噪聲級別上投入更多學習資源",而不改變每個噪聲級別上"學習目標是什麼"。換句話說,最優解(即真實的得分函數)在任何權重下都是一樣的,改變權重只是改變了收斂的速度和方向,不影響理論上能達到的最佳結果。
這個觀察解釋了為什麼不同論文裡的擴散模型雖然損失函數看起來不同,但本質上是在優化同一件事。
---
七、逆向過程的可視化:四種模型的軌跡長什麼樣
論文還提供了一個直覺上非常有幫助的可視化分析,展示了在單個數據點(一維情況下)的條件下,四種模型(VP-SDE、VP-ODE、VE-Karras、Rectified Flow)的逆向軌跡是什麼形狀。
VP-SDE和VP-ODE的軌跡是彎曲的:因為VP的前向過程同時有"向原點拉拽"和"注入噪聲"兩種效果,逆向過程需要同時撤銷這兩種效果,路徑必然是彎曲的。
VE-Karras和Rectified Flow的軌跡在單點情況下接近直線:因為這兩者的前向過程只是在數據上疊加噪聲(或線性插值到噪聲),逆向過程是從噪聲出發沿較短路徑回到數據。
但論文明確警告:這種近似直線的特性只在單點(只有一個訓練數據點)的特殊情況下成立。對於真實的多模態數據分布,逆向速度場在不同位置是不同的,軌跡會彎曲。不過,人們合理地預期VE-Karras和Rectified Flow的軌跡曲率會小於VP,這意味著用較少的步數也能得到較好的結果——這就是Rectified Flow在實踐中受歡迎的真正原因。
---
說到底,這篇論文做的事情是把一個本來散亂的知識體系,用朗之萬動力學這根"主線"串聯了起來。前向加噪、逆向去噪、SDE版本、ODE版本、得分匹配、去噪匹配、Flow Matching——這些聽起來像是互相獨立的不同技術,其實都是同一頭"魔鏡"的不同側面。
對於學習者來說,這意味著你不需要把每種方法都當成一個全新的東西去學:理解了朗之萬動力學是什麼,理解了前向過程如何加噪、逆向過程如何與前向過程構成一對,理解了最大似然如何自然地導出得分匹配損失,你就掌握了這個領域的骨架。其餘的,都是在這副骨架上換不同的皮膚。
對於研究者來說,這個視角也提供了實際價值:任何新的擴散模型變體,都可以在這個朗之萬框架內找到自己的位置,不同模型之間的轉換也有了清晰的代數路徑。遇到一個陌生的擴散模型,先問它的"朗之萬動力學是什麼"、"前向和逆向分別對應哪個拆分",往往就能迅速看清它的本質。
這項研究本身並不聲稱自己提出了全新的算法或取得了更好的性能數字,它的貢獻是概念性的——給出了一套更清晰的語言來描述已有的工作,並把分散的知識點納入一個統一的故事中。有時候,最有用的研究不是開闢新大陸,而是繪製一張清晰的地圖,讓後來者知道自己站在哪裡。
讀到這裡,你可能想進一步思考:如果所有這些模型都等價,那未來擴散模型的突破會來自哪裡——是更好的網路架構、更聰明的採樣策略,還是完全不同的概率框架?這是一個開放的問題,也是這個領域最吸引人的地方。如果你對完整的數學推導感興趣,可以通過arXiv編號2604.10465找到原文,裡面的附錄詳細給出了Fokker-Planck方程推導、KL散度衰減證明、以及去噪得分匹配與得分匹配等價性的完整論證。
---
Q&A
Q1:朗之萬動力學為什麼能把擴散模型的前向過程和逆向過程統一起來?
A:朗之萬動力學本質上是一個"對概率分布的恆等操作"——輸入和輸出服從同一個分布,只是換了一個具體樣本。擴散模型的前向加噪過程和逆向去噪過程,正好是一步朗之萬動力學被拆成了兩個互補的部分。前向部分讓分布向噪聲方向演化,逆向部分讓分布向數據方向演化,兩者合在一起等於朗之萬動力學這個恆等操作。這就是為什麼逆向過程能精確"撤銷"前向過程,而不只是近似。
Q2:Flow Matching和擴散模型的得分匹配到底有沒有本質區別?
A:沒有本質區別。Flow Matching預測的速度場,和得分匹配預測的得分函數,以及去噪匹配預測的噪聲,在代數上是完全等價的,可以通過精確公式互相轉換。Flow Matching在實踐中的優勢,主要來自於特定參數化下逆向軌跡曲率相對較小,使得採樣步數可以更少,而不是因為它的數學本質更簡單。在最大似然框架下,它們優化的是同一個目標,只是用了不同的參數化來寫損失函數。
Q3:擴散模型為什麼在理論上比VAE更強,擴散模型的訓練目標是什麼?
A:普通VAE的編碼器和解碼器之間沒有精確的對稱性保證,即使ELBO被優化到最佳,生成分布也未必等於真實數據分布。擴散模型通過朗之萬動力學的恆等性質,保證了前向和逆向過程在理論上是完美的互逆對——逆向過程走完全程後,生成分布精確等於原始數據分布。訓練目標來自最大似然:最小化模型得分函數與真實得分函數之差的加權平方期望,具體實現為讓神經網路擬合前向加噪過程中的條件得分函數,即讓網路學會預測加入了多少噪聲,或者以什麼速度從噪聲走向數據。






