擴散模型(Diffusion
Models)是一種生成模型,其基本想法是透過模擬「正向擴散」(加入雜訊)與「反向擴散」(去除雜訊)的過程,來學會從純隨機的雜訊中逐步生成真實圖像。這種方法不僅在圖像生成領域取得了驚人的成果,也是目前許多高品質影像生成系統(如
DALL·E 2、Stable Diffusion)背後的核心技術。
首先,我們定義一個正向馬可夫鏈 {x0,x1,…,xT},其中 x0
是真實資料,xT 是幾乎純雜訊。正向過程的目標是逐步對資料加入高斯雜訊:
q(xt∣xt−1)=N(xt;1−βtxt−1,βtI),
其中 βt 是控制第 t
步雜訊強度的參數(稱為擴散率),通常設計成逐步遞增的序列。當 t
趨近最大值 T 時,xT 變成幾乎純高斯白雜訊。
利用公式遞推可得:
q(xt∣x0)=N(xt;αˉtx0,(1−αˉt)I),
其中
αˉt=∏s=1t(1−βs),表示累積保留原始資訊的比例。
反向過程的目標是從雜訊資料 xT 中一步步去除雜訊,最終還原出資料
x0。這個過程的機率分佈定義如下:
pθ(xt−1∣xt)=N(xt−1;μθ(xt,t),Σθ(xt,t)),
其中 μθ 與 Σθ 是透過神經網路(例如 U-Net
架構)所學習的平均與變異數函數,參數由 θ 表示。
在實作中,通常簡化假設 Σθ 為固定常數,模型只預測雜訊
ϵθ(xt,t),並藉由以下方式還原 x0:
x^0=αˉt1(xt−1−αˉtϵθ(xt,t)).
為了讓模型學會如何還原雜訊,我們隨機抽取 t∼Uniform(1,T)
並構造帶雜訊的樣本:
xt=αˉtx0+1−αˉtϵ,ϵ∼N(0,I),
然後令模型預測 ϵ,訓練目標是最小化下列均方誤差(MSE)損失:
Lsimple=Ex0,ϵ,t[∥ϵ−ϵθ(xt,t)∥2].
這個簡化目標已被證實能有效訓練出高品質的生成模型。
當模型訓練完成後,我們可以從標準高斯雜訊
xT∼N(0,I) 開始,根據模型學到的反向轉移機率
pθ(xt−1∣xt) 逐步還原出
x0。這個過程類似於圖像的「魔術顯影」,每一步都讓影像更加清晰。
與生成對抗網路(GAN)相比,擴散模型雖然生成速度較慢,但在穩定性與樣本多樣性方面表現更好。它不需要對抗式訓練,訓練目標明確,且能自然地進行多步推理與條件生成(如
text-to-image)。
擴散模型的魅力在於它結合了數理簡潔與深度學習的強大表現力。從高斯雜訊中逐步「洗回」一幅圖像的過程,不僅優雅,也打開了創意
AI 應用的新視野。