DDPM
3 秒看懂
一句話: 先把圖片逐步加噪聲直到變成純噪聲,再訓練一個神經網路學會逐步去噪聲還原圖片——這就是 DDPM。訓練只做一件事:預測每一步加的噪聲是什麼。推論時從純噪聲出發,一步步”去噪”,就能生成全新的高質量圖片。
3 分鐘產業解釋
為什麼 DDPM 重要?
在 DDPM 之前(2020 年),影像生成的主流範式是 GAN(對抗生成網路) 和 VAE(變分自編碼器)。GAN 生成質量好但訓練不穩定(模式坍塌)、VAE 穩定但生成圖片模糊。DDPM 的出現(Ho et al., NeurIPS 2020)證明了基於擴散過程的生成模型可以同時做到高質量、訓練穩定、多樣性好,一舉打破了 GAN 在影像生成質量上的長期壟斷。
產業影響
| 維度 | 影響 |
|---|---|
| AI 繪畫 | DDPM 是 Stable Diffusion、DALL·E 2、Imagen 等文生圖大型模型的數學基石 |
| 影片生成 | Sora、Runway Gen-2 等影片生成模型的骨幹架構直接繼承自擴散模型 |
| 3D/音訊/分子設計 | 擴散架構被泛化到 3D 點雲端生成、語音合成、蛋白質結構預測等領域 |
| 算力需求 | 擴散模型推論需多步(通常 20-1000 步)去噪迭代,顯著拉動推論算力需求 |
| 產業生態 | 催生了 Denoising → Latent Diffusion → Consistency Model 等持續迭代的技術鏈 |
核心認知:DDPM 不是一個應用,而是一類生成模型的範式基石。理解 DDPM = 理解當前整個 AI 生成式產業的數學底座。
15 分鐘專家深入
1. 核心思想:可逆的”破壞-重建”
DDPM 的靈感來自非平衡熱力學(non-equilibrium thermodynamics)[Sohl-Dickstein et al., 2015]:
- 前向過程(Forward/Diffusion): 逐步向資料新增微小的高斯噪聲,經過足夠多步後,任何資料分佈都會變成各向同性高斯分佈(純噪聲)。這個過程是預定義的、無需學習的。
- 反向過程(Reverse/Denoising): 訓練一個神經網路,學習逆向的去噪操作。從純噪聲開始,一步步”逆擴散”,最終還原出一張清晰的圖片。
2. 關鍵數學結構
前向過程定義了馬爾可夫鏈:
q(x_t | x_{t-1}) = N(x_t; √(1-β_t) · x_{t-1}, β_t · I)
其中 {β_t} 是預設的方差排程表(variance schedule),通常 T=1000 步,β 從約 10⁻⁴ 線性增長到約 0.02(原始線性排程)。
關鍵加速公式——利用重引數化,可以直接從 x₀ 跳到任意 x_t:
x_t = √(ᾱ_t) · x₀ + √(1 - ᾱ_t) · ε, ε ~ N(0, I)
其中 α_t = 1 - β_t,ᾱ_t = ∏(s=1→t) α_s。
含義:x_t 是原始訊號 x₀ 的縮放版 + 噪聲的加權疊加。當 t→T 時,ᾱ_T → 0,x_t ≈ 純噪聲。
3. 訓練目標的簡化
原始 DDPM 論文證明,變分下界(VLB)經過簡化後,訓練損失變成一個極其簡潔的形式:
L_simple = E_{t, x₀, ε} [ || ε - ε_θ(x_t, t) ||² ]
即:網路 ε_θ 只需要預測在第 t 步被加上的噪聲 ε。
這是一個 MSE 迴歸任務——訓練穩定、梯度良好,不需要對抗訓練。
4. 網路架構
原版 DDPM 使用 U-Net 架構,包含:
- 下采樣/上取樣路徑 + 跳躍連線(skip connections)
- 時間步嵌入(sinusoidal positional encoding 送入 MLP)注入到每一層
- 自注意力層(self-attention)在低解析度特徵圖上使用
- Group Normalization + Swish 啟用
注:這不是端到端一步出圖。推論時需迭代 T 步(或經加速後約 20-50 步)。
技術原理(深度機制講解)
前向擴散過程
x₀ (乾淨圖片)
│ +N(0, β₁I)
▼
x₁
│ +N(0, β₂I)
▼
x₂
...
│ +N(0, β_TI)
▼
x_T ≈ N(0, I) (純高斯噪聲)
每一步 x_t 只依賴 x_{t-1},條件分佈 q(x_t | x_{t-1}) 是高斯分佈。
核心性質: 雖然逐步取樣很慢,但利用重引數化技巧,我們可以一步到位:
q(x_t | x₀) = N(x_t; √ᾱ_t · x₀, (1 - ᾱ_t) · I)
這意味著訓練時不需要逐步加噪——直接取樣 t,一次算出 x_t。
反向去噪過程
反向過程也是馬爾可夫鏈,但條件分佈 q(x_{t-1} | x_t) 無法直接計算(需要整個資料分佈的積分),因此用神經網路近似:
p_θ(x_{t-1} | x_t) = N(x_{t-1}; μ_θ(x_t, t), σ_t² · I)
其中:
- μ_θ 是神經網路預測的均值(由 ε_θ 間接給出)
- σ_t² 通常固定為 β_t 或 (1-ᾱ_{t-1})/(1-ᾱ_t) · β_t(DDPM 原文對比了兩者,發現簡化目標 + 固定方差效果接近最優)
均值與噪聲預測的關係:
μ_θ(x_t, t) = (1/√α_t) · (x_t - (β_t / √(1-ᾱ_t)) · ε_θ(x_t, t))
取樣流程(推論)
x_T ~ N(0, I)
for t = T, T-1, ..., 1:
z ~ N(0, I) if t > 1, else z = 0
x_{t-1} = μ_θ(x_t, t) + σ_t · z
return x₀
訓練流程
repeat:
x₀ ~ q(x₀) # 取樣一個訓練樣本
t ~ Uniform({1,...,T}) # 隨機選時間步
ε ~ N(0, I) # 取樣噪聲
x_t = √ᾱ_t · x₀ + √(1-ᾱ_t) · ε # 一步加噪
loss = ||ε - ε_θ(x_t, t)||² # 預測噪聲
反向傳播,更新 θ
訓練效率關鍵: 每次訓練只需一次前向+一次反向,不需要真正的逐步擴散。這個”一步加噪”的 trick 是 DDPM 訓練可行性的關鍵。
與 Score Matching 的聯絡
DDPM 的噪聲預測 ε_θ 與 分數函式(score function) ∇_x log p(x) 存在精確對應:
∇_{x_t} log q(x_t | x₀) = -(ε / √(1-ᾱ_t))
因此 DDPM 本質上是一種特殊的 去噪分數匹配(Denoising Score Matching, DSM) [Vincent, 2011],這直接連線到 Score-based Generative Models / NCSN [Song & Ermon, 2019] 的研究脈絡,後來統一為 Score SDE 架構 [Song et al., 2021]。
關鍵超引數
| 引數 | 典型值 | 說明 |
|---|---|---|
| T(總步數) | 1000 | 原始 DDPM 預設 |
| β schedule | 線性 10⁻⁴→0.02 或 cosine | Nichol & Dhariwal (2021) 提出 cosine schedule 改善小 T 時的表現 |
| 網路深度 | U-Net, ~35M-500M 引數 | 視資料集規模而定 |
| 影像解析度 | 32×32 (CIFAR-10), 256×256 (LSUN/ImageNet) | 原文實驗 |
| 訓練步數 | 約 800K iterations (CIFAR-10) | [Ho et al., 2020] |
技術演進史
2015 Sohl-Dickstein et al. 提出擴散機率模型的概念
(Deep Unsupervised Learning using Nonequilibrium Thermodynamics)
↓
2019 Song & Ermon 提出 NCSN (Noise Conditional Score Networks)
將 score matching 引入生成模型
↓
2020.06 Ho, Jain, Abbeel 發表 DDPM (NeurIPS 2020) ⭐ 關鍵節點
簡化訓練目標 + 精確 U-Net 架構 + 實驗性突破
CIFAR-10 無條件 FID ≈ 3.17 [Ho et al., 2020]
↓
2021.01 Nichol & Dhariwal 改進 DDPM (Improved DDPM)
cosine schedule + 學習方差 + 少步取樣
↓
2021.02 Song et al. 提出 Score SDE 架構
統一 DDPM / NCSN / SMLD 為連續時間隨機微分方程
↓
2021.06 Dhariwal & Nichol (Diffusion Models Beat GANs)
classifier guidance 使擴散模型首次在 ImageNet FID 上超越 BigGAN
↓
2021.10 Rombach et al. 提出 Latent Diffusion Model (LDM) ⭐
在潛空間做擴散 → Stable Diffusion 的直接前身
↓
2022-23 Stable Diffusion / DALL·E 2 / Imagen / Midjourney
大規模文生圖應用爆發
↓
2023-24 Consistency Models / SDXL / DALL·E 3 / Sora
加速取樣 + 影片生成 + 更強的文本條件控制
技術路線對比
| 維度 | DDPM | GAN | VAE | 自迴歸 (AR) | Flow |
|---|---|---|---|---|---|
| 訓練穩定性 | ★★★★★ 非常穩定 | ★★☆ 模式坍塌風險 | ★★★★ 穩定 | ★★★★ 穩定 | ★★★★ 穩定 |
| 生成質量 (FID) | ★★★★★ | ★★★★ | ★★★ | ★★★★ | ★★★ |
| 生成速度 | ★★ 慢 (多步迭代) | ★★★★★ 快 (一步前向) | ★★★★★ 快 | ★★★ 慢 (逐token) | ★★★★ 較快 |
| 多樣性 | ★★★★★ | ★★★☆ 受限 | ★★★★ | ★★★★★ | ★★★★ |
| 似然計算 | ★★★ 近似 | ✗ 無 | ★★★★ | ★★★★★ 精確 | ★★★★★ 精確 |
| 數學基礎 | 變分推斷/Score matching | 博弈論 | 變分自編碼 | 序列機率 | 可逆變換 |
| 可擴充套件性 | ★★★★★ | ★★★☆ | ★★★★ | ★★★★★ | ★★★ |
注:以上評等為行業共識的定性判斷,非嚴格量化打分。
上下游
上游(DDPM 依賴什麼)
├── 算力基礎設施
│ ├── 訓練:GPU 叢集(A100/H100),單模型訓練需數十到數百 GPU·天
│ ├── 推論:單圖生成需多次前向傳播(T步或加速後 20-50 步)
│ └── 視訊記憶體:高解析度生成需較大視訊記憶體(>16GB for 512×512)
│
├── 網路架構元件
│ ├── U-Net 架構(源自 Ronneberger et al., 2015 醫學影像分割)
│ ├── Transformer/Self-Attention
│ └── Sinusoidal Positional Encoding(借鑑 Transformer)
│
├── 理論基礎
│ ├── 高斯擴散過程(非平衡熱力學)
│ ├── 變分推斷 / Evidence Lower Bound (ELBO)
│ ├── 去噪分數匹配 (Denoising Score Matching)
│ └── 隨機微分方程 (SDE) 理論
│
└── 資料
├── 大規模影像資料集(ImageNet、LAION-5B 等)
└── 高質量標註(CLIP embeddings 等文本-影像對)
下游(DDPM 催生了什麼)
├── 影像生成
│ ├── Stable Diffusion (LDM) → 最廣泛使用的 AI 繪畫引擎
│ ├── DALL·E 2/3 (OpenAI)
│ ├── Imagen / Parti (Google)
│ └── Midjourney
│
├── 影片生成
│ ├── Sora (OpenAI) — DiT (Diffusion Transformer) 架構
│ ├── Runway Gen-2 / Gen-3
│ └── Pika Labs / Kling (快手)
│
├── 3D 生成
│ ├── DreamFusion (Google) — 用擴散模型做 3D NeRF
│ └── Magic3D (NVIDIA)
│
├── 音訊/語音
│ ├── DiffWave, WaveGrad — 語音合成
│ └── Riffusion — 音樂生成
│
├── 科學計算
│ ├── RFdiffusion — 蛋白質設計 (Baker Lab)
│ ├── DiffDock — 分子對接
│ └── 天氣預報 / 材料設計
│
├── 加速取樣技術(下游衍生方向)
│ ├── DDIM (Song et al., 2021) — 確定性加速取樣
│ ├── DPM-Solver (Lu et al., 2022) — ODE 求解器加速
│ ├── Consistency Models (Song et al., 2023) — 一步生成
│ └── 蒸餾方法 (Progressive Distillation)
│
└── 條件生成技術
├── Classifier Guidance (Dhariwal & Nichol, 2021)
├── Classifier-Free Guidance (Ho & Salimans, 2022) ⭐
└── ControlNet / IP-Adapter / T2I-Adapter
關鍵指標
| 指標 | 說明 | DDPM 典型值 |
|---|---|---|
| FID (Fréchet Inception Distance) | 越低越好,衡量生成分佈與真實分佈的距離 | CIFAR-10 無條件: ~3.17 [Ho et al., 2020] |
| IS (Inception Score) | 越高越好,衡量質量+多樣性 | CIFAR-10 無條件: ~9.46 [Ho et al., 2020] |
| 取樣步數 | 推論時去噪迭代次數,直接影響速度 | T=1000(原始);DDIM 可減至 50-100 |
| 每步推論時間 | 單步去噪的前向傳播時間 | 取決於網路大小和解析度 |
| 引數量 | U-Net 大小 | 原始 DDPM |
| 訓練迭代數 | 達到收斂所需訓練步數 | CIFAR-10 約 800K iterations |
| NFE (Number of Function Evaluations) | 生成一張圖的總前向傳播次數 | DDPM: ~1000; DDIM-50: 50; 一致性模型: 1-2 |
注:具體 FID/IS 數值來源於 [Ho et al., NeurIPS 2020] 論文報告。不同實現、不同隨機種子、不同評估協議下數值可能有差異。
供需與市場資料
直接市場影響
DDPM 及其衍生技術驅動的市場規模,主要體現在以下環節:
| 產業環節 | 市場表現 | 資料來源 |
|---|---|---|
| AI 影像生成 | Midjourney 年營收超 2 億美元(2023) | [行業報道/估算,非官方財報] |
| 推論算力需求 | Stable Diffusion 生成一張 512×512 圖需約 20-50 步去噪,對應 ~2-5 秒(A100) | [社群基準測試估算] |
| 訓練算力 | 訓練 Stable Diffusion 級別模型需 ~150K A100 GPU·小時 [Stability AI 揭露口徑] | [企業揭露] |
| 模型壓縮需求 | ONNX / TensorRT 量化部署擴散模型成為熱點 | [開源社群] |
算力需求倍增效應
與 GAN(一步出圖)相比,DDPM 推論需數十到數百倍的前向傳播計算。這是擴散模型驅動算力需求增長的核心邏輯之一。雖然後續加速技術(DDIM、一致性模型、蒸餾)大幅降低了步數,但總體上擴散模型推論仍是計算密集型任務。
代表公司與資本對映
| 公司/機構 | DDPM 相關技術地位 | 資本關聯 |
|---|---|---|
| OpenAI | DALL·E 系列,Classifier-Free Guidance 共同提出者 | 非上市,估值 >$800 億 (2024 估算) |
| Stability AI | Stable Diffusion / SDXL 的主導開發方 | 融資超 $1 億,經歷管理層動盪 |
| Google DeepMind | Imagen、Imagen 2、DiffDock、RFdiffusion | Alphabet (GOOGL) 子公司 |
| Meta (FAIR) | Make-A-Video、Llama 生態中擴散元件 | META 上市公司 |
| NVIDIA | 硬體基礎設施(GPU)+ Magic3D 等 3D 擴散研究 | NVDA 上市公司 |
| Runway | Gen-2/Gen-3 影片生成,基於擴散模型 | 融資約 $1.4 億 |
| Midjourney | 最成功的 AI 影像生成產品之一 | 獨立運營,未融資,年營收估算 >$2 億 |
資本對映為定性梳理,具體估值/營收資料來源於公開報道和估算,非精確財務資料。
投資邏輯
核心投資主線
主線一:算力基礎設施(最確定)
邏輯:擴散模型多步推論 → 推論算力需求遠超一步生成模型
標的:NVIDIA (GPU)、AMD、自研晶片公司、雲端廠商
主線二:AI 生成式應用平台(高增長)
邏輯:Stable Diffusion / Midjourney 驗證了商業模式
標的:Adobe (Firefly)、Canva、獨立創業公司
主線三:模型基礎設施 / MLOps(衍生需求)
邏輯:擴散模型部署需要推論最佳化、模型壓縮、API 服務
標的:Replicate、Hugging Face、Modal 等
主線四:下游垂直應用(長尾機會)
邏輯:擴散模型外溢到影片/3D/生物醫藥/材料設計
標的:Runway、Generate:Biomedicines 等
關鍵風險
- 加速技術削弱算力需求: 一致性模型、蒸餾技術可能將推論步數從 50 壓縮到 1-2,顯著降低推論算力倍增效應
- 範式替代風險: Flow Matching 等新範式可能在某些場景替代傳統擴散模型
- 版權與合規風險: 訓練資料版權爭議影響商業落地
- 競爭格局: 開源模型(Stable Diffusion)可能壓縮商業化空間
常見誤讀糾偏
誤讀 1:「DDPM 推論很慢所以不實用」
糾偏: 原始 DDPM 確實需要 ~1000 步,但這是 2020 年的方法。當前實際應用中:
- DDIM [Song et al., 2021] 將步數降到 20-50 步且質量損失可控
- DPM-Solver [Lu et al., 2022] 使用高階 ODE 求解器,10-20 步即可獲得高質量結果
- 一致性模型 [Song et al., 2023] 理論上 1-2 步即可生成
- Stable Diffusion 實際部署 通常 20-30 步,單張圖在消費級 GPU 上 ~2-5 秒
“DDPM 很慢”是原始論文的技術事實,但說”擴散模型很慢”在 2024 年已不準確。
誤讀 2:「DDPM 的網路在”畫圖”」
糾偏: DDPM 的網路 ε_θ 不是在畫圖,而是在預測噪聲。具體來說:
- 輸入:帶噪圖片 x_t + 時間步 t
- 輸出:預測的噪聲 ε_θ(x_t, t)
- 最終的清晰圖片是通過迭代去噪的數學公式計算出來的,網路本身從未直接輸出一張完整圖片
這個區別很重要——它決定了 DDPM 的可控性:通過在每一步修改噪聲預測(如 classifier guidance),可以精細控制生成結果。
誤讀 3:「DDPM 和 GAN 是同類競爭技術,選一個就行」
糾偏: 兩者有本質區別:
- GAN 是對抗訓練:生成器和判別器博弈,訓練不穩定但推論快(一步前向)
- DDPM 是似然訓練(簡化形式為迴歸):訓練穩定但推論慢(多步迭代)
2024 年的實際趨勢是擴散模型在質量上全面勝出,而推論速度通過技術迭代持續改善。GAN 在即時性要求極高的場景(如超解析度、即時影片處理)仍有優勢,但新生成任務主流範式已轉向擴散模型及其變體。
誤讀 4:「FID 越低圖片看起來越好」
糾偏: FID 衡量的是生成分佈與真實分佈在 Inception-V3 特徵空間中的 Fréchet 距離。它與人類感知的”好看程度”相關但不完全一致。FID 受樣本數量、評估協議、預處理方式影響,不同論文的 FID 不能直接比較,除非使用相同的評估設定。
學習路徑
入門(需要線性代數 + 機率論基礎)
Step 1: 理解核心直覺
→ Lilian Weng 的部落格 "What are Diffusion Models?"
(https://lilianweng.github.io/posts/2021-07-11-diffusion-models/)
→ Jay Alammar 的視覺化講解
Step 2: 精讀原論文
→ Ho et al., "Denoising Diffusion Probabilistic Models" (2020)
重點理解:簡化損失的推導、取樣演算法
Step 3: 動手實現
→ Phil Wang (lucidrains) 的 PyTorch 實現
→ Hugging Face Diffusers 庫教程
進階(需要隨機過程 / SDE 基礎)
Step 4: 統一架構
→ Song et al., "Score-Based Generative Modeling through SDEs" (2021)
將 DDPM / NCSN / SMLD 統一為 SDE 架構
Step 5: 加速取樣
→ Song et al., "DDIM" (2021)
→ Lu et al., "DPM-Solver" (2022)
Step 6: 條件生成與控制
→ Ho & Salimans, "Classifier-Free Diffusion Guidance" (2022)
→ Rombach et al., "Latent Diffusion Models" (2022)
→ Zhang & Agrawala, "Adding Conditional Control to LDMs" (ControlNet, 2023)
專家級
Step 7: 理論深化
→ De Bortoli et al., 連散時間擴散模型的收斂性分析
→ Flow Matching (Lipman et al., 2023) — 擴散模型的替代公式
Step 8: 前沿追蹤
→ Consistency Models / Consistency Distillation
→ DiT (Diffusion Transformer) — Scalable Diffusion Models with Transformers
→ Rectified Flow / InstaFlow
→ 3D 擴散、影片擴散、分子擴散等垂直方向
一句話總結
DDPM 是一種通過”學習去噪”來生成資料的深度生成模型,以其訓練穩定、生成質量高的優勢取代 GAN 成為 AI 生成式範式的數學基石,直接催生了 Stable Diffusion、Sora 等現象級應用,並持續驅動推論算力需求增長。
延伸閱讀與來源
核心論文
- Ho, J., Jain, A., & Abbeel, P. (2020). Denoising Diffusion Probabilistic Models. NeurIPS 2020. [DDPM 原始論文]
- Sohl-Dickstein, J., et al. (2015). Deep Unsupervised Learning using Nonequilibrium Thermodynamics. ICML 2015. [擴散模型概念起源]
- Song, Y., & Ermon, S. (2019). Generative Modeling by Estimating Gradients of the Data Distribution. NeurIPS 2019. [NCSN / Score Matching]
- Song, Y., et al. (2021). Score-Based Generative Modeling through Stochastic Differential Equations. ICLR 2021. [Score SDE 統一架構]
- Song, J., et al. (2021). Denoising Diffusion Implicit Models (DDIM). ICLR 2021. [加速取樣]
- Nichol, A. & Dhariwal, P. (2021). Improved Denoising Diffusion Probabilistic Models. ICML 2021. [改進 DDPM]
- Dhariwal, P. & Nichol, A. (2021). Diffusion Models Beat GANs on Image Synthesis. NeurIPS 2021. [Classifier Guidance]
- Rombach, R., et al. (2022). High-Resolution Image Synthesis with Latent Diffusion Models. CVPR 2022. [LDM / Stable Diffusion 前身]
- Song, Y., et al. (2023). Consistency Models. ICML 2023. [一步生成]
高質量綜述/教程
- Lilian Weng. What are Diffusion Models? Blog, 2021. [業界公認最佳入門教程]
- Luo, C. Understanding Diffusion Models: A Unified Perspective. arXiv:2208.11970, 2022. [數學推導詳盡的綜述]
- Hugging Face. The Annotated Diffusion Model. [程式碼級教學]
來源說明
- 本文中的 FID/IS 資料來源於原始 DDPM 論文 [Ho et al., 2020] 表格報告
- 產業鏈資訊綜合自公開報道、企業揭露和行業估算,已標註口徑
- 未明確標註來源的定性描述為行業共識性判斷