DDPM:让扩散模型真正跑通的那篇论文
DDPM 训练一个网络逐步还原高斯加噪过程,在 CIFAR-10 上把 FID 打到 3.17——也为后来的 Stable Diffusion、DALL-E 2 打下了地基。
快速答案
DDPM(去噪扩散概率模型)由加州大学伯克利分校的 Ho、Jain、Abbeel 提出,证明只要训练一个网络去逆转「缓慢加高斯噪声」的过程,就能生成高质量图像,而且采样质量超过当时多数 GAN。在无条件 CIFAR-10 上,它的 Inception 分数为 9.46,FID 为 3.17——这个 FID 在发表时是当时最优。在 256x256 的 LSUN 上,它与 ProgressiveGAN 相当。扩散思路在 2020 年前就已存在,但正是这篇论文让它训得起来、也生成得好看。
前向与反向扩散过程
整套机制有两个方向。前向过程拿一张真实图像,在很多步里每步加一点高斯噪声(论文用 T = 1000 步),到最后一步图像已和纯噪声无异。这个方向是固定的,没什么要学,只是一个噪声调度。
反向过程才是模型登场的地方。网络被训练去「一步步撤销加噪」:给定第 t 步的含噪图像,预测如何往第 t-1 步退回去。把这些预测从纯噪声一路串回去,就得到一张全新样本。关键在于:因为每个前向步都是小幅高斯,每个反向步也能用高斯来建模,这正是整件事可解的原因。
还有一个巧妙性质:借助高斯运算,你可以用闭式解直接跳到任意噪声级 t,无需逐步模拟中间过程。这让训练变得便宜——随机采一个 t,把图像直接腐蚀到那个级别,在它上面训练即可。
让它跑通的简化目标
按理说,训练这套东西要靠对数似然的变分下界,里面塞满了加权项和 KL 散度。DDPM 关键的实用一招,是把反向步改写成让网络去预测当初加进去的噪声,而非去噪后的图像;然后干脆扔掉那些花哨的逐步权重,只最小化「真实噪声」与「预测噪声」之间的均方误差。
这个 L_simple 目标简单到近乎令人尴尬——预测噪声,算 MSE——可它训练起来反而更稳,样本也比完整加权下界更好。作者还点出了这篇论文副标题的来由:该目标等价于在多个噪声尺度上做去噪分数匹配,而采样过程类似退火朗之万动力学。扩散模型与基于分数的模型,其实是同一件事的两种视角。
关键结果
- CIFAR-10(无条件): Inception 分数 9.46,FID 3.17——发表时为当时最优,优于同期强势的 GAN。
- LSUN 256x256: 在卧室、教堂等场景上,样本质量与 ProgressiveGAN 相当。
- 架构: 以 U-Net 为骨干,带自注意力和一个共享的时间步嵌入;没有 GAN 判别器,没有对抗训练,也没有模式崩塌的烦恼。
- 渐进式解压: 因为生成是从粗到细,模型天然给出一种有损解压视角,论文把它诠释为自回归解码的推广。
局限与存疑
最诚实的短板是速度。采样要把网络按所有 T 步顺序跑一遍——原始设定下,生成一张图要 1000 次前向传播——这比 GAN 的单次前向慢了好几个数量级。论文还报告,DDPM 出色的样本质量并不伴随有竞争力的对数似然;在密度估计这项指标上,它落后于最好的基于似然的模型。所以它是个出色的采样器,而非出色的压缩器。而且这里的结果都是无条件、无类别的——没有文本条件、没有无分类器引导,也没有后来把扩散变成文生图引擎的那套机制。这些都是后续工作补上的(DDIM 做快速采样,潜空间扩散做规模化,引导做可控生成)。
常见问题
什么是去噪扩散概率模型(DDPM)?
DDPM 是一类生成模型,它通过逆转「逐步加噪」来生成图像:在很多步里每步去掉一点高斯噪声,从纯噪声开始,到干净样本结束。Ho、Jain、Abbeel 在 2020 年的这篇论文是经典出处。
DDPM 这篇论文为什么重要?
它是让扩散模型在高质量图像合成上真正变得实用的论文,在 CIFAR-10 上拿到 FID 3.17,采样质量超过 GAN。后来的文生图系统——Stable Diffusion、DALL-E 2、Imagen——都建立在 DDPM 确立的扩散训练配方之上。
DDPM 和 GAN 有什么不同?
DDPM 没有判别器,也没有对抗博弈。它只用一个简单的「预测噪声 + 均方误差」损失训练单个网络,绕开了 GAN 的不稳定和模式崩塌——代价是采样要走很多步,而非 GAN 的一次前向。
DDPM 的简化训练目标是什么?
DDPM 不去优化完整的变分下界,而是训练网络预测「加进图像的噪声」,并对真实噪声做均方误差最小化(即 L_simple 损失)。扔掉逐步权重后,训练更简单,样本反而更好。
一句话:预测噪声、一步步逆转,就得到了一个终于打败 GAN 的生成器——这是现代图像生成时代的种子。阅读 arXiv 原文。