Denoising Diffusion Probabilistic Models (DDPM)
去噪扩散概率模型
Denoising Diffusion Probabilistic Models (DDPM)
一、论文概述
| 项目 | 内容 |
|---|---|
| 标题 | Denoising Diffusion Probabilistic Models |
| 作者 | Jonathan Ho, Ajay Jain, Pieter Abbeel |
| 机构 | UC Berkeley |
| 论文 | arXiv:2006.11239 |
| 代码 | GitHub |
| 发布 | 2020年6月19日 |
| 主题 | cs.LG, stat.ML |
| 引用 | 19,949(截至 2026年) |
| 会议 | NeurIPS 2020 |
二、核心思想
问题定义
生成模型的目标是学习数据分布 并从中采样。现有方法(如 GAN、VAE)各有优缺点:
- GAN: 高质量样本,但训练不稳定,模式崩溃
- VAE: 稳定训练,但样本质量较低
- 自回归模型: 高质量,但采样速度慢
解决方案概述
DDPM (Denoising Diffusion Probabilistic Models) 是一类潜变量模型,灵感来自非平衡热力学:
- 前向过程: 逐步向数据添加高斯噪声,直到变为纯噪声
- 反向过程: 学习逐步去噪,从噪声生成数据
- 训练目标: 预测每步添加的噪声
核心性能
| 指标 | 数值 |
|---|---|
| CIFAR-10 FID | 3.17(当时 SOTA) |
| CIFAR-10 IS | 9.46 |
| LSUN 256×256 | 质量接近 ProgressiveGAN |
| CelebA-HQ 256×256 | 高质量人脸生成 |
三、技术架构
核心公式
前向过程 (Forward Process)
逐步向数据添加高斯噪声:
其中 是噪声调度 (noise schedule)。
关键性质: 可以直接采样任意时间步 的噪声版本:
其中 ,。
反向过程 (Reverse Process)
学习从噪声逐步去噪:
训练目标
简化损失函数 (predict noise):
其中 是添加的噪声, 是模型预测的噪声。
算法
训练算法:
repeat:
1. 采样 x_0 ~ q(x_0)
2. 采样 t ~ Uniform({1, ..., T})
3. 采样 ε ~ N(0, I)
4. 计算 x_t = √(ᾱ_t) * x_0 + √(1-ᾱ_t) * ε
5. 计算损失 ||ε - ε_θ(x_t, t)||²
until 收敛
采样算法:
1. 采样 x_T ~ N(0, I)
2. for t = T, ..., 1:
a. 采样 z ~ N(0, I) if t > 1, else z = 0
b. 计算 x_{t-1} = (1/√α_t) * (x_t - (β_t/√(1-ᾱ_t)) * ε_θ(x_t, t)) + σ_t * z
3. return x_0
模型架构
U-Net 架构:
- 编码器-解码器结构
- 跳跃连接 (skip connections)
- 位置嵌入 (positional embedding) for timestep
- 残差块 (residual blocks)
- 注意力层 (attention layers)
四、核心创新
| 创新点 | 说明 | 理论/实验依据 |
|---|---|---|
| 简化训练目标 | 预测噪声而非均值 | 更好的样本质量 |
| 与去噪分数匹配的联系 | 建立理论联系 | 统一框架 |
| 渐进有损解压缩 | 可解释的压缩方案 | 多粒度重建 |
| 线性噪声调度 | 简单有效的调度策略 | β_t 从 10⁻⁴ 到 0.02 |
五、实验结果
CIFAR-10 无条件生成
| 方法 | FID↓ | IS↑ |
|---|---|---|
| PixelCNN++ | 3.17 | 9.46 |
| StyleGAN2-ADA | 2.42 | 9.21 |
| NVAE | 23.5 | - |
| DDPM | 3.17 | 9.46 |
关键结果:
- FID 3.17,当时无条件生成 SOTA
- IS 9.46,与 GAN 方法相当
LSUN 数据集
| 数据集 | 分辨率 | 样本质量 |
|---|---|---|
| LSUN-Bedroom | 256×256 | 接近 ProgressiveGAN |
| LSUN-Church | 256×256 | 接近 ProgressiveGAN |
| LSUN-Cat | 256×256 | 接近 ProgressiveGAN |
CelebA-HQ
- 256×256 高质量人脸生成
- 支持插值和重建
- 潜在空间编码有意义的高层属性
压缩能力
渐进有损解压缩:
- 控制压缩程度
- 多粒度重建
- 从粗到细的插值
六、理论贡献
与去噪分数匹配的联系
DDPM 的训练目标等价于去噪分数匹配 (denoising score matching):
这意味着模型隐式学习了数据分布的分数函数 (score function)。
与 Langevin 动力学的联系
采样过程类似于 Langevin 动力学:
变分下界
DDPM 的训练目标是变分下界 (variational bound) 的加权版本:
其中:
七、与现有方法对比
| 方面 | GAN | VAE | 自回归 | DDPM |
|---|---|---|---|---|
| 训练稳定性 | 不稳定 | 稳定 | 稳定 | 稳定 |
| 样本质量 | 高 | 中等 | 高 | 高 |
| 采样速度 | 快 | 快 | 慢 | 慢 |
| 模式覆盖 | 差 | 好 | 好 | 好 |
| 似然估计 | 无 | 有 | 有 | 有 |
| 压缩能力 | 无 | 有 | 有 | 有 |
八、影响与后续发展
直接影响
| 工作 | 贡献 |
|---|---|
| DALL-E 2 | 文本到图像生成 |
| Stable Diffusion | 开源文本到图像模型 |
| Imagen | Google 的文本到图像模型 |
| Midjourney | 商业图像生成服务 |
技术扩展
| 方向 | 代表工作 |
|---|---|
| 条件生成 | Classifier-guided diffusion |
| 文本到图像 | GLIDE, DALL-E 2, Imagen |
| 视频生成 | Video Diffusion, Sora |
| 3D 生成 | DreamFusion, Magic3D |
| 音频生成 | DiffWave, WaveGrad |
| 加速采样 | DDIM, DPM-Solver |
理论发展
| 方向 | 贡献 |
|---|---|
| 分数匹配 | 统一框架 |
| Flow Matching | 连续时间扩展 |
| 一致性模型 | 单步生成 |
| Rectified Flow | 直线路径 |
九、相关工作
| 相关工作 | 与本文关系 |
|---|---|
| Sohl-Dickstein et al. (2015) | 原始扩散概率模型 |
| Song & Ermon (2019) | 去噪分数匹配 |
| Kingma et al. (2021) | 扩展变分下界 |
| Nichol & Dhariwal (2021) | 改进 DDPM |
| Song et al. (2020) | DDIM 加速采样 |
十、总结
核心贡献
- 简化训练目标: 预测噪声的简化损失函数
- 理论联系: 建立与去噪分数匹配和 Langevin 动力学的联系
- SOTA 性能: CIFAR-10 FID 3.17,无条件生成 SOTA
- 压缩能力: 渐进有损解压缩,多粒度重建
- 奠基性工作: 开启扩散模型时代
技术影响
- 开创性: 扩散模型的基础性工作
- 广泛应用: 图像、视频、音频、3D 等领域
- 产业影响: Stable Diffusion、DALL-E、Midjourney 等
- 理论基础: 为后续扩散模型研究提供理论框架
局限性
- 采样速度慢(需要数百步去噪)
- 计算成本高
- 需要大量训练数据
- 高分辨率生成仍有挑战
十一、关键公式速查
| 公式 | 说明 |
|---|---|
| $q(\mathbf{x}_t | \mathbf{x}{t-1}) = \mathcal{N}(\sqrt{1-\beta_t}\mathbf{x}{t-1}, \beta_t \mathbf{I})$ |
| $q(\mathbf{x}_t | \mathbf{x}_0) = \mathcal{N}(\sqrt{\bar{\alpha}_t}\mathbf{x}_0, (1-\bar{\alpha}_t)\mathbf{I})$ |
| 简化损失 | |
| 采样公式 |
十二、参考资源
- 论文: arXiv:2006.11239
- 代码: GitHub
- 网站: Project Page
- 主题: cs.LG, stat.ML
- 页数: 约 20 页
- 引用: 19,949+