0. DDPM的优化目标
扩散模型的最终目标是学习一个从噪声生成真实数据的分布 pθ(x0)。最直接的方法是极大似然估计:
θmaxlogpθ(x0)
其中x0表示训练图片,pθ为参数为θ的模型生成图片x0的概率。
DDPM 本质上是一个隐变量生成模型(与 VAE 同类)。它不直接对复杂的高维数据分布建模,而是引入一组隐变量 x1,…,xT,通过一个 T 步的反向马尔可夫链定义联合分布:
pθ(x0:T)=p(xT)t=1∏Tpθ(xt−1∣xt)
既然模型定义的是联合分布,数据分布 pθ(x0) ( x0是观测数据)就必然是这个联合分布的边缘分布——通过对所有隐变量积分得到:
pθ(x0)=∫pθ(x0:T)dx1:T=∫pθ(x0,x1:T)dx1:T
解释:
- pθ(x0:T) 是扩散模型反向过程的联合分布,表示从纯噪声 xT 逐步去噪生成数据 x0 的概率。
- 但我们只关心最终生成数据 x0 的似然(边缘似然),因此需要对所有中间隐变量 x1,x2,…,xT(简记为 x1:T)进行积分,将其"边缘化"掉。
使用的定理:
- 概率边缘化公式(Law of Total Probability / Marginalization)。对于连续随机变量,联合分布对其中一部分变量积分即得剩余变量的边缘分布。
这不是人为“引入”的数学技巧,而是模型定义的自然结果。 扩散模型选择用隐变量链来建模复杂数据分布,将“一次性从噪声生成高维数据”这个不可能直接学习的任务,分解为 T 步简单的去噪高斯转移。代价就是:我们必须处理这个边缘积分。
这个边缘积分遍历了所有可能的隐变量(加噪序列)x1,x2,…,xT,他面临三个根本障碍:
| 困难 |
说明 |
| 无法解析积分 |
反向过程 pθ(xt−1∣xt) 是神经网络,没有闭式解 |
| 无法直接采样 |
从 pθ(x0:T) 采样需要先验知识,而反向过程正是我们要学习的 |
| 无法求梯度 |
积分号包裹着神经网络,无法直接对 θ 求梯度优化 |
因此,必须引入数学工具,将"不可积分的极大似然"转化为"可计算、可采样、可求梯度"的目标。