DiT 相對于 U-Net 的優勢
-
全局自注意力 vs. 局部卷積
- U-Net 依賴卷積和池化/上采樣來逐層擴大感受野,捕捉全局信息需要堆疊很多層或借助跳躍連接(skip connections)。
- DiT 在每個分辨率階段都用 Transformer 模塊(多頭自注意力 + MLP)替代卷積模塊,可直接在任意層級通過自注意力跨越整張圖像的所有 Patch,實現真正的全局信息聚合。
- 優勢:
- 更快地捕捉遠距離像素之間的相關性
- 細粒度地動態調整注意力權重,不再受限于固定卷積核大小
-
統一的分辨率處理 vs. 編碼-解碼跳躍
- U-Net 典型的 “編碼器–解碼器” 結構:編碼階段下采樣壓縮特征,解碼階段再通過跨層跳躍連接恢復空間細節。
- DiT 采用一系列保持 Token 數量不變的 Transformer Blocks,在同一分辨率上直接對 Patch Token 做深度變換,最后再做少量重構。
- 優勢:
- 避免多次下采樣/上采樣帶來的信息丟失與插值偽影
- 跨尺度信息融合更加平滑,不依賴顯式的 skip connections
-
時間/條件嵌入的靈活注入
- U-Net 通常用 AdaGN、FiLM 或時序注意力將噪聲步數(timestep)以及類別/文本條件注入到卷積分支中。
- DiT 可將時序(sinusoidal‐PE)和條件(class token 或 cross‐attention 查詢)當作額外的 Token,或通過 LayerNorm 與 MLP 融合,形式更統一。
- 優勢:
- 融合機制簡單一致,易擴展到多種條件(如文本、姿態圖、屬性向量)
- 條件信息能直接參與自注意力計算,不再受限于卷積核的局部范圍
-
可擴展性與預訓練優勢
- U-Net 卷積核、通道數需針對擴散任務從頭設計與訓練。
- DiT 可以借鑒或直接微調已有的視覺 Transformer(如 ViT、Swin)預訓練權重,在大規模圖像數據上先行學習表征,再做擴散任務微調。
- 優勢:
- 少量數據即可獲得優異效果,訓練收斂更快
- 參數規模與性能可通過堆疊 Transformer Block、增加 Head 數或 Hidden Size 線性擴展
-
計算效率與實現簡潔
- U-Net 的多分辨率跳躍連接和卷積核實現較為復雜,尤其在多尺度下容易引入內存峰值。
- DiT 模型主體僅由標準 Transformer Block 組成,硬件上對自注意力有高度優化(如 FlashAttention),在大尺寸輸入時并行更高效。
- 優勢:
- 代碼結構統一簡潔,便于維護和擴展
- 在高分辨率下,自注意力+線性層組合在特定實現下比多次卷積+上采樣更省內存
總結
DiT 將 Transformer 的全局自注意力與擴散模型緊密結合,突破了 U-Net 局部卷積的固有限制,使得模型在捕捉遠程依賴、條件信息融合、可擴展性和預訓練轉移上具備顯著優勢,也為更高分辨率下的高質量圖像生成提供了更優的架構選擇。
自回歸生成模型 vs. 擴散模型 的區別
-
生成過程:順序 vs. 并行
- 自回歸模型:
- 將圖像的聯合分布分解為一系列條件分布:
p ( x ) = ∏ i = 1 N p ( x i ∣ x < i ) p(x)=\prod_{i=1}^Np(x_i\mid x_{<i}) p(x)=i=1∏N?p(xi?∣x<i?) - 生成時嚴格按照先后次序,一個像素(或一個 patch/token)接著一個像素地預測,需要在每一步等待前一步完成,完全串行。
- 將圖像的聯合分布分解為一系列條件分布:
- 擴散模型(U-Net/DiT):
- 將生成看作從純噪聲逐步去噪的過程,可以在每個去噪步驟中并行預測全圖像素(或全 Token)。
- 每一步可以并行預測全圖像素/Token,內部無序列化依賴。
- 自回歸模型:
-
架構:因果掩碼 vs. 全局交互
- 自回歸模型:
- 核心是因果(causal)自注意力或卷積(如 PixelCNN),只允許看到已生成部分。
- 通常使用 Transformer Decoder(帶因果 Mask)或 PixelRNN/PixelCNN。
- 擴散模型:
- U-Net 用多層編碼–解碼卷積,DiT 用堆疊的 Transformer Blocks(無因果 Mask)做全局自注意力。
- 它們不需要在同一張圖內部做序列化生成,因此注意力和卷積都可跨全圖自由運作。
- 自回歸模型:
-
訓練目標:最大似然 vs. 去噪匹配
- 自回歸模型:
- 直接對像素/Token 做交叉熵或負對數似然最大化。 模型學會準確預測下一個像素的離散分布。
- 擴散模型:
- 對加噪—去噪過程建模,常用 score matching (估計噪聲分布的梯度)或均方誤差去噪目標。
- 無需離散化像素分布,訓練時需設計噪聲調度(noise schedule)和時間步(timestep)嵌入。
- 自回歸模型:
-
采樣速度與效率
- 自回歸模型:
- 序列長度越長,生成時間線性增長,每一步都需一次前向推理,推理速度受限于最小單位(像素/patch)的順序依賴。
- 擴散模型:
- 雖然要迭代多步(通常數十到數百步),但每步能一次性預測整張圖,且可以借助并行硬件與優化(如 FlashAttention、批量去噪)加速。
- 自回歸模型:
-
生成質量與靈活性
- 自回歸模型:
- 在小分辨率下可達高像素級一致性,但高分辨率下難以捕捉全局結構。
- 擴散模型:
- 多步去噪的隨機性和全局信息交互,能生成更豐富、多樣化的全局結構,高分辨率表現優異。
- DiT 優勢:
- 利用 Transformer 預訓練表征,進一步提升細節一致性和可控性。
- 自回歸模型:
總結:
自回歸生成模型強調“一步一步來”,靠因果掩碼和離散最大似然保證每個像素都被精確建模;而擴散模型(無論是傳統 U-Net 還是基于 Transformer 的 DiT)則通過“同時去噪全圖、多次迭代”的方式,結合連續噪聲建模與并行全局交互,實現了更高效、更靈活的高分辨率圖像生成。
對比維度 | U-Net 擴散模型 | DiT(Diffusion Transformer) | 自回歸生成模型 |
---|---|---|---|
架構 | 編碼-解碼卷積(多尺度 + skip) | 多層 Transformer Block(Patch Token) | Transformer Decoder / PixelCNN |
生成過程 | 從噪聲并行去噪,多步迭代 | 從噪聲并行去噪,多步迭代 | 串行逐像素/逐 Token 生成 |
注意力范圍 | 局部卷積,靠層級擴展感受野 | 全局自注意力,任意 Patch 交互 | 因果 Mask,僅能看到已生成內容 |
條件注入 | AdaGN/FiLM/時序注意力 | 條件 Token + Sinusoidal PE 統一注入 | Prefix Prompt 或在輸入端拼接 |
訓練目標 | MSE 去噪 / Score Matching | MSE 去噪 / Score Matching | 交叉熵(NLL)最大似然 |
推理效率 | 每步并行,需幾十至上百步 | 每步并行,需幾十至上百步 | 串行生成,步數 ∝ 序列長度 |
預訓練優勢 | 通常從頭訓練 | 可微調 ViT/Swin 等大規模預訓練模型 | 可微調 GPT 等語言大模型 |
適用場景 | 中分辨率圖像生成 | 高分辨率、需要全局一致性 | 低分辨率、追求像素級一致性 |
簡而言之,U-Net 擴散利用多尺度卷積去噪,DiT 則在各尺度用全局自注意力替代卷積,從而更有效地捕捉長程依賴;自回歸模型則通過因果 Mask 串行生成,保證像素級最大似然。擴散模型每步可并行預測全圖,速度優勢明顯;自回歸雖然精度高,但推理必須等上一步完成,效率較低。DiT 還能直接復用 ViT/Swin 等預訓練模型加速收斂,適合高分辨率圖像生成。