| 摘要短语 | 对应原文章节 | 精读章节 |
|---|---|---|
| "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 | 扩散模型能生成高质量样本,无条件 CIFAR-10 FID 3.17 达当时 SOTA | 强实验支撑(IS/FID 主表 + LSUN 三数据集) |
| 2 | 扩散模型 ↔ 多噪声水平 denoising score matching + annealed Langevin dynamics 的等价性 | 推导 + 消融支撑(Table 2 参数化消融) |
| 3 | L_simple(去权重)比完整变分下界样本质量更好 | 有消融(FID 13.51 → 3.17) |
| 4 | 扩散模型是无损码长主要花在不可感知细节上的渐进有损压缩器 | 仅率失真分析 + 定性图 |
| 5 | 中间潜变量编码高层语义属性(conceptual compression 线索) | 只是主张(分叉实验定性展示) |
此预评在"综合考核·证据审计"中回看修正。
必读主线:§2 背景(前向/反向/L 分解)→ §3.2 ε 预测与 L_simple → §4.1 主结果。跳过则无法理解后续一切扩散改进工作的出发点。
可跳支线:§3.3 离散解码器边界修正、附录 C 与 NCSN 的四点差异、Algorithm 3/4 渐进压缩——工程细节,跳过不伤主干,但做似然评估时 §3.3 必读。
来源:论文 §1;历史背景串联为解读者补充。
学习目标:学完本章你应能——说出 DDPM 相对 2015 年奠基作的两大新增贡献;复述作者对"似然不如其他似然模型"的诚实表述;解释"渐进解码是自回归解码的泛化"这句话的分量。
直觉与类比: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 全部公式(式 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 边界修正 |
常见误读:①以为 q 有参数要学——前向过程固定不可学习(区别于 VAE 的推断网络);②以为训练要串行走完 T 步——闭式采样让你直接抽 t、一步跳到 xt;③把 ᾱt 记成 Σα——它是连乘,这也是为什么 β 必须小:任何单步稍大的泄漏都会被连乘指数放大。
一句话蒸馏:ᾱ 连乘记号 + 闭式跳步,把一条一千步的链变成可以随机抽卡训练的对象。
闭卷自检:我能默写 q(x_t|x_0) 吗?三项各管什么?为什么 KL 全都闭式可算?
来源:论文 §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₀ 样本质量更差【实验支持】,说明"哪个参数化更好学"是经验问题而非显然。
采样式(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 血脉相连。
来源:论文 §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】
常见误读:①"L_simple 是新的更准的下界"——错,它是更松但更好优化的代理目标,代价是不再直接最大化似然(所以 NLL 反而略差:3.75 vs 3.70 bits/dim 上限);②"去权是拍脑袋"——作者明说类比 NCSN 的损失加权,且有理论出身(加权变分下界);③以为 learned Σ 配 L_simple 也行——消融显示 ε 预测 + learned diagonal Σ 不稳定无法训练,四个组合里只有一个赢家。
一句话蒸馏:扔掉权重系数,牺牲一点似然,换来 FID 四倍的改善——深度学习史上性价比最高的一次"不严谨"。
来源:论文 §4.1–4.2 配置描述。
学习目标:学完本章你应能——复述 U-Net 的关键改造点;算出 CIFAR 训练时长与速度的对账;说出 TPU/GPU 成本量级。
常见误读:①"self-attention 放在最深层"——放在 16×16 中间分辨率,兼顾全局性与计算量;②"位置嵌入是可学习的"——此处用的是 Transformer 正弦嵌入注入时间步 t,与 ViT 的空间位置编码是两回事;③低估采样成本——千步采样的延迟问题在本文已是明显短板,只是当时没人计较。
一句话蒸馏:赢家的配方=U-Net+正弦时间嵌入+中部分辨率 self-attention+EMA,此后成为扩散模型的默认底座。
来源:论文 Table 1(CIFAR10)、Table 2(消融)、Table 3(LSUN)。数字均复述原文,未外部验证。
| 模型 | IS | FID | NLL (bits/dim) |
|---|---|---|---|
| BigGAN(条件) | 9.22 | 14.73 | – |
| StyleGAN2 + ADA (v1) | 10.06 / 9.74±0.05 | 2.67 / 3.26 | – |
| NCSN | 8.87±0.12 | 25.32 | – |
| Gated PixelCNN | 4.60 | 65.93 | 3.03 (2.90) |
| Sparse Transformer | – | – | 2.80 |
| Ours (L, fixed isotropic Σ) | 7.67±0.13 | 13.51 | ≤3.70 (3.69) |
| Ours (L_simple) | 9.46±0.11 | 3.17 | ≤3.75 (3.72) |
数字对账:FID 3.17 是相对训练集的标准做法口径;相对测试集则为 5.24——作者主动披露,避免"挑好口径"之嫌。NLL 上训练/测试差至多 0.03 bits/dim,未见过拟合。似然维度上 Sparse Transformer(2.80)仍明显占优,作者如实呈现——样本质量与似然两条坐标轴在此背离。
| 目标 × 参数化 | IS | FID |
|---|---|---|
| μ̃ 预测 + L + learned diag Σ | 7.28±0.10 | 23.69 |
| μ̃ 预测 + L + fixed isotropic Σ | 8.06±0.09 | 13.22 |
| μ̃ 预测 + ‖μ̃−μ̃θ‖²(无权 MSE) | 不稳定,无法训练 | |
| ε 预测 + L + learned diag Σ | 不稳定 | |
| ε 预测 + L + fixed isotropic Σ | 7.67±0.13 | 13.51 |
| ε 预测 + L_simple | 9.46±0.11 | 3.17 |
三个结论:μ̃ 直接回归只在完整下界下可行;学方差有害且不稳;ε 预测配去权目标独占鳌头。
| 模型 | Bedroom | Church | Cat |
|---|---|---|---|
| ProgressiveGAN | 8.34 | 6.42 | 37.52 |
| StyleGAN2 | – | 3.86 | 6.93 |
| Ours (L_simple) | 6.36 | 7.89 | 19.75 |
| Ours (large) | 4.90 | – | – |
摘要声称"与 ProgressiveGAN 相当"属实且保守:Bedroom 大模型 4.90 已超过 ProgressiveGAN 的 8.34,但落后 StyleGAN2。
一句话蒸馏:无条件 CIFAR-10 FID 3.17 让扩散模型第一次站上生成模型的第一梯队,而消融表证明了这一切来自"ε 预测+去权"这对组合拳。
来源:论文 §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 的线索",属谨慎推测。
一句话蒸馏:扩散链天然是一台渐进有损压缩机:前面几十个比特买构图,后面九百多个比特买噪点。
FID 测的是生成分布与真实分布经 Inception 特征后的距离——对模式丢失敏感但依赖评价网络本身;IS 衡量"类别清晰度×边缘多样性",已被广泛批评为易被对抗优化。比较前提的不对称:DDPM 是无条件模型却与若干条件模型同表对比(作者对此是自豪而非遮掩,但口径差异读者须自知);StyleGAN2+ADA 数字更高这一点在正文中如实列出。FID 3.17 vs 5.24 的双口径披露值得表扬。
采样 256 张 32×32 图要 17 秒、256×256 图约 2.3 秒/张(300 秒/128 张)——同期 GAN 快两个数量级以上;训练 800k 步虽只要 10.6 TPU-hours(CIFAR),但 114M–256M 模型 × 百万步级的 LSUN 训练并不便宜。论文对这些成本的陈述散落在配置段而没有汇总成表——只看 FID 表会严重误判部署可行性。【解读者推断】"千步采样"是全文最大的隐性债务,也直接催生了后续 DDIM、latent diffusion 两代改进。
主表 IS/FID 为第三方通用指标(用 OpenAI 与 TTUR 原始代码计算、LSUN 用 StyleGAN2 代码),证据等级较高;"渐进解码泛化自回归""conceptual compression"为定性论证;率失真分析基于自己的下界分解(内部口径)。
以上引用数字仅复述原文,未做外部验证。
独立完成后展开:(a) 率+失真是否等于 NLL 上限?(b) FID 训练集/测试集口径差多少?(c) CIFAR 与 LSUN 模型参数量之比约为多少?(d) μ̃ 预测 fixed Σ 与 ε 预测 fixed Σ 的 FID 各是多少、差多少?