扩散模型理论第一课
扩散模型是一类生成模型,其目标与生成对抗网络(GANs)、变分自编码器(VAEs)和归一化流(Normalizing Flows)相同:学习一个真实数据分布
与 GANs 通过生成器的一次前向传递直接产生样本不同,扩散模型通过多个去噪步骤逐步逼近真实样本。因此,扩散模型的输入与输出通常具有相同的维度。
1. 前向扩散过程
给定一个干净样本
其中
利用重参数化技巧,可以直接从
其中
2. 反向去噪过程
前向过程将数据逐步破坏为噪声,反向过程则负责从噪声中恢复数据。若能建模反向转移分布
当
实践中,协方差常被设为与时间相关的对角矩阵
3. DDPM:去噪扩散概率模型
DDPM 按照反向过程的全部
- 直接预测均值;
- 预测原始样本
,再代入真实后验均值:
- 预测从
到 所添加的标准高斯噪声 :
第三种参数化最为常用。将式 (7) 代入式 (6),可得:
这是 DDPM 采样的核心方程。
3.1 训练
DDPM 的训练目标直观且直接:
- 从数据集中采样干净样本
; - 均匀采样时间步
; - 采样噪声
,并按前向过程构造:
- 用网络预测噪声
; - 最小化真实噪声与预测噪声之间的误差,通常采用简化的均方误差损失:
3.2 采样
生成过程从
- 网络预测噪声
; - 按式 (8) 计算均值;
- 采样下一步:
当
4. DDIM:更快的确定性采样
DDPM 需要遍历完整的
由式 (2) 可得:
将其重写为:
其中
其中
- 当
时,退化为 DDPM; - 当
时,采样过程变为确定性,即 DDIM。
DDIM 选择一个子集时间步
总结
- 扩散模型通过前向过程逐步加噪、反向过程逐步去噪来生成数据。
- DDPM 训练网络预测噪声,通过优化简化的均方误差损失实现端到端学习。
- DDIM 引入参数
控制随机性,在 时可实现确定性、少步数的快速采样。 - 扩散模型与 GANs 的关键区别在于:它不是单次前向生成,而是通过多步迭代逐步逼近真实样本。