你有沒有想過,一個AI畫家和一個AI攝影師,其實用的是同一套底層視覺語言,卻因為學習順序不同,畫出來的畫天差地別?
這聽起來有點玄乎,但這正是這篇論文要講的故事的核心。故事得從圖像生成模型的一個"潛規則"說起。
現在幾乎所有厲害的AI繪圖模型,比如Stable Diffusion這類,都不是直接在像素上畫畫的。它們會先把圖片壓縮成一種更緊湊的"密碼本",術語叫潛在空間
潛在空間:把高維的原始圖像壓縮成一個低維、抽象的數字表示,AI在這個"壓縮包"里做運算,比在原始像素上操作要輕鬆得多。
負責壓縮和解壓的模組叫VAE(變分自編碼器)
VAE:一種先把圖片"壓縮成密碼"再"解壓還原"的神經網路,壓縮部分叫編碼器,解壓部分叫解碼器,中間會引入一點隨機性來讓潛在空間更平滑。
整個流程分兩步走:先訓練VAE把圖片壓縮解壓得漂漂亮亮,再凍結這個VAE,在它壓縮出來的"密碼"上訓練一個生成模型去學著畫新圖。這套流程用了快十年,大家都覺得天經地義。
但問題來了。
VAE壓縮圖片時,唯一的目標是"重建得像",它從沒想過自己壓縮出來的密碼本好不好被後面的生成模型學習。這就好比一個圖書管理員,編目錄的時候只在乎"讀者能不能準確找到原書",壓根沒考慮"另一個要靠這套目錄寫讀書報告的人,會不會覺得這套分類邏輯特別擰巴、難以歸納規律"。近幾年不少研究都發現,這種只顧重建、不顧生成的潛在空間,其實並不是生成模型最好用的畫布。
那能不能讓生成模型也參與到VAE的訓練里,兩者一起學,互相遷就?這個想法很自然,但一試就炸。
一炸就崩:直接聯合訓練為什麼會失敗
之前有個叫REPA-E的工作嘗試過這條路,讓生成模型的梯度直接回傳去調整VAE。結果發現,VAE的潛在空間會"塌陷",術語叫潛在坍縮
潛在坍縮:VAE編碼出的潛在向量失去了多樣性,不管輸入什麼圖片,編碼結果都擠成了幾乎一模一樣的常數,整個潛在空間失去了資訊量。
一旦坍縮發生,整個模型就廢了,因為不同的圖片被編碼成了差不多的東西,生成模型自然學不出任何有意義的分布。REPA-E的解決方案是繞開這個坑:乾脆切斷生成模型對VAE的梯度回傳,轉而用一個叫DINOv2的預訓練視覺模型的特徵,間接地"矯正"VAE的潛在空間。這確實避免了崩潰,但代價是生成目標沒法直接塑造潛在空間了,只能靠一個外部代理來打輔助。
這篇論文的作者們沒有繞開這個問題,而是一頭扎進去,想搞清楚:坍縮到底是怎麼發生的?
他們把目光投向了VAE訓練里一個常年被當作"打醬油"配角的東西:KL散度損失里的熵項。
KL散度:衡量兩個概率分布差異的一個數學工具,VAE訓練時用它來約束編碼出的潛在分布不要偏離一個標準的高斯分布太遠。
在標準的VAE訓練配方里(這套配方最早由LDM那篇論文定下來),KL散度的權重被設得極小,通常是十的負六次方那么小,幾乎可以忽略不計。大家一直把它當成一個無關緊要的正則化小尾巴。
但論文作者把KL散度拆開來看,發現它其實是兩股力量在拔河:一股叫"先驗擬合項",會把潛在樣本往高斯先驗的高概率區域拽;另一股叫"熵項",負責維持潛在分布的不確定性,防止它坍縮成一個個孤立的點。
在原來的兩階段訓練里,因為KL權重本來就小得可以忽略,這兩股力量誰也沒使多大勁,相安無事。可一旦你把生成模型的損失也加進來聯合訓練,麻煩就來了:生成模型的損失本質上也是在擬合先驗,相當於給"先驗擬合"這股力量瘋狂加碼,而"熵"這股反制力量卻還停留在原來那個幾乎為零的權重上。天平徹底失衡,潛在空間被先驗擬合的力量硬生生壓扁,方差趨近於零,所有圖片的編碼擠到了同一個點附近,這就是坍縮的真正機制。
這就好比拔河比賽,一邊突然加入了三個壯漢,另一邊卻還是原來那兩個人拿著根細繩子應付,繩子瞬間就被拽到了對面,如果不給弱勢的一方也加人手,比賽結果從一開始就沒有懸念。
論文作者由此得到一個清晰的診斷結論:熵項不是可有可無的正則化裝飾,它是對抗先驗擬合、防止坍縮的必要反作用力。他們把公式重新寫了一遍,明確把熵項作為一個獨立的、需要主動調節權重的分量加進最終的訓練目標里,而不是繼續沿用那個歷史遺留的十的負六次方。這個改動聽起來簡單,效果卻立竿見影:直接端到端訓練不再崩潰了。
生成和重建,誰先誰後是個大問題
解決了崩潰問題,故事還沒完。論文作者接著發現了第二個更微妙的矛盾:重建和生成天生就在互相拆台,術語上叫生成重建衝突
生成重建衝突:重建任務想保留圖片的每一個細節,導致潛在空間的編碼彼此分得很開、很分散;而生成任務想要一個更平滑、更容易採樣建模的潛在分布,這兩個目標本質上互相拉扯。
論文做了個很直白的實驗:固定其他條件,只調節生成損失的權重。權重從0調到1.0時,代表生成質量的gFID指標(數值越低越好)從120.60一路降到8.06,說明生成變強了;可與此同時,代表重建質量的rFID卻從0.53惡化到4.20,重建變差了。兩條曲線一個往下一個往上,像蹺蹺板一樣誰也不讓誰。
研究者試了三條常規的補救思路,結果都不太理想。
第一條是加大潛在維度,給VAE更大的資訊容量,指望這樣能同時容納更豐富的重建細節和更好建模的分布。結果維度從16加到128,也只能撐住大約0.1的先驗權重,超過這個數重建照樣崩。第二條是把VAE本身做大做深,指望更強的解碼器能從"更適合生成"的潛在空間裡摳出更多細節。結果發現VAE變大不但沒解決衝突,甚至有時候重建反而更差。第三條是把生成模型做大,讓它更有能力擬合複雜分布。結果生成確實變好了,但對潛在空間的"塑形壓力"也跟著更猛,重建被進一步拖累。
三條路都走不通,說明這不是一個簡單靠"加碼資源"就能擺平的問題。論文接著嘗試了各種損失權重的動態調度方案:固定權重、餘弦衰減、還有一種叫PI自適應控制的反饋式調節方法(靈感來自ControlVAE)。可惜沒有一種方案能同時讓生成和重建都滿意,PI自適應控制那組實驗甚至直接訓練崩潰了。
問題出在哪兒?作者回過頭去觀察兩個任務各自的學習速度,這才注意到一個此前被忽略的現象:重建和生成的學習節奏完全不對稱
論文裡畫了一張對比圖特別直觀。重建任務這邊,模型從一片模糊的色塊出發,訓練不到5萬步就已經能畫出輪廓清晰的鯊魚,到4萬7千步左右圖像質量基本穩定不動了。而生成這邊,同樣是從隨機噪聲出發,模型要訓練到二三十萬步才能畫出一條勉強像樣的鯊魚,整個收斂曲線拉得老長,訓練了30萬步FID才降到接近飽和的水平。
這個不對稱性其實很好理解。重建是個有明確目標答案的映射問題,輸入一張圖的潛在編碼,解碼器直接對著原圖算誤差,每一步都有清晰的糾錯信號,學得又快又准。而生成是個從頭摸索整個數據分布形狀的問題,模型得先搞明白"合理的潛在空間長什麼樣",才談得上從裡面採樣出新東西,這個過程天然更慢、更難。
如果把這兩個任務的進度拿去做類比,重建像是照著參考答案抄作業,幾乎是看一眼就能寫對;生成則像是通過反覆做題去總結出題老師的出題規律,需要看過成千上萬道題才能摸到門道。如果強行讓兩者用同一個學習節奏推進,要麼是抄作業的那個已經寫完了還在傻等,要麼是總結規律的那個被逼著提前交卷,規律還沒摸透。
這個發現直接催生了這篇論文真正的主角,一個簡單到有點樸素的策略,叫GenFirst
GenFirst:一種"先生成後重建"的兩階段端到端訓練策略,第一階段用較大的生成損失權重,讓生成目標優先塑造潛在空間的整體形狀;第二階段把生成損失權重調小,讓重建任務有更多餘地去恢復細節。
GenFirst的邏輯其實很樸素:既然生成任務學得慢、需要更長時間去摸清整個潛在分布的結構,那就先讓它在訓練早期占主導地位,用較弱的重建壓力和明確的熵項保護,把潛在空間的大致輪廓塑造成一個生成模型容易學習的樣子。等這個輪廓穩定下來之後,再逐漸加強重建的權重,讓解碼器回過頭去精細打磨每一張圖的細節,而不至於把前面辛苦塑造出來的、對生成友好的空間結構給推翻重來。
這就像裝修房子先定框架再做精裝。如果一開始就一邊砌牆一邊貼瓷磚摳細節,很可能砌到一半發現房間格局不對,之前貼好的瓷磚全得敲掉重來;但如果先把整個空間結構定下來,等承重牆、水電走向都確定了,再回頭精裝每個房間的細節,效率會高得多,也不會出現返工浪費。
具體到操作層面,論文裡把熵項的權重和生成損失的權重綁在一起變化,兩者用同一個係數,這樣熵的保護力度會隨著生成壓力的大小自動匹配,不會出現前面說的那種失衡。第一階段用較大的權重(比如自回歸模型設為1.0),跑相對較長的訓練輪數;第二階段把權重調小(比如降到0.25),用較短的時間做重建精修。
兩種生成模型,一樣的方法
論文沒有隻在一種生成模型上驗證這個思路,而是選了兩種性質完全不同的生成先驗來做交叉驗證。
第一種是連續自回歸模型,來自一篇叫FARMER的工作,這類模型的特點是有精確的似然函數
似然:衡量一個概率模型對觀測數據的解釋程度,精確似然意味著可以直接算出一個具體的概率值,而不需要繞彎子估計。
有了精確似然,前面那套關於先驗擬合和熵的數學分析就可以直接、乾淨地對上號,這也是為什麼論文選它作為主要分析工具。論文把這個端到端訓練的自回歸實例叫做EAR,用的是一種叫高斯混合模型的輸出頭,每個潛在token的分布用多個高斯分量疊加來表示,這樣可以處理連續值而不是像文字生成那樣用離散的詞表。
第二種是SiT,一種基於流匹配的擴散類模型,這類模型沒有顯式的似然函數,訓練目標是學習一個"速度場",讓噪聲逐步演變成真實數據。作者把這個端到端實例叫EiT。因為SiT沒有精確似然,直接套用熵項分析沒那麼直白,作者額外保留了一個很小權重的KL約束(還是那個十的負六次方),專門用來防止潛在數值的尺度跑飛,避免模型偷懶走捷徑。
這個"捷徑"問題論文裡也仔細拆解過,挺有意思。如果潛在編碼全都坍縮成了一個幾乎恆定的值,擴散模型做去噪訓練時,噪聲插值後的結果幾乎完全由噪聲本身決定,模型只需要學一個簡單的線性變換就能糊弄過去這個去噪任務,根本不用真正理解圖像分布。這就好比一場默寫考試,如果所有學生的答案紙提前都被抹成了同一種底色,閱卷老師光看底色區分不出誰寫得好,考試也就失去了檢驗能力的意義。防止潛在空間坍縮,本質上就是在保證這場"考試"始終有效。
數字說話:結果到底好在哪兒
理論講得再漂亮,最終還是要看跑分。
在ImageNet 256×256這個圖像生成的經典考場上,EAR只用了3.12億參數,配合CFG(一種提升生成質量的引導技巧)後gFID做到了2.10,比參數量大得多的同類連續自回歸模型都要好,比如GIVT是2.59,FARMER是3.60,JetFormer是6.64。
CFG(classifier-free guidance,無分類器引導):一種在採樣階段增強生成結果與條件(比如類別標籤或文本)匹配程度的技巧,通常能明顯提升生成圖像的質量和相關性。
而EiT這邊的成績更亮眼。只訓練了480個epoch,帶CFG的gFID就做到了0.988,論文特別強調這是第一個在不藉助額外的"Fréchet距離損失"技巧的情況下,把FID做到1以下的擴散模型。繼續訓練到800個epoch,不加CFG的gFID也降到了1.45,是當時對比的擴散模型里最好的成績。
更值得說的是訓練效率。論文比較了幾種方法達到同樣FID水平所需要的訓練步數:用GenFirst訓練出的潛在空間,配合新訓練的生成模型,只需10萬步就能達到FID 6.91,15萬步達到4.97,這個速度分別比原始SiT和加了REPA的SiT快至少70倍和26倍。跟REPA-E比,也只需要大約200萬步就能追平後者的最終效果,相當於省下一半的訓練開銷。
這個提速的意義不難理解:如果一個更好的潛在空間能讓生成模型少走彎路,那前期在端到端訓練上多花的一點力氣,後面能在生成模型的訓練成本上省回來好幾倍,這筆賬怎麼算都划算。
在文本生成圖像的任務上,1.3B參數規模的EiT拿到了GenEval評測0.90的總分,超過了參數量大得多的FLUX.2-dev、Qwen-Image,也超過了一些統一多模態模型比如MetaQuery和BAGEL。DPG-Bench評測上拿到82.60分,換用更強的文本編碼器Qwen3-1.7B後進一步提升到84.65。
論文還做了不少細緻的消融實驗來驗證每個設計選擇的必要性。比如對比了固定生成損失權重、餘弦衰減和PI自適應控制這三種常見的調度方式,全都不如GenFirst效果好,PI自適應控制甚至直接訓崩了。這說明單純調整權重大小解決不了這個問題,先後順序才是關鍵。
論文裡還有個有意思的對照實驗:把端到端訓練學出來的VAE凍結起來,重新從頭訓練一個全新的生成先驗。結果發現新訓練出來的先驗,效果比在原始重建優化的VAE上訓練的先驗好得多,EAR的gFID從36.33降到5.67,SiT的gFID從7.90降到3.57。這說明端到端訓練確實塑造出了一個更適合被生成模型學習的潛在空間,這種"友好性"是可以遷移、可以復用的屬性,不是訓練過程里的偶然現象。
不止於圖像:一個可以擴展的框架
論文最後一部分探索了這套端到端框架能不能擴展到更多場景,讀下來能感受到作者是真心想把這個思路做通做透,而不是只滿足於刷一個漂亮的圖像生成分數。
第一個擴展方向是讓潛在空間同時支持生成和表徵學習。作者把FLUX VAE的編碼器換成了Qwen3-VL的視覺Transformer,試了兩種引入語義監督的方式:一種是直接在潛在特徵上加對比學習式的SigLIP損失,另一種是把編碼器的中間特徵餵給一個視覺語言模型去預測圖片描述文字的負對數似然。結果顯示,加入基於圖注生成的監督後,ImageNet線性探測準確率從77.71提升到了81.69,甚至超過了預訓練的Qwen3-VL視覺塔本身(79.64),同時生成和重建質量基本沒有明顯損失。這說明生成友好的潛在空間和語義豐富的表徵空間並不是天然對立的,兩者可以在同一個潛在空間裡共存。
第二個擴展方向更大膽一些,把文本也納入了同一套端到端框架里,做統一的文本圖像生成。作者訓練了一個文本VAE,把連續文本潛在表示和圖像潛在表示一起餵給一個塊因果的MMDiT(一種既支持雙向注意力又支持因果注意力的Transformer架構),同時訓練"文生圖"和"圖生文"兩個方向的生成任務。結果顯示,把凍結的文本VAE換成端到端訓練版本後,GenEval從79.88提升到81.87,圖生文任務的CIDEr指標(衡量生成描述質量的常用指標)從20.03跳到30.19;如果進一步把文本和圖像的VAE一起聯合訓練,GenEval能到86.57,CIDEr到33.28。這個結果說明,"生成塑造潛在空間"這個思路並不局限於圖像這一個模態,只要能定義出合適的生成目標和熵約束,文本這類離散但可以連續化的模態一樣適用。
寫在後面
讀完這篇論文,最讓我意外的一點,是它沒有去發明一個多麼複雜的新模型架構,而是花了大量篇幅去做一件很樸素的事:把一個長期被當作工程細節忽略掉的小權重項,重新掰開揉碎講清楚它的物理意義。KL散度里那個熵項存在了這麼多年,幾乎所有從業者都默認它就是個數值穩定器,很少有人認真追問過它在聯合訓練場景下到底扮演什麼角色。這提醒我一件事:很多"行業常識"其實只是在特定訓練配方下湊巧成立的經驗規則,一旦訓練設置發生變化,原來被忽略的細枝末節可能突然變成決定成敗的關鍵變量。
另一個讓我印象深刻的地方,是論文用一張訓練曲線圖就把"生成重建衝突"這個抽象概念講清楚了。重建曲線幾千步就趨於平穩,生成曲線要幾十萬步才勉強像樣,這種直觀的速度差異比任何數學推導都更容易讓人理解為什麼"先後順序"比"權重大小"更重要。這也讓我想到,很多多任務學習里的失敗案例,或許都值得回過頭去看看各個任務各自的收斂速度曲線,說不定問題根源就藏在這種被忽視的時間維度里。
論文在結尾也很坦誠地承認了局限:GenFirst緩解了衝突,但沒有徹底消除它,端到端訓練出來的VAE在PSNR這類重建指標上還是會有一定犧牲。另外,連續自回歸模型在配合CFG引導時表現出的規律和不用CFG時不太一致,作者也直言這背後的引導機制還需要專門研究。這種不迴避問題的態度,反而讓整篇論文的可信度更高。
如果潛在空間的"性格"真的是由訓練順序塑造出來的,那麼換一個順序、換一種節奏,會不會調教出完全不同氣質的生成模型?
Q&A
Q1:GenFirst是什麼?
A:GenFirst是一種先生成後重建的兩階段端到端訓練策略,第一階段用較大的生成損失權重塑造潛在空間,第二階段減小該權重讓重建任務恢復圖像細節,從而緩解生成和重建之間的衝突。
Q2:直接聯合訓練VAE和生成模型為什麼會導致潛在坍縮?
A:因為生成損失會給KL散度里的先驗擬合力量加碼,而對抗坍縮的熵項權重卻還停留在原來極小的數值,兩股力量失衡後,潛在編碼方差趨近於零,不同圖片被壓縮成幾乎相同的編碼,導致整個潛在空間失去資訊量。
Q3:GenFirst在圖像生成任務上效果如何?
A:在ImageNet 256×256上,EiT不加CFG的gFID達到1.45,帶CFG的gFID為0.97,文本生成圖像上MMDiT的GenEval評分達到0.90,同時訓練收斂速度比同類方法快數十倍。






