第十六章 扩散模型
一杯清水滴进黄墨,颜色散开,再也认不出那滴墨——这是正向扩散。生成模型要学的是倒放:从一碗均匀噪声里,一步步把图认回来。DDPM 是这条路的名字。DALL-E、Midjourney 背后都有它。
- 一正向:逐步加高斯噪声,直到图变成纯噪声。
- 二训练:随机抽一个时刻 t,让网络预测加进去的噪声 ε。
- 三网络是 U-Net:先缩小再放大,中间把细节抄回去。
- 四采样:从噪声出发,反复减掉预测的噪声。
书 §16 · 图 16.1–16.15 · p.265–278
16.1 正向:把图搅浑
图 16.1 水滴,图 16.2 高清图。每一步按方差计划混入一点噪声。时刻越大,原图越看不见。训练时不必真走 500 步,有解析解可以一步采样到 xt(下一章写)。
目标常常不是直接预测清晰图,而是预测「加进去的那份噪声」。图 16.5、16.10。损失是预测噪声和真噪声的差。图 16.4。
书 §16.1.1–16.1.3 · 图 16.1–16.5 · p.265–268
拖 t:加号被噪声吞掉
8×8 示意。伪随机,同一 t 画面稳定。
t=0 是原图。t 大时格子接近随机灰。这是正向。生成走反方向。
接下节。谁来猜噪声?一张输入输出分辨率相同的 U 形网。
U-Net:先缩小再放大
图 16.6:下采样抽大结构,上采样长回像素,白色方框是拷贝过来的特征(残差/skip)。同一套网络服务所有 t,靠时间步编码告诉网「现在有多吵」。图 16.7 共享模型。
书 §16.1.2–16.2.4 · 图 16.6–16.7、16.11–16.13 · p.266–276
点 U-Net 的一段
输入带噪图,输出与输入同尺寸的噪声估计。所以才能一格一格减。
接下节。采样算法:从纯噪声,一步步减。
16.2 反向:从噪声里捞图
图 16.8 正反对照。图 16.14、16.15:从 xT∼噪声出发,用网络预测这一拍该减的噪声,得到更干净的 xt−1,直到 t=0。
书 §16.2.3 · 图 16.8、16.14–16.15 · p.270–278
从噪声往回走
点「反向一步」。t 减小,加号慢慢现形。
真实采样每一步还要加一点点噪声(除了最后一步)。这里只演示「越走越像图」。
下一章。一步到位的 xt 公式,以及为什么反向没有解析解。
合上这一章
- 正向加噪。图变噪声。
- 训练预测 ε。不是直接画图。
- U-Net。同尺寸进、同尺寸出。
- 采样去噪。从噪声走回 x0。
章末自测
讲完了。下面几题核对本讲刚说过的概念。点选立刻看对错;做错也不会锁下一章。