返回报告库

AI / Technology

扩散概率模型把图像生成拆成很多个小去噪步骤

扩散模型的前向加噪与反向去噪

图 1|同一条时间线的两个方向。上行是固定的加噪过程,下行是模型学习的生成过程。示意图为本文原创教学图,不是论文原图。来源:论文第 2 节、式(2)与算法 2。

  1. 先学会“弄脏”,再学会倒放。 前向过程按固定规则逐步加入高斯噪声;模型只学习反向过程,每一步去掉一点噪声。
  2. 网络预测的是噪声,不是整张成品。 训练时随机抽一个时刻,把已知噪声加到真实图像上,让网络猜出这份噪声;这个简化目标带来了更好的样本质量。
  3. 质量的代价是速度。 论文在无条件 CIFAR-10 上报告 FID 3.17,但一次生成需要 1000 次神经网络评估;论文中的渐进压缩也只是概念验证。

扩散模型的单次训练样本

图 2|一次训练只需随机抽取一个噪声时刻:已知加入了什么噪声,就能监督网络预测它。来源:论文算法 1、式(4)与式(14)。

第二步:让一个共享参数的 U-Net 猜噪声。 给网络看带噪图像 xtx_t 和时刻 tt,让它预测当初加入的噪声 ϵ\epsilon。训练损失就是预测噪声与真实噪声的均方误差。作者把这一参数化联系到多噪声尺度的去噪分数匹配,并发现去掉原变分界中某些权重的简化目标,会牺牲一些无损编码表现,却改善生成样本质量。【来源:第 3.2、3.4 节,式(11)、(14);第 4.1–4.2 节】

扩散模型从粗到细的生成过程

图 3|从噪声到图像不是一次猜中,而是先形成轮廓与结构,再补充细节。该图只表达论文报告的粗到细现象,不代表每一步都有可辨认物体。来源:第 4.3 节及图 6。

第三步:生成时反复调用同一个网络。 从纯噪声 xTx_T 出发,网络在每个时刻预测噪声,据此计算稍干净一点的 xt1x_{t-1},直到得到 x0x_0。早期步骤决定大尺度结构,后期步骤补充细节;论文的渐进生成实验确实观察到“大特征先出现、细节后出现”。【来源:算法 2;第 4.3 节,图 6】

研究附录

论文:Jonathan Ho、Ajay Jain、Pieter Abbeel,Denoising Diffusion Probabilistic Models(2020)
一句话问题:能否不用生成器与判别器对抗,而是从随机噪声出发,靠许多次容易学习的小修正生成高质量图像?

一、先记住这三点

  1. 先学会“弄脏”,再学会倒放。 前向过程按固定规则逐步加入高斯噪声;模型只学习反向过程,每一步去掉一点噪声。
  2. 网络预测的是噪声,不是整张成品。 训练时随机抽一个时刻,把已知噪声加到真实图像上,让网络猜出这份噪声;这个简化目标带来了更好的样本质量。
  3. 质量的代价是速度。 论文在无条件 CIFAR-10 上报告 FID 3.17,但一次生成需要 1000 次神经网络评估;论文中的渐进压缩也只是概念验证。

二、问题:为什么要把一次生成拆成很多步

直接从随机数跳到一张自然图像,是一个跨度很大的映射。2020 年前后的主流路线各有明显取舍:GAN 能生成锐利图像,但依赖生成器与判别器的对抗训练;自回归模型把图像按像素或通道顺序逐项生成,似然建模清楚,却受到固定生成顺序的约束;VAE 和流模型则在样本质量、似然与结构限制之间权衡。

这篇论文把大跳跃拆成许多小问题:如果相邻两个状态只差一点点高斯噪声,那么“下一步该去掉什么”更容易用条件高斯分布和神经网络表达。作者并非最早提出扩散概率模型;论文的推进在于给出更有效的参数化和训练目标,并首次有力展示这类模型能够生成高质量图像。【来源:第 1 节;第 2 节】

三、方法:模型到底学了什么

第一步:定义一条无需学习的加噪链。 从真实图像 x0x_0 开始,每一步保留大部分当前图像,再加入少量高斯噪声。经过 T=1000T=1000 步后,信号几乎被破坏,终点接近标准高斯噪声。因为这个过程有闭式表达,训练时可以直接构造任意时刻 xtx_t,不必真的从第 1 步一路模拟到第 tt 步。【来源:第 2 节,式(2)、(4);第 4 节】

