跳转至

第 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 节课的时间、板书、互动
材料设计理由 为什么选这些内容、边界、可修改点

章节目标

完成本章后,你应该能够:

  1. 用一张表比较 GAN、VAE、Flow、Diffusion 的建模方式与优缺点;
  2. 独立推导 DDPM 的前向边缘分布、真实后验和简化损失;
  3. 解释 \(\beta_t\)、\(\bar\alpha_t\)、SNR 和噪声 schedule 的关系;
  4. 说清楚为什么 DDPM 可以只学噪声预测,以及 \(x_0\)/\(v\) 预测的区别;
  5. 解释“可以换非高斯噪声,但工程上为什么默认高斯”;
  6. 写出 DDPM 的训练与采样流程(文字/伪代码级),并能定位常见概念错误;
  7. 用 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-材料设计理由。


章节产出(纸面/口述,不写代码)

  1. 四路线对比表:GAN/VAE/Flow/Diffusion;
  2. 一页纸 DDPM 推导:前向、后验、ELBO、简化损失、采样;
  3. SNR 手算表:4 步 schedule + 解释;
  4. 90 秒回答录音:D5、D6、D10;
  5. 错题归因:06 练习中至少 3 道错题的原因。

章节通关清单

  • [ ] 能画出生成模型对比表;
  • [ ] 能推导 \(q(x_t\mid x_0)\);
  • [ ] 能推导真实后验和 ELBO;
  • [ ] 能写出 DDPM 训练/采样流程;
  • [ ] 能解释噪声 schedule 与 SNR;
  • [ ] 能说出 3 种非高斯扩散;
  • [ ] 能 90 秒回答 D2、D6、D10;
  • [ ] 能 2 分钟回答 D5;
  • [ ] 完成 06 练习并订正。

下一章

第 2 章 采样、加速与引导