Diffusion Models/zh
| Article | |
|---|---|
| Topic area | Generative Models |
| Prerequisites | Variational Autoencoder, Backpropagation, KL Divergence |
概述
擴散模型是一類生成模型,通過反轉一個漸進的加噪過程來學習數據分佈。模型從純高斯噪聲出發,執行一系列小步去噪,直至生成與真實數據相似的樣本。該框架由 Sohl-Dickstein 等人於 2015 年在機器學習領域推廣,並由 Ho、Jain 和 Abbeel 在 2020 年的 Denoising Diffusion Probabilistic Models (DDPM) 論文中推向最先進的圖像質量。[1]擴散模型如今支撐着現代圖像、音頻和視頻合成的大部分工作,包括 Stable Diffusion、DALL-E 3 和 Imagen 等系統,並已擴展至分子設計、機械人學和科學模擬。
與 Generative Adversarial Network 和 Variational Autoencoder 相比,擴散模型以較慢的採樣換取了穩定的訓練目標、高樣本多樣性和良好的似然特性。其核心洞見是:學習去除少量噪聲遠比學習直接將噪聲映射到數據要容易得多,而迭代這一更簡單的問題可以組合成強大的生成過程。
直覺
前向過程反覆向乾淨樣本中加入少量高斯噪聲,經過多步之後只剩下噪聲。逆向過程旨在撤銷每一步加噪,但精確的逆過程難以處理。因此,模型被訓練為在每個噪聲水平上近似該逆向步驟。推理時,採樣從噪聲開始,反覆應用學到的去噪器,以回到數據流形上。
一個有用的類比是雕塑。前向過程一粒一粒地把雕像埋入沙中。對於任意被部分掩埋的雕像,模型學習下一粒應被移走的沙是什麼樣子。經過充分訓練後,模型可以從一堆沙子開始,逐粒移除,直到雕像重新顯現。
前向過程
前向過程是一個固定的 Markov chain,它按照方差調度 $ \beta_1, \dots, \beta_T \in (0, 1) $ 在 $ T $ 個時間步上逐步腐蝕數據樣本 $ x_0 $:
$ {\displaystyle q(x_t \mid x_{t-1}) = \mathcal{N}(x_t;\, \sqrt{1 - \beta_t}\, x_{t-1},\, \beta_t I).} $
一個便利的性質是,可以直接從 $ x_0 $ 以閉式形式採樣 $ x_t $。設 $ \alpha_t = 1 - \beta_t $ 且 $ \bar\alpha_t = \prod_{s=1}^{t} \alpha_s $:
$ {\displaystyle q(x_t \mid x_0) = \mathcal{N}(x_t;\, \sqrt{\bar\alpha_t}\, x_0,\, (1 - \bar\alpha_t) I).} $
當 $ \bar\alpha_T \approx 0 $ 時,邊緣分佈 $ q(x_T) $ 實際上是一個標準高斯分佈,為逆向過程提供了一個可處理的起點。
逆向過程與訓練
逆向過程由一個神經網絡 $ p_\theta(x_{t-1} \mid x_t) $ 參數化,圖像任務通常採用 U-Net,序列任務和高解像度生成則常用 Transformer(DiT)。訓練目標是最小化負對數似然的變分上界。Ho 等人證明,在特定的重新加權下,該上界可化簡為一個非常簡潔的噪聲預測損失:
$ {\displaystyle L_{\mathrm{simple}} = \mathbb{E}_{x_0,\, t,\, \epsilon}\!\left[\,\lVert \epsilon - \epsilon_\theta(x_t, t) \rVert^2\,\right],} $
其中 $ \epsilon \sim \mathcal{N}(0, I) $,$ x_t = \sqrt{\bar\alpha_t}\, x_0 + \sqrt{1 - \bar\alpha_t}\, \epsilon $,且 $ t $ 從 $ \{1, \dots, T\} $ 中均勻採樣。該網絡被訓練為在給定帶噪輸入和時間步的條件下預測所加入的噪聲。等價的參數化方式包括直接預測 $ x_0 $ 或速度 $ v $,這可以改善噪聲調度極端處的數值穩定性。
採樣
訓練完成後,採樣過程從抽取 $ x_T \sim \mathcal{N}(0, I) $ 開始,從 $ t = T $ 到 $ t = 1 $ 反覆執行逆向步驟。DDPM 的更新公式為
$ {\displaystyle x_{t-1} = \frac{1}{\sqrt{\alpha_t}}\!\left(x_t - \frac{\beta_t}{\sqrt{1 - \bar\alpha_t}}\, \epsilon_\theta(x_t, t)\right) + \sigma_t z,\quad z \sim \mathcal{N}(0, I).} $
樸素的 DDPM 採樣每生成一張圖像需要數百乃至數千次網絡評估,這是擴散模型效率方面的核心問題。更快的採樣器,如 DDIM、[2]DPM-Solver 以及一致性模型,將採樣視為求解常微分方程或隨機微分方程,並使用高階數值積分器或蒸餾,將所需步數減少到一到五十步之間。
基於分數的視角與隨機微分方程
Song 與 Ermon 將去噪表述為在每個噪聲水平上估計噪聲化數據分佈的 Score Function $ \nabla_x \log p_t(x) $。[3]在連續極限下,前向過程變為一個隨機微分方程,而逆向過程則由僅依賴於分數的對應反向時間 SDE 所描述。此外還存在一個具有相同邊緣分佈的確定性概率流常微分方程,使得能夠精確計算似然並使用現成的 ODE 求解器。DDPM 噪聲預測器與分數網絡在已知的縮放下等價,從而統一了這兩種視角。
條件化與引導
條件生成通過向去噪器輸入額外信息(如類別標籤、文本嵌入或低解像度圖像)來實現。兩種被廣泛使用的技術在採樣時增強了條件對齊:分類器引導用一個外部分類器的梯度擾動分數;Classifier-Free Guidance 則用隨機條件丟棄訓練單一網絡,並在推理時組合條件預測與無條件預測,通過單一引導尺度在多樣性與提示詞符合度之間進行權衡。引導是文生圖擴散模型能夠緊密跟隨提示詞的主要原因。
變體與擴展
Latent Diffusion Models 在 Variational Autoencoder 的壓縮潛空間中運行擴散過程,將計算量減少了一個數量級,使得在消費級硬件上進行高解像度圖像與視頻合成成為可能。級聯擴散在低解像度基礎模型之上疊加一個或多個超解像度擴散階段。一致性模型將多步採樣器蒸餾為單步生成器。流匹配與整流流通過訓練網絡預測沿更直的概率路徑上的速度場,推廣了該框架。離散擴散通過用吸收型或均勻型腐蝕過程替代高斯噪聲,將該公式適配於文本與圖。
與其他生成模型的比較
擴散模型提供穩定的極大似然風格訓練、超過 Generative Adversarial Network 的模式覆蓋率,以及在圖像領域可與GAN相媲美乃至超越的樣本質量。與 Variational Autoencoder 相比,它們避免了單步高斯解碼器所導致的模糊重建。與自回歸模型相比,它們在空間維度上並行生成,且不強加人為的生成順序。主要缺點是採樣成本。即便使用現代快速採樣器,生成一張高解像度圖像通常仍需要比同等規模的 GAN 或自回歸Transformer的單次前向傳播更多的計算。
局限性與開放問題
採樣速度仍是主要的實際瓶頸,這推動了關於蒸餾、少步求解器和一致性目標的持續研究。似然評估需要使用概率流 ODE,在高解像度下代價高昂。當條件化於罕見提示詞時,擴散模型可能記憶並復現訓練樣本,引發私隱與版權方面的擔憂。在文本提示詞之外的可控性,包括精確的空間佈局、編輯過程中的身份保持,以及忠實的計數與文字渲染,仍是活躍的研究方向。最後,要將擴散擴展到長序列以及分子、蛋白質、三維場景等具有物理基礎的模態,需要定製的噪聲調度和等變架構,而非現成的U-Net。