第二步:让一个共享参数的 U-Net 猜噪声。 给网络看带噪图像 xtx_t 和时刻 tt,让它预测当初加入的噪声 ϵ\epsilon。训练损失就是预测噪声与真实噪声的均方误差。作者把这一参数化联系到多噪声尺度的去噪分数匹配,并发现去掉原变分界中某些权重的简化目标,会牺牲一些无损编码表现,却改善生成样本质量。【来源:第 3.2、3.4 节,式(11)、(14);第 4.1–4.2 节】

第三步:生成时反复调用同一个网络。 从纯噪声 xTx_T 出发,网络在每个时刻预测噪声,据此计算稍干净一点的 xt1x_{t-1},直到得到 x0x_0。早期步骤决定大尺度结构,后期步骤补充细节;论文的渐进生成实验确实观察到“大特征先出现、细节后出现”。【来源:算法 2;第 4.3 节,图 6】

四、证据与边界:它做到了什么,又没证明什么

最强结果来自无条件 CIFAR-10:论文报告 Inception Score 9.46、FID 3.17。需要注意,3.17 是相对训练集计算的 FID;相对测试集计算时为 5.24。作者还在 256×256 的 LSUN 上报告了与 ProgressiveGAN 相近的样本质量,但不同类别并非全面领先:例如附录表 3 中,本方法在 Bedroom、Church、Cat 上的 FID 分别为 6.36、7.89、19.75,而 ProgressiveGAN 为 8.34、6.42、37.52。【来源:摘要;第 4.1 节;附录表 3】

消融实验支持“预测噪声 + 简化目标”这一组合:固定反向方差时,预测噪声在完整变分界下与预测均值表现接近,却在简化目标下明显更好;学习反向方差则出现训练不稳定和更差样本。【来源:第 4.2 节、表 2】

边界同样重要:

  • 慢。 所有实验使用 T=1000T=1000,所以每批生成要执行 1000 次网络评估。附录报告:TPU v3-8 上,生成 256 张 CIFAR-10 图像约 17 秒;生成 128 张 256×256 图像约 300 秒。【来源:第 4 节;附录 B】
  • 似然并不领先。 作者明确说,其无损编码长度不如其他基于似然的生成模型;高质量样本与优秀似然不是一回事。【来源:第 1 节、第 4.3 节】
  • 压缩不是可用产品。 渐进有损压缩依赖高维数据上不可处理的最小随机编码程序,作者称其为 proof of concept,而非实用压缩系统。【来源:附录“Progressive compression”】
  • 评估范围有限。 结果集中在 CIFAR-10、CelebA-HQ 与若干 LSUN 类别,主要依赖 IS/FID 和视觉样本;论文没有证明文本条件控制、超高分辨率生成或广泛跨域泛化。
  • 社会风险不会因换了模型而消失。 作者指出生成模型可降低伪造图像与视频的门槛,也会继承并放大训练数据中的偏差。【来源:Broader Impact】

五、实际意义:该把这篇论文放在什么位置

这篇论文的重要性,不只是把一个 FID 数字做低,而是给出了一个后来很有生命力的工程接口:固定破坏过程,学习许多噪声尺度上的局部修复规则,再把这些规则串成生成器。 预测噪声让训练目标极其简单;时间条件 U-Net 让同一个网络覆盖全部步骤;粗到细的潜变量结构又为编辑、插值和条件控制留下空间。这里“为后续应用留下空间”是基于机制的解释,不是论文已经验证的产品能力。

对实践者,最值得带走的决策是:当稳定训练和样本质量比单次生成延迟更重要时,这条路线很有吸引力;当实时生成、低算力部署或严格似然最重要时,原始的 1000 步方案并不合适。后续方法可以围绕减少采样步数、学习更好的方差与噪声日程、加入条件信号继续优化,但这些改进不应倒算成本文的实验结论。


研究附录:证据账本

