AI / Technology
扩散模型如何在图像生成上击败 GAN
GAN 与扩散模型的生成路径对比
扩散模型从随机噪声出发,一步步擦掉噪声,直到图像出现。作者发现,过去它落后于 GAN,不一定是生成原理不行,而是网络架构不够讲究,也缺少一个能主动偏向“更逼真”结果的控制杆。他们先改造去噪 U-Net,再用分类器的梯度在每一步校正方向,于是扩散模型不仅拿到更低的 FID,还保留了比 BigGAN-deep 更好的样本覆盖度。论文摘要、§3–5
从噪声逐步去噪成图像
扩散模型的训练目标更直接,样本覆盖通常也更好,但当时在自然图像基准上仍落后于 GAN。它还有一个结构性成本:生成时要反复调用去噪网络。作者把问题收敛成两个可操作的缺口——网络架构还未经过充分打磨,以及没有明确机制在“逼真度”和“多样性”之间调节。论文 §1–2
基础 U-Net 与论文改进 U-Net
第一步不是换掉扩散过程,而是系统改造 U-Net。最终模型在 32×32、16×16、8×8 三个分辨率加入注意力;每个注意力头固定处理 64 个通道;用 BigGAN 风格的残差块完成上、下采样;并用自适应组归一化(AdaGN)把时间步和类别信息注入残差块。消融实验里,基础模型在 70 万步的 FID 为 15.33,组合改进后降低约 3.14;单看条件注入,AdaGN 的 FID 为 13.06,优于“相加后再组归一化”的 15.08。论文 §3、表1–3
分类器梯度如何推动每一步去噪
作者另外训练一个能识别带噪图像的分类器。采样时,分类器判断“怎样改动当前带噪图像,会更像目标类别”,它的梯度再轻推去噪模型的下一步。重点在于,这不是生成结束后筛图,而是每一步都参与导航。把梯度乘上大于 1 的系数,会更强烈地追逐分类器认为典型的特征。论文 §4.1–4.2
分类器引导与扩散上采样的组合
高分辨率生成可以拆成两段:先在低分辨率上用分类器引导把语义定准,再让扩散上采样模型补细节。两种方法互补:在 ImageNet 256×256 上,无引导 ADM 的 FID 是 10.94,单用上采样是 7.49,单用引导是 4.59,合用后是 3.94;在 512×512 上合用后达到 3.85。论文 §5.2、表6
引导强度带来的逼真度与多样性取舍
分类器引导不是免费午餐。在 ImageNet 256×256 上,无引导模型的 FID / precision / recall 是 10.94 / 0.69 / 0.63;引导尺度为 1 时变成 4.59 / 0.82 / 0.52;尺度拉到 10,precision 升到 0.88,但 recall 跌到 0.32,FID 也反弹到 9.11。最好的综合点在中间,而不是把引导无限拧大。论文 §4.3、表4
研究附录
官方标题:Diffusion Models Beat GANs on Image Synthesis
作者:Prafulla Dhariwal、Alex Nichol|arXiv: 2105.05233|首次提交:2021-05-11|版本:v4
读完只需记住三点:
- 这篇论文不是发明了扩散模型,而是把扩散模型的 U-Net 做强,再加入 分类器引导。
- 引导强度像一个旋钮:拧高后图像更像目标类别,但样本会越来越相似;最佳 FID 通常在中间位置。
- 它第一次在多组 ImageNet 指标上正面超过当时的强 GAN,但最佳成绩花费的计算量也明显更大。
核心结论
真正的突破是“更强架构 + 可调引导”
扩散模型从随机噪声出发,一步步擦掉噪声,直到图像出现。作者发现,过去它落后于 GAN,不一定是生成原理不行,而是网络架构不够讲究,也缺少一个能主动偏向“更逼真”结果的控制杆。他们先改造去噪 U-Net,再用分类器的梯度在每一步校正方向,于是扩散模型不仅拿到更低的 FID,还保留了比 BigGAN-deep 更好的样本覆盖度。论文摘要、§3–5
这张图抓住了两者最直观的区别:GAN 让生成器和判别器对抗,通常一次前向计算就出图;扩散模型把出图变成连续去噪,并可在每一步接受分类器引导。论文的胜利主要发生在画质与覆盖度上,并没有消除多步采样的速度代价。
问题
GAN 的优势也藏着代价
2021 年前后,BigGAN、StyleGAN 等模型在高保真图像上很强,但 GAN 的训练依赖生成器与判别器的动态平衡,可能出现训练不稳或“模式坍塌”:几张图很好看,却没有覆盖真实数据里的全部变化。论文因此不只看 FID,还同时报告 precision(样本有多逼真)与 recall(覆盖得有多广)。论文 §1、§5
扩散模型差在画质和速度
扩散模型的训练目标更直接,样本覆盖通常也更好,但当时在自然图像基准上仍落后于 GAN。它还有一个结构性成本:生成时要反复调用去噪网络。作者把问题收敛成两个可操作的缺口——网络架构还未经过充分打磨,以及没有明确机制在“逼真度”和“多样性”之间调节。论文 §1–2
方法
先把去噪网络做扎实
第一步不是换掉扩散过程,而是系统改造 U-Net。最终模型在 32×32、16×16、8×8 三个分辨率加入注意力;每个注意力头固定处理 64 个通道;用 BigGAN 风格的残差块完成上、下采样;并用自适应组归一化(AdaGN)把时间步和类别信息注入残差块。消融实验里,基础模型在 70 万步的 FID 为 15.33,组合改进后降低约 3.14;单看条件注入,AdaGN 的 FID 为 13.06,优于“相加后再组归一化”的 15.08。论文 §3、表1–3
再让分类器在每一步“扶方向盘”
作者另外训练一个能识别带噪图像的分类器。采样时,分类器判断“怎样改动当前带噪图像,会更像目标类别”,它的梯度再轻推去噪模型的下一步。重点在于,这不是生成结束后筛图,而是每一步都参与导航。把梯度乘上大于 1 的系数,会更强烈地追逐分类器认为典型的特征。论文 §4.1–4.2
最后把引导和上采样接起来
高分辨率生成可以拆成两段:先在低分辨率上用分类器引导把语义定准,再让扩散上采样模型补细节。两种方法互补:在 ImageNet 256×256 上,无引导 ADM 的 FID 是 10.94,单用上采样是 7.49,单用引导是 4.59,合用后是 3.94;在 512×512 上合用后达到 3.85。论文 §5.2、表6
证据与局限
在 ImageNet 上,扩散不只 FID 更低
最有说服力的是 256×256 对比:ADM-G 的 FID 为 4.59,低于 BigGAN 的 6.95;precision 略低,但 recall 从 0.28 提高到 0.52,说明它不是只靠少数“标准答案”刷出好成绩。即使只用 25 次去噪网络前向计算,ADM-G 的 FID 也达到 5.44,仍优于 BigGAN,同时 recall 为 0.49。论文 §5.1、表5
| ImageNet 设置 | 模型 | FID ↓ | Precision ↑ | Recall ↑ |
|---|---|---|---|---|
| 128×128 | BigGAN-deep | 6.02 | 0.86 | 0.35 |
| 128×128 | ADM-G | 2.97 | 0.78 | 0.59 |
| 256×256 | BigGAN | 6.95 | 0.87 | 0.28 |
| 256×256 | ADM-G(25 步) | 5.44 | 0.81 | 0.49 |
| 256×256 | ADM-G(完整采样) | 4.59 | 0.82 | 0.52 |
| 512×512 | BigGAN | 8.43 | 0.88 | 0.29 |
| 512×512 | ADM-G | 7.72 | 0.87 | 0.42 |
FID 越低越好;precision 和 recall 越高越好。粗略地说,precision 问“生成结果像不像真的”,recall 问“真实世界的变化有没有被覆盖”。同一行的加粗只突出该组对比里的优势,不表示这些指标完美等同于人类判断。
引导越强,画面越准,覆盖越窄
分类器引导不是免费午餐。在 ImageNet 256×256 上,无引导模型的 FID / precision / recall 是 10.94 / 0.69 / 0.63;引导尺度为 1 时变成 4.59 / 0.82 / 0.52;尺度拉到 10,precision 升到 0.88,但 recall 跌到 0.32,FID 也反弹到 9.11。最好的综合点在中间,而不是把引导无限拧大。论文 §4.3、表4
最好看的结果不等于同等算力
附录的训练预算估算说明,完整 ADM-G 的最佳分数通常用了比 GAN 基线更多的 V100-days;作者也给出提前停止的版本,表明在近似预算下仍能超过 GAN,但 TPU 与 V100 的换算本身只是粗略估计。另有三点限制不能略过:分类器引导依赖带标签数据;FID、precision、recall 都不是人类偏好的完美替身,而且预处理差异会影响分数;扩散采样仍需多次网络计算。论文证明的是一条强而可控的生成路线,不是“GAN 在所有维度都已过时”。论文 §6–7、附录D、表10
实际意义
它证明了什么
这篇论文把扩散模型从“训练稳、覆盖广但图不够好”的候选路线,推成了可以正面竞争顶级 GAN 的图像生成框架。更重要的是,它展示了一套后来影响深远的思路:先训练一个通用的去噪生成器,再在采样阶段加入外部信号控制方向。控制能力不必完全塞进生成器本身,而可以在生成过程中施加。
它没有证明什么
它没有证明每张图都比 GAN 更好,也没有证明更低 FID 就一定更符合人的审美;没有解决无标签数据上的同类引导问题;更没有消除扩散模型的采样成本。最近邻检查只显示论文抽查的样本不像训练集中的直接复制,不能据此推出模型绝不会记忆训练数据。论文 §6–7、附录C
继续读这类论文时,该问什么
看到“超过 GAN”时,先问四件事:比较的是 FID、人的偏好,还是两者都有;precision 提高时 recall 是否下降;采样步数和训练算力是否处在同一量级;控制信号是否依赖额外标签或模型。用这四个问题重读本文,会发现它最扎实的贡献不是一句排行榜口号,而是把画质、覆盖、速度和控制放到同一张账单里。
关于这篇论文的三个关键问题
扩散模型如何在图像生成上击败 GAN 解决了什么问题?
2021 年前后,BigGAN、StyleGAN 等模型在高保真图像上很强,但 GAN 的训练依赖生成器与判别器的动态平衡,可能出现训练不稳或“模式坍塌”:几张图很好看,却没有覆盖真实数据里的全部变化。论文因此不只看 FID,还同时报告 precision(样本有多逼真)与 recall(覆盖得有多广)。论文 §1、§5
扩散模型如何在图像生成上击败 GAN 的核心结论有哪些证据?
最有说服力的是 256×256 对比:ADM-G 的 FID 为 4.59,低于 BigGAN 的 6.95;precision 略低,但 recall 从 0.28 提高到 0.52,说明它不是只靠少数“标准答案”刷出好成绩。即使只用 25 次去噪网络前向计算,ADM-G 的 FID 也达到 5.44,仍优于 BigGAN,同时 recall 为 0.49。论文 §5.1、表5
阅读 扩散模型如何在图像生成上击败 GAN 时最需要注意什么局限?
FID 越低越好;precision 和 recall 越高越好。粗略地说,precision 问“生成结果像不像真的”,recall 问“真实世界的变化有没有被覆盖”。同一行的加粗只突出该组对比里的优势,不表示这些指标完美等同于人类判断。