← 总目录 / 板块四 · 多模态模型的发展
板块四 · 多模态模型的发展

第31篇 · DDPM

五年沉寂后的引爆点:把变分下界砍成一行 MSE,扩散模型第一次打赢了 GAN
Denoising Diffusion Probabilistic Models · Jonathan Ho, Ajay Jain, Pieter Abbeel(UC Berkeley)· 2020 · arXiv:2006.11239
本材料说明:所有数字复述自论文原文,未做外部独立验证;【论文声称】=作者观点;【实验支持】=文中有数据支撑;【解读者推断】=精读者推理。来源标注指明各节对应原论文章节。

一、全局大图

1.1 摘要—章节对照导航表

摘要短语对应原文章节精读章节
"high quality image synthesis using diffusion probabilistic models"§1 引言 / §4 实验第二章、第六章
"weighted variational bound … novel connection"§3 方法(L_simple)第四章 ε 预测与 L_simple
"denoising score matching with Langevin dynamics"§3.2 / §5 / 附录 C第五章 与 NCSN 的等价性
"progressive lossy decompression … generalization of autoregressive decoding"§4.3 渐进编码第七章 渐进生成与率失真
"CIFAR10 IS 9.46 / FID 3.17;LSUN ≈ ProgressiveGAN"§4.1 Table 1–3第六章 实验精读

1.2 知识依赖图

