DDPM:去噪扩散概率模型

DDPM(Denoising Diffusion Probabilistic Models,去噪扩散概率模型)是一类重要的生成模型,由 Ho et al. 在 2020 年的论文 “Denoising Diffusion Probabilistic Models” 中提出并推广。

核心思想

DDPM 定义了两个过程:

1. 前向过程(Forward / Diffusion Process)

逐步向数据 x0x_0​ 添加高斯噪声,经过 T 步后将其变为近似纯噪声 xT∼N(0,I)x_T \sim\mathcal{N}(0,I)。每一步的转移核为:

q(xt∣xt−1)=N(xt; 1−βt xt−1, βtI)q(x_t \mid x_{t-1})=\mathcal{N}(x_t;\,\sqrt{1-\beta_t}\,x_{t-1},\,\beta_t I)

其中 βt\beta_t​ 是预设的噪声调度(noise schedule)。由于高斯的可加性,可以直接从 x0x_0​ 一步跳到 xtx_t:

q(xt∣x0)=N(xt; αˉt x0, (1−αˉt)I)q(x_t \mid x_0)=\mathcal{N}(x_t;\,\sqrt{\bar{\alpha}_t}\,x_0,\,(1-\bar{\alpha}_t)I)

这里 αt=1−βt\alpha_t=1-\beta_t,αˉt=∏s=1tαs\bar{\alpha}_t=\prod_{s=1}^{t} \alpha_s

2.反向过程(Reverse Process)

用一个神经网络学习”去噪”——从 xtx_t 预测 xt−1x_{t-1}:

pθ(xt−1∣xt)=N(xt−1; μθ(xt,t), σt2I)p_\theta(x_{t-1} \mid x_t)=\mathcal{N}(x_{t-1};\,\mu_{\theta}(x_t, t),\,\sigma^2_t I)

实际训练时,网络 ϵθ(xt,t)\epsilon_\theta(x_t, t) 被训练来预测加入的噪声 ϵ\epsilon, 损失函数被简化为:

Lsimple=Et,x0,ϵ[∥ϵ−ϵθ(xt,t)∥2]L_{\text{simple}}=\mathbb{E}_{t,x_0,\epsilon}\left[\|\epsilon-\epsilon_\theta(x_t, t)\|^2\right]

这就是一个加权的均方误差,非常简洁。

采样(生成)

生成时从 xT∼N(0,I)x_T\sim\mathcal{N}(0,I) 开始, 逐步执行反向去噪:

xt−1=1αt(xt−βt1−αˉt ϵθ(xt,t))+σtz,z∼N(0,I)x_{t-1}=\frac{1}{\sqrt{\alpha_t}}\left(x_t -\frac{\beta_t}{\sqrt{1-\bar{\alpha}_t}}\,\epsilon_{\theta}(x_t,t)\right) + \sigma_t z,\quad z\sim\mathcal{N}(0,I)

迭代 TT 步后得到生成样本 x0x_0

相关概念

  • 扩散模型:DDPM 所属的模型家族,包含直觉解释和概念总览
  • VAE:另一类重要的潜变量生成模型,DDPM 的变分下界推导与 VAE 有相似之处
  • 马尔可夫链:前向过程和反向过程均满足马尔可夫性
  • Diffusion Policy 精读笔记:DDPM 框架在机器人策略学习中的应用