项目论文证据解释时的约束
研究对象扩散概率模型;固定前向马尔可夫链,学习反向条件高斯链不是本文首次提出该模型类别
核心参数化网络 ϵθ(xt,t)\epsilon_\theta(x_t,t) 预测加入的噪声与去噪分数匹配、Langevin 动力学的联系是作者的主要贡献之一
训练目标随机抽 tt,最小化噪声预测均方误差是重新加权的变分界;样本更好但编码长度更差
采样设置全部实验 T=1000T=1000原始方法的延迟与步数直接相关
CIFAR-10无条件 IS 9.46;FID 3.17(训练集参照)、5.24(测试集参照)比较 FID 时必须说明参照集
计算规模CIFAR-10 35.7M 参数;LSUN/CelebA-HQ 114M;大 Bedroom 约 256M不是轻量模型结论
训练资源TPU v3-8;CIFAR-10 800k 步约 10.6 小时硬件与实现来自 2020 年论文附录,不能外推到现代系统
压缩观察最高样本质量模型 rate 1.78 bits/dim、distortion 1.97 bits/dim;RMSE 0.95/255渐进编码算法在高维上不可处理,仅概念验证

术语小抄

  • 高斯噪声:每个位置叠加的随机扰动服从正态分布。
  • 去噪分数匹配(denoising score matching):学习“怎样移动会让带噪样本更像数据”的方向;本文通过预测噪声得到与它对应的参数化。
  • 变分界(variational bound):用于训练潜变量概率模型的可计算目标;本文用它组织反向链的学习。
  • FID:比较生成图像与真实图像特征分布差异的指标,通常越低越好;数值会受数据集、参照集与实现影响。
  • 无条件生成:不提供类别或文字提示,只从训练分布中采样。

读论文时可继续核验的问题

  1. 表 1 的 FID 比较是否使用一致的样本数、预处理与参照集?本文自己的 CIFAR-10 指标使用 50,000 个样本,但跨论文比较仍可能受实现影响。
  2. 表 2 中“预测噪声”的优势有多少来自参数化,有多少来自简化损失的权重?两者是组合关系,不宜拆成单一因果结论。
  3. 若减少 1000 步,质量与速度如何变化?本文只指出扩散链可以缩短,并未给出系统的少步采样实验。

来源

本文以 v2(2020-12-16)为准。所有图均为依据论文机制重新制作的教学示意,不复用论文图像,也不把图中形态当作实验样本。

关于这篇论文的三个关键问题

扩散概率模型:把图像生成拆成很多个小去噪步骤 解决了什么问题?

直接从随机数跳到一张自然图像,是一个跨度很大的映射。2020 年前后的主流路线各有明显取舍:GAN 能生成锐利图像,但依赖生成器与判别器的对抗训练;自回归模型把图像按像素或通道顺序逐项生成,似然建模清楚,却受到固定生成顺序的约束;VAE 和流模型则在样本质量、似然与结构限制之间权衡。

扩散概率模型:把图像生成拆成很多个小去噪步骤 的核心结论有哪些证据?

最强结果来自无条件 CIFAR-10:论文报告 Inception Score 9.46、FID 3.17。需要注意,3.17 是相对训练集计算的 FID;相对测试集计算时为 5.24。作者还在 256×256 的 LSUN 上报告了与 ProgressiveGAN 相近的样本质量,但不同类别并非全面领先:例如附录表 3 中,本方法在 Bedroom、Church、Cat 上的 FID 分别为 6.36、7.89、19.75,而 ProgressiveGAN 为 8.34、6.42、37.52。【来源:摘要;第 4.1 节;附录表 3】

阅读 扩散概率模型:把图像生成拆成很多个小去噪步骤 时最需要注意什么局限?

最强结果来自无条件 CIFAR-10:论文报告 Inception Score 9.46、FID 3.17。需要注意,3.17 是相对训练集计算的 FID;相对测试集计算时为 5.24。作者还在 256×256 的 LSUN 上报告了与 ProgressiveGAN 相近的样本质量,但不同类别并非全面领先:例如附录表 3 中,本方法在 Bedroom、Church、Cat 上的 FID 分别为 6.36、7.89、19.75,而 ProgressiveGAN 为 8.34、6.42、37.52。【来源:摘要;第 4.1 节;附录表 3】

今天还可免费读 2 篇新报告订阅 Pro 后无限阅读,并获得每月 10 篇新论文生成额度。升级 Pro