前向过程闭式性质(αt=1−βt、ᾱt=∏αs)→ 枢纽节点:重参数化 xt=√ᾱtx₀+√(1−ᾱt → Lt−1 化为 ‖ε−εθ‖² 加权 → 去权得 L_simple → 训练算法(Algorithm 1)→ 采样式即类 Langevin 动力学(Algorithm 2)→ 等价于多噪声水平 denoising score matching → 高样本质量(Table 1)→ 率失真分析与渐进解码。

主干线是"重参数化 ⟹ ε 预测 ⟹ 去权重 ⟹ 赢"。"ᾱt 闭式采样"被最多后续内容依赖,值得慢读。

1.3 主要贡献与证据强度预评

#论文声称的贡献预评证据强度
1扩散模型能生成高质量样本,无条件 CIFAR-10 FID 3.17 达当时 SOTA强实验支撑(IS/FID 主表 + LSUN 三数据集)
2扩散模型 ↔ 多噪声水平 denoising score matching + annealed Langevin dynamics 的等价性推导 + 消融支撑(Table 2 参数化消融)
3L_simple(去权重)比完整变分下界样本质量更好有消融(FID 13.51 → 3.17)
4扩散模型是无损码长主要花在不可感知细节上的渐进有损压缩器仅率失真分析 + 定性图
5中间潜变量编码高层语义属性(conceptual compression 线索)只是主张(分叉实验定性展示)

此预评在"综合考核·证据审计"中回看修正。

1.4 推荐阅读路线

必读主线:§2 背景(前向/反向/L 分解)→ §3.2 ε 预测与 L_simple → §4.1 主结果。跳过则无法理解后续一切扩散改进工作的出发点。
可跳支线:§3.3 离散解码器边界修正、附录 C 与 NCSN 的四点差异、Algorithm 3/4 渐进压缩——工程细节,跳过不伤主干,但做似然评估时 §3.3 必读。

二、逐章精读

第1章 问题与定位:漂亮的老想法,缺一张成绩单(对应原文 §1)

来源:论文 §1;历史背景串联为解读者补充。

学习目标:学完本章你应能——说出 DDPM 相对 2015 年奠基作的两大新增贡献;复述作者对"似然不如其他似然模型"的诚实表述;解释"渐进解码是自回归解码的泛化"这句话的分量。

失效模式先行。Sohl-Dickstein et al. (2015) 已经搭好"前向加噪—反向去噪"的全部数学骨架(见第30篇),但五年间无人用它产出过高质量图像——样本模糊、社区注意力全在 GAN 上。【论文声称】本文的贡献不是发明框架而是兑现它:①首次证明扩散模型能生成高质量样本,"有时甚至好于其他类型生成模型的已发表结果";②发现特定参数化使扩散模型与 denoising score matching(训练时)、annealed Langevin dynamics(采样时)等价,该参数化带来最佳样本质量。同时作者坦承:其对数似然不如其他基于似然的生成模型,但优于文献中用 AIS 对能量模型和 score matching 估计出的大幅上限值。

直觉与类比:2015 年的论文画好了发动机图纸,DDPM 做的是调校化油器、换上更好的轮胎然后赢得比赛。类比在哪里失效:调校通常不改原理,而 DDPM 的 L_simple 实质上改写了训练目标(放弃严格最大化似然),这是"为了样本质量牺牲似然最优性"的目标替换,不只是工程微调。

常见误读:①"DDPM 发明了扩散模型"——错,它发明的是让扩散模型能打的那套参数化、目标简化与网络配方;②"FID 3.17 说明扩散模型全面超越 GAN"——原文明确 StyleGAN2+ADA 在同表 IS/FID 更高(9.74–10.06 / 2.67–3.26),DDPM 是无条件模型里最好、且胜过多数含条件模型;③"训练目标就是普通 MSE"——形式是 MSE,但它是加权变分下界的去权版本,这个出身决定了它仍支持似然评估。

一句话蒸馏:DDPM 用一次目标函数的"减法"和一套 U-Net 配方,把五岁的理论变成了当年的 SOTA。

闭卷自检:不看材料我能列出两大贡献吗?作者的似然短板是如何措辞承认的?

第2章 前向过程与变分下界的骨架(对应原文 §2)

来源:论文 §2 全部公式(式 1–7);符号约定 αt:=1−βt、ᾱt:=∏s≤tαs

学习目标:学完本章你应能——默写前向核与反向核;推导任意时刻 t 的闭式采样公式;写出 L 的三项分解并说明每项为何可闭式计算。

q(xt|xt−1) = 𝒩(xt; √(1−βt)·xt−1, βtI)  q(xt|x0) = 𝒩(xt; √ᾱt·x0, (1−ᾱt)I) L ≤ Eq[ −log p(xT) − Σt≥1 log(pθ(xt−1|xt)/q(xt|xt−1)) ] = LT + Σt>1Lt−1 + L0

公式手术(三项分解)

它是什么直觉
LT = DKL(q(xT|x0)‖𝒩(0,I))先验匹配项终点噪声是否够"纯";无参数可学,调度选好后≈0(实测≈10⁻⁵ bits/dim)
Lt−1 = DKL(q(xt−1|xt,x0)‖pθ(xt−1|xt))逐步去噪项(主力)拿"作弊答案 x₀ 条件下的真后验"教网络;两个高斯的 KL 闭式可得,无需蒙特卡洛
L0 = −log pθ(x0|x1)离散解码器最后一步还原成 0–255 整数的无损码长,积分限含 1/255 边界修正
手算验证:β 调度为什么能让 L_T 归零?论文设 βt 从 10⁻⁴ 线性升到 0.02(T=1000)。平均 β̄=(10⁻⁴+0.02)/2≈0.01005。用 ln(1−β)≈−β−β²/2 估算:Σln αt ≈ −1000×(0.01005+0.0000505) ≈ −10.10,故 ᾱ1000 ≈ e−10.10 ≈ 4×10⁻⁵。于是 x1000 中原始信号的系数 √ᾱ≈0.0063——信号只剩千分之六,信噪比几乎为零,q(x_T|x_0) 与标准高斯几乎重合,L_T≈10⁻⁵ bits/dim ✓【数字对账:与原文报告一致】。这解释了调度约束"L_T≈0"如何落实为具体的 β 区间。

常见误读:①以为 q 有参数要学——前向过程固定不可学习(区别于 VAE 的推断网络);②以为训练要串行走完 T 步——闭式采样让你直接抽 t、一步跳到 xt;③把 ᾱt 记成 Σα——它是连乘,这也是为什么 β 必须小:任何单步稍大的泄漏都会被连乘指数放大。

一句话蒸馏:ᾱ 连乘记号 + 闭式跳步,把一条一千步的链变成可以随机抽卡训练的对象。

闭卷自检:我能默写 q(x_t|x_0) 吗?三项各管什么?为什么 KL 全都闭式可算?

第3章 反向过程参数化:从预测均值到预测噪声(对应原文 §3.2)

来源:论文 §3.2 式 (8)–(12)、Algorithm 1/2。

学习目标:学完本章你应能——从 μ̂t 出发一步步推到 ε 预测参数化;写出采样式并指出哪一项是噪声注入;解释为什么该参数化等价于 denoising score matching。

第一步决策:固定 Σθ(xt,t)=σt²I 为未训练的时间依赖常数,σt²=βt 或 β̃t 两者实验结果相近(它们分别是对应单位方差数据反向过程熵的上界与下界两种极端情形——正是第30篇熵界式 25 的两端)。于是 Lt−1 只剩均值项:

Lt−1 − C = Eq[ (1/(2σt²))‖μ̃t(xt,x0) − μθ(xt,t)‖² ]

代入重参数化 xt=√ᾱtx₀+√(1−ᾱt)ε 后,μ̃ 可整理为"由 xt 减掉已知比例的 ε"的形式,于是干脆让网络直接预测噪声:

μθ(xt,t) = (1/√αt)·( xt − (βt/√(1−ᾱt))·εθ(xt,t) ) ⇒ Lt−1−C = E[ (βt²/(2σt²αt(1−ᾱt))) · ‖ε − εθ(√ᾱtx₀+√(1−ᾱt)ε, t)‖² ] (式 12)

直觉与类比:修复一幅老照片有两种交代方式——直接给你修好的照片(预测 μ/x₀),或者告诉你"这里哪些笔触是霉斑"(预测 ε)。后者更容易学:霉斑是加性的、统计性质简单。类比在哪里失效:霉斑与底片内容无关,而扩散中的 ε 虽然独立于 x₀,网络要从混合体中剥离它仍需理解图像内容本身;且早期实验显示预测 x₀ 样本质量更差【实验支持】,说明"哪个参数化更好学"是经验问题而非显然。

工程账单:ε 预测缓解了优化难度压力(回归目标量纲统一、跨时间步可比),换来的是与 score matching 的深刻联系——εθ 充当学到的密度梯度 ∇log p,采样式因此就是退火 Langevin 动力学;新增压力:推理成本——采样需 T=1000 次网络前向(CIFAR batch 256 要 17 秒),这笔债留给后续 DDIM 等工作偿还。

采样式(Algorithm 2):

xt−1 = (1/√αt)·( xt − ((1−αt)/√(1−ᾱt))·εθ(xt,t) ) + σtz , z∼𝒩(0,I)

训练式(Algorithm 1):抽 x₀ → 抽 t∼Uniform{1..T} → 抽 ε → 对 ‖ε−εθ(√ᾱtx₀+√(1−ᾱt)ε,t)‖² 做梯度步。整个算法三行,是全文最著名的段落之一。

常见误读:①认为 εθ 输出的是"图像"——它输出与 x 同形状的噪声张量;②以为 σtz 这一项可有可无——去掉它得到确定性映射(后来 DDIM 的思路),保留它才是严格的变分后验采样;③以为式 12 的权重系数被保留了——恰恰相反,下一章会把它整个扔掉。

一句话蒸馏:换一个参数化,"学均值"变成"认噪声",训练目标从此与 score matching 血脉相连。

第4章 L_simple:一次成功的减法(对应原文 §3.4)

来源:论文 §3.4;消融证据在 Table 2。

学习目标:学完本章你应能——写出 L_simple 并说明它对完整下界做了哪两类近似;解释"下调小 t 权重"背后的直觉;引用消融数字评估这一减法的收益。

Lsimple(θ) = Et,x₀,ε[ ‖ε − εθ(√ᾱtx₀+√(1−ᾱt)ε, t)‖² ]

两处简化:①丢掉式 12 的权重系数 βt²/(2σt²αt(1−ᾱt));②t=1 时用高斯 PDF×bin width 近似离散解码器、忽略 σ₁² 与边界效应。本质是把加权变分下界的权重重新分配:小 t(低噪声)的去噪任务太容易,其损失项在大权重下浪费容量;去权等于把火力集中到大 t(高噪声)的困难任务上。【论文声称+实验支持:FID 从 13.51 降到 3.17,IS 从 7.67 升到 9.46±0.11】

手算验证:权重系数随 t 怎么变?取 σt²=βt,权重 wtt²/(2βtαt(1−ᾱt))=βt/(2αt(1−ᾱt))。小 t 处(如 t=1,β≈10⁻⁴,ᾱ≈1−10⁻⁴):w≈10⁻⁴/(2×0.9999×10⁻⁴)≈1/2,看似不大;但对数尺度上注意 1−ᾱt 在早期极小,实际数值实验中该系数在小 t 区域显著抬升损失权重——这正是"完整下界过度关注小噪声"的机制。【解读者推断:原文只给了结论与定性解释,未给逐点权重曲线,此处为量级演示】

常见误读:①"L_simple 是新的更准的下界"——错,它是更松但更好优化的代理目标,代价是不再直接最大化似然(所以 NLL 反而略差:3.75 vs 3.70 bits/dim 上限);②"去权是拍脑袋"——作者明说类比 NCSN 的损失加权,且有理论出身(加权变分下界);③以为 learned Σ 配 L_simple 也行——消融显示 ε 预测 + learned diagonal Σ 不稳定无法训练,四个组合里只有一个赢家。

一句话蒸馏:扔掉权重系数,牺牲一点似然,换来 FID 四倍的改善——深度学习史上性价比最高的一次"不严谨"。

第5章 模型架构与训练配方(对应原文 §4 开头配置段、附录)

来源:论文 §4.1–4.2 配置描述。

学习目标:学完本章你应能——复述 U-Net 的关键改造点;算出 CIFAR 训练时长与速度的对账;说出 TPU/GPU 成本量级。

常见误读:①"self-attention 放在最深层"——放在 16×16 中间分辨率,兼顾全局性与计算量;②"位置嵌入是可学习的"——此处用的是 Transformer 正弦嵌入注入时间步 t,与 ViT 的空间位置编码是两回事;③低估采样成本——千步采样的延迟问题在本文已是明显短板,只是当时没人计较。

一句话蒸馏:赢家的配方=U-Net+正弦时间嵌入+中部分辨率 self-attention+EMA,此后成为扩散模型的默认底座。

第6章 实验精读:主表与消融(对应原文 §4,Table 1–3)

来源:论文 Table 1(CIFAR10)、Table 2(消融)、Table 3(LSUN)。数字均复述原文,未外部验证。

6.1 CIFAR10 无条件生成(Table 1)

模型ISFIDNLL (bits/dim)
BigGAN(条件)9.2214.73
StyleGAN2 + ADA (v1)10.06 / 9.74±0.052.67 / 3.26
NCSN8.87±0.1225.32
Gated PixelCNN4.6065.933.03 (2.90)
Sparse Transformer2.80
Ours (L, fixed isotropic Σ)7.67±0.1313.51≤3.70 (3.69)
Ours (L_simple)9.46±0.113.17≤3.75 (3.72)

数字对账:FID 3.17 是相对训练集的标准做法口径;相对测试集则为 5.24——作者主动披露,避免"挑好口径"之嫌。NLL 上训练/测试差至多 0.03 bits/dim,未见过拟合。似然维度上 Sparse Transformer(2.80)仍明显占优,作者如实呈现——样本质量与似然两条坐标轴在此背离

6.2 参数化与目标消融(Table 2,全文最值钱的表)

目标 × 参数化ISFID
μ̃ 预测 + L + learned diag Σ7.28±0.1023.69
μ̃ 预测 + L + fixed isotropic Σ8.06±0.0913.22
μ̃ 预测 + ‖μ̃−μ̃θ‖²(无权 MSE)不稳定,无法训练
ε 预测 + L + learned diag Σ不稳定
ε 预测 + L + fixed isotropic Σ7.67±0.1313.51
ε 预测 + L_simple9.46±0.113.17

三个结论:μ̃ 直接回归只在完整下界下可行;学方差有害且不稳;ε 预测配去权目标独占鳌头。

6.3 LSUN 256×256(Table 3,FID)

模型BedroomChurchCat
ProgressiveGAN8.346.4237.52
StyleGAN23.866.93
Ours (L_simple)6.367.8919.75
Ours (large)4.90

摘要声称"与 ProgressiveGAN 相当"属实且保守:Bedroom 大模型 4.90 已超过 ProgressiveGAN 的 8.34,但落后 StyleGAN2。

一句话蒸馏:无条件 CIFAR-10 FID 3.17 让扩散模型第一次站上生成模型的第一梯队,而消融表证明了这一切来自"ε 预测+去权"这对组合拳。

第7章 渐进编码、插值与语义潜变量(对应原文 §4.3–4.4)

来源:论文 §4.3 Table 4、Figure 7;§4.4 插值。

学习目标:学完本章你应能——解释"率/失真"如何从变分下界切分出来;引用率失真数字证明"比特花在不可感知处";描述分叉实验及其结论的证据强度。

把 L₁+⋯+L_T 视为、L₀ 视为失真:最佳 CIFAR 模型的率为 1.78 bits/dim、失真 1.97 bits/dim(对应 [0,255] 尺度 RMSE≈0.95)。对账:1.78+1.97≈3.75 ✓ 恰等于 NLL 上限。结论:超过一半的无损码长用于描述人眼不可感知的细节。Table 4 显示率在前几百步就趋于零而失真仍在陡降——渐进传输时"大结构先行、细节殿后"。分叉实验(CelebA-HQ):在不同 t 处改变随机性继续采样,t=1000 处分叉样本完全不同;在 x₇₅₀ 后分叉则共享发色、眼镜、姿态、表情等属性——中间潜变量编码高层语义【实验支持(定性)→ "conceptual compression"属论文声称】。插值实验:q 编码两图至 x₅₀₀、线性插值、反向解码,姿态/肤色/发型/背景平滑变化而眼镜不变换——潜空间的语义结构并不均匀。

常见误读:①把渐进生成当成"由粗到细的多尺度网络"——它是同一网络在同一链上的自然副产品;②以为插值是在像素空间——是先把两图各自加噪到 t=500 再在潜变量空间插值;③把"x₇₅₀ 编码性别发色"当作精确命题——原文措辞是"或许提供了 conceptual compression 的线索",属谨慎推测。

一句话蒸馏:扩散链天然是一台渐进有损压缩机:前面几十个比特买构图,后面九百多个比特买噪点。

三、批判性阅读:如何不被这篇论文带节奏

3.1 指标到底测什么、比较公平吗

FID 测的是生成分布与真实分布经 Inception 特征后的距离——对模式丢失敏感但依赖评价网络本身;IS 衡量"类别清晰度×边缘多样性",已被广泛批评为易被对抗优化。比较前提的不对称:DDPM 是无条件模型却与若干条件模型同表对比(作者对此是自豪而非遮掩,但口径差异读者须自知);StyleGAN2+ADA 数字更高这一点在正文中如实列出。FID 3.17 vs 5.24 的双口径披露值得表扬。

3.2 第二坐标轴:成本与延迟

采样 256 张 32×32 图要 17 秒、256×256 图约 2.3 秒/张(300 秒/128 张)——同期 GAN 快两个数量级以上;训练 800k 步虽只要 10.6 TPU-hours(CIFAR),但 114M–256M 模型 × 百万步级的 LSUN 训练并不便宜。论文对这些成本的陈述散落在配置段而没有汇总成表——只看 FID 表会严重误判部署可行性。【解读者推断】"千步采样"是全文最大的隐性债务,也直接催生了后续 DDIM、latent diffusion 两代改进。

3.3 证据等级区分

主表 IS/FID 为第三方通用指标(用 OpenAI 与 TTUR 原始代码计算、LSUN 用 StyleGAN2 代码),证据等级较高;"渐进解码泛化自回归""conceptual compression"为定性论证;率失真分析基于自己的下界分解(内部口径)。

3.4 论文没有告诉你什么

以上引用数字仅复述原文,未做外部验证。

四、综合考核(毕业关)

4.1 分级自测题

4.2 数字总对账

独立完成后展开:(a) 率+失真是否等于 NLL 上限?(b) FID 训练集/测试集口径差多少?(c) CIFAR 与 LSUN 模型参数量之比约为多少?(d) μ̃ 预测 fixed Σ 与 ε 预测 fixed Σ 的 FID 各是多少、差多少?

显示答案(a) 1.78+1.97=3.75 ✓;(b) 5.24−3.17=2.07;(c) 114/35.7≈3.19 倍;(d) μ̃ 预测 + L + fixed Σ 为 FID 13.22,ε 预测 + L + fixed Σ 为 13.51,相差 0.29——在完整下界下两种参数化几乎等价,真正拉开差距的是去权目标(3.17)。

4.3 设计决策答辩(四连问)

4.4 证据审计(回看 1.3 预评)

展开审计结果 贡献1(SOTA 样本质量):维持强评级——主表横跨 5 个数据集、指标代码沿用第三方实现;但须附加注记:StyleGAN2+ADA 同表更高,"SOTA"限定在无条件设定与发表时点。
贡献2(与 DSM/Langevin 等价):维持强评级——推导完整且 Table 2 提供行为学证据;严格说"等价"是目标层面的对应关系,采样过程只是"类似 Langevin",作者措辞基本克制。
贡献3(L_simple 更优):维持强评级——消融直接有力;补充发现:它在 NLL 上反而更差,说明"更优"严格限定于样本质量维度。
贡献4(渐进有损压缩器):上调半档——率失真数字(1.78+1.97=3.75)自洽且曲线形态支撑结论;但仍缺与其他压缩器的对比,不足以上到满级。
贡献5(语义潜变量):维持"只是主张"——分叉与插值均为定性图证,无量化指标。
总评:【解读者观点】这是一篇证据纪律出色的论文:主动披露不利数字(NLL 落后、测试集 FID 5.24、StyleGAN2 更高),主张与证据的边界大多划得清楚;最大的留白在计算成本与失败案例。