第 1 章 扩散模型基础¶
课时:4 节 / 6 小时
前置:概率论、线性代数、PyTorch 基础
章节定位:从“生成模型全景”走到“能独立推导 DDPM 的训练与采样”,这是全部 Diffusion 题的地基。
重要说明:本章以面试学习为目标,不要求写完整 DDPM 代码、不要求训练模型。
本章完整教学材料¶
| 材料 | 内容 |
|---|---|
| 第 1 章材料包总览 | 材料清单、学习顺序、验收 |
| 1.1 生成模型全景与扩散直觉 | 四路线对比、扩散直觉、D6 |
| 1.2 前向过程与噪声日程 | 前向链、重参数、闭式边缘、SNR、D10 |
| 1.3 反向过程与 DDPM 损失 | 后验、ELBO、噪声预测、采样、D5 |
| 1.4 扩散变体与非高斯噪声 | Cold Diffusion、D3PM、Flow、D2 |
| 章节面试题库 | 90 秒答案、追问树、模拟面试 |
| 章节练习与答案 | 概念/推导/计算题 + 答案 |
| 讲师手册 | 4 节课的时间、板书、互动 |
| 材料设计理由 | 为什么选这些内容、边界、可修改点 |
章节目标¶
完成本章后,你应该能够:
- 用一张表比较 GAN、VAE、Flow、Diffusion 的建模方式与优缺点;
- 独立推导 DDPM 的前向边缘分布、真实后验和简化损失;
- 解释 \(\beta_t\)、\(\bar\alpha_t\)、SNR 和噪声 schedule 的关系;
- 说清楚为什么 DDPM 可以只学噪声预测,以及 \(x_0\)/\(v\) 预测的区别;
- 解释“可以换非高斯噪声,但工程上为什么默认高斯”;
- 写出 DDPM 的训练与采样流程(文字/伪代码级),并能定位常见概念错误;
- 用 90 秒回答 D2、D6、D10,用 2 分钟回答 D5。
课时地图¶
| 节 | 主题 | 核心问题 | 对应面试题 |
|---|---|---|---|
| 1.1 | 生成模型全景与扩散直觉 | 扩散为什么成为文生图主流? | D6、A2(引入)、A5(引入) |
| 1.2 | 前向过程、重参数化与噪声 schedule | \(x_t\) 为什么能一步采样?噪声幅度为什么变? | D5、D10、A3 |
| 1.3 | 反向过程、ELBO 与 DDPM 损失 | DDPM 到底在优化什么? | D5、D9 |
| 1.4 | 扩散变体:非高斯、Cold Diffusion、D3PM、Flow Matching | 高斯是必须的吗? | D2、D3(引入)、D7(引入) |
每节课讲什么、学什么¶
1.1 生成模型全景与扩散直觉¶
讲什么:
- GAN、VAE、Flow、Diffusion 四条路线;
- 显式密度/隐式密度/score 三种建模语言;
- 扩散的“前向破坏、反向恢复”直觉;
- 为什么扩散训练稳定、采样慢、可控性强;
- DDPM 与 LDM 的区别。
学什么:
- 画出四路线对比表;
- 用 3 句话解释扩散的训练/采样;
- 说出扩散相比 GAN 的 3 个优势和 2 个劣势;
- 90 秒回答“GAN 和 Diffusion 的区别”。
能处理什么:
- D6;
- “为什么 Diffusion 成为主流”;
- “Diffusion 和 VAE 什么关系”;
- “DDPM 和 Stable Diffusion 是一回事吗”。
1.2 前向过程与噪声日程¶
讲什么:
- 马尔可夫加噪链;
- 重参数化技巧(VAE/Diffusion 的异同);
- 闭式边缘 \(q(x_t\mid x_0)\) 的推导;
- \(\beta_t\)、\(\bar\alpha_t\)、SNR;
- linear/cosine/zero terminal SNR;
- 为什么每步加噪幅度不一致。
学什么:
- 独立推导 \(q(x_t\mid x_0)\);
- 手算 \(\bar\alpha_t\)、信号/噪声系数、SNR;
- 解释“每步增量”与“累计噪声”的区别;
- 用 90 秒回答 D10、A3。
能处理什么:
- D10;
- A3;
- “为什么 \(x_t\) 能一步采样”;
- “噪声 schedule 怎么选”。
1.3 反向过程与 DDPM 损失¶
讲什么:
- 反向高斯过程;
- 真实后验 \(q(x_{t-1}\mid x_t,x_0)\);
- ELBO 三项分解;
- 均值匹配 → 噪声预测;
- \(\mathcal L_{\mathrm{simple}}\) 与 ELBO 的关系;
- 训练/采样流程;
- \(\epsilon\)/\(x_0\)/\(v\) 预测。
学什么:
- 白板推导后验均值和方差;
- 写出 ELBO 三项;
- 推导噪声预测参数化;
- 写出采样公式;
- 用 2 分钟回答 D5。
能处理什么:
- D5;
- D9;
- “为什么后验是高斯”;
- “为什么预测噪声”;
- “为什么采样最后一步不加噪”。
1.4 扩散变体与非高斯噪声¶
讲什么:
- 高斯在 DDPM 中的便利性;
- 换噪声要改的五个环节;
- Cold Diffusion:模糊/遮挡/下采样;
- D3PM:离散转移;
- Poisson/Gamma:计数/非负数据;
- Flow Matching / Rectified Flow。
学什么:
- 说出高斯噪声的 4 个工程优势;
- 比较 3 种非高斯扩散;
- 解释“可以换,但不是简单替换”;
- 用 90 秒回答 D2。
能处理什么:
- D2;
- “为什么不用均匀噪声”;
- “Cold Diffusion 和 DDPM 的区别”;
- “Flow Matching 是不是 Diffusion”。
本章不做什么¶
- 不写完整 DDPM 训练/采样代码;
- 不训练 toy 模型;
- 不实现 U-Net;
- 不跑 FID;
- 不要求复现论文。
代码只在“帮助理解”的层面出现:例如算法流程/伪代码,不要求运行。
详细理由见 08-材料设计理由。
章节产出(纸面/口述,不写代码)¶
- 四路线对比表:GAN/VAE/Flow/Diffusion;
- 一页纸 DDPM 推导:前向、后验、ELBO、简化损失、采样;
- SNR 手算表:4 步 schedule + 解释;
- 90 秒回答录音:D5、D6、D10;
- 错题归因:06 练习中至少 3 道错题的原因。
章节通关清单¶
- [ ] 能画出生成模型对比表;
- [ ] 能推导 \(q(x_t\mid x_0)\);
- [ ] 能推导真实后验和 ELBO;
- [ ] 能写出 DDPM 训练/采样流程;
- [ ] 能解释噪声 schedule 与 SNR;
- [ ] 能说出 3 种非高斯扩散;
- [ ] 能 90 秒回答 D2、D6、D10;
- [ ] 能 2 分钟回答 D5;
- [ ] 完成 06 练习并订正。