DDPM 前向与反向扩散公式推导
前向加噪用重参数化一步直达,反向去噪用贝叶斯公式 + 神经网络近似——两者都是确定性推导,没有”玄学”。
是什么
扩散模型(Denoising Diffusion Probabilistic Models, DDPM)的两条核心公式:
前向加噪(任意 一步直达):
反向去噪(逐步从噪声恢复数据):
这两条公式分别是 DDPM 训练和推理的数学核心。下面从 Markov 链的物理直觉出发,逐步推导。
前向加噪公式推导
单步加噪:Markov 链假设
DDPM 将加噪定义为 Markov 扩散过程——每一步在前一步基础上加高斯噪声:
| 符号 | 含义 |
|---|---|
| 噪声调度(noise schedule),控制每步加多少噪声,通常 | |
| 对先前状态的缩放因子:“保留信号”的比例 | |
| 新添加噪声的方差 |
为什么是这个形式? 这是**方差保持(variance-preserving, VP)**扩散过程。经过 步后, 渐进收敛到 ——无论 是什么分布。这是扩散模型能从任意噪声出发生成任意图像的数学根基。
重参数化:一步跳到任意
高斯分布的核心性质——两个独立高斯之和仍为高斯——意味着不需要迭代 步才能得到 。
先引入简写 ,利用重参数化技巧把 写成:
递归展开:
继续递归到底,定义 ,得到最终形式:
关键洞察: 随时间递减—— 时 (几乎原图), 时 (几乎纯噪声)。不需要逐步迭代,任意 一步直达,训练效率大幅提升。
反向去噪公式推导
如果能算真实后验……
如果我们知道 ,反向条件分布 可以用贝叶斯公式精确推导:
把三个高斯分布概率密度函数代入、展开、整理,得到同样形式的高斯:
其中精确均值 为:
问题:推理时根本没有 。这个精确后验只是理论公式,没法直接用。
神经网络近似:从预测 到预测噪声
用网络参数化的高斯近似真实后验:
然后用变分下界(ELBO)推导损失。Ho et al. (2020) 的关键实验发现:与其让网络预测 再代入 算均值,不如直接预测噪声 ,效果更好。
推导如下——由 解出 :
将 代入 的 公式,消去 :
用网络预测 替代真实 ,就得到采样公式:
最后一项 ()是随机采样时加回的微小噪声——也是生成多样性的来源。
Loss 为什么这么简洁
训练目标也简化成极简 MSE:
DDPM 论文发现所有复杂的系数在消去 后都成了常数因子,直接去掉反而训练更稳定。最终 Loss 就是预测噪声与真实噪声的 L2 距离。
如何嵌入自回归:MAR 的 Diffusion Loss
MAR 对标准 DDPM 做了一个关键改造——加入自回归产生的条件 :
Loss:
其中 是 Transformer 产生的条件向量,去噪 MLP 的输入多了一个 。梯度从 Diffusion Loss 穿过 流向整个 Transformer。
采样(加温度):
温度 缩放噪声方差,控制生成多样性——等价于离散自回归中的 temperature 采样。
与流匹配的区别
| 维度 | DDPM (Diffusion) | Flow Matching |
|---|---|---|
| 前向路径形状 | 曲线( 决定弯曲程度) | 直线 |
| 预测目标 | 噪声 | 速度 |
| 推理步数 | 通常 50–1000 | 通常更少 |
| 温度方案 | 缩放 | 有别的方式 |
详见 条件流匹配(CFM)。
相关
- 资料摘要:An Introduction to Flow Matching and Diffusion Models(MIT 6.S184) — 去噪得分匹配视角:噪声预测器 是得分 的重参数化
- 得分匹配(Score Matching) — DDPM 噪声预测损失的理论来源
- 资料摘要:MAR — Diffusion Loss 在自回归图像生成中的应用
- DiT(Diffusion Transformer) — 扩散建模全部 token 的联合分布(vs. MAR 建模 per-token)
- 条件流匹配(CFM) — 直线路径的替代方案
- Diffusion Autoregressive 架构 — 扩散与自回归结合的架构谱系
- Wiki 目录