DDIM:去噪扩散隐式模型

定义

DDIM(Denoising Diffusion Implicit Models,去噪扩散隐式模型,Song et al., ICLR 2021)是 DDPM 的一种确定性加速采样变体。它复用 DDPM 训练好的噪声预测网络,但把反向采样从严格的马尔可夫链改成非马尔可夫的隐式过程,从而可以用远少于训练步数的步骤(如 50 步代替 1000 步)完成生成,质量几乎不下降。

直观理解

DDPM 采样慢的根源在于:反向过程被定义成马尔可夫链,每步只依赖上一步,所以必须老老实实走完 TT(1000)步。

DDIM 的关键洞察是:训练损失 LsimpleL_{simple} 只依赖边缘分布 q(xt∣x0)q(x_t\mid x_0),不依赖具体的联合分布 q(x1:T∣x0)q(x_{1:T}\mid x_0)。也就是说,前向过程其实可以有无数种定义(只要保证每个时刻的 xtx_t 分布一致),反向采样自然也不必拘泥于原来的马尔可夫链。

于是 DDIM 可以:

  • 跳步采样:只走 20~50 步,每步跨多个原始时间步;
  • 确定性生成:给定 xTx_T,生成结果唯一——xTx_T 成了一个「种子」,可以像 VAE 的隐变量一样做插值和语义编辑;
  • 免费复用:不用重新训练,直接拿 DDPM 的权重就能用。

公式推导

1. 先由 xtx_t 估计干净的 x^0\hat x_0

利用 DDPM 的前向闭式解 xt=αˉtx0+1−αˉtϵx_t = \sqrt{\bar\alpha_t}x_0 + \sqrt{1-\bar\alpha_t}\epsilon 反解:

x^0=xt−1−αˉt ϵθ(xt,t)αˉt\hat x_0 = \frac{x_t - \sqrt{1-\bar\alpha_t}\,\epsilon_\theta(x_t,t)}{\sqrt{\bar\alpha_t}}

2. DDIM 采样步

拿到 x^0\hat x_0 后,不回到 xt−1x_{t-1} 的精确马尔可夫转移,而是按目标时间步 t−1t-1 的噪声比例重新「加噪」回去:

xt−1=αˉt−1 x^0+1−αˉt−1 ϵθ(xt,t)x_{t-1} = \sqrt{\bar\alpha_{t-1}}\,\hat x_0 + \sqrt{1-\bar\alpha_{t-1}}\,\epsilon_\theta(x_t,t)

它的含义是:「我猜数据本来是 x^0\hat x_0,那么在时刻 t−1t-1 它应该被加噪到这个程度」。这样 xt−1x_{t-1} 完全由 x^0\hat x_0 和网络预测的噪声决定,没有随机项。

3. 与 DDPM 的统一:σt\sigma_t 插值

更一般的采样式是:

xt−1=αˉt−1 x^0+1−αˉt−1−σt2 ϵθ(xt,t)+σt z,z∼N(0,I)x_{t-1} = \sqrt{\bar\alpha_{t-1}}\,\hat x_0 + \sqrt{1-\bar\alpha_{t-1}-\sigma_t^2}\,\epsilon_\theta(x_t,t) + \sigma_t\, z,\quad z\sim\mathcal N(0,I)

  • 当 σt=0\sigma_t = 0:纯确定性的 DDIM;
  • 当 σt=1−αˉt−11−αˉt(1−αˉtαˉt−1)\sigma_t = \sqrt{\frac{1-\bar\alpha_{t-1}}{1-\bar\alpha_t}(1-\frac{\bar\alpha_t}{\bar\alpha_{t-1}})}:退化为原始的 DDPM 采样。

所以 DDPM 和 DDIM 是一个连续谱的两端,DDIM 只是把随机噪声项关掉了。

4. 与概率流 ODE 的联系

在 Score SDE 的框架里,DDIM 的确定性采样正是**概率流 ODE(probability flow ODE)**的离散化:

dx=[f(x,t)−12g(t)2 ∇xlog⁡pt(x)]dtdx = \left[f(x,t) - \tfrac12 g(t)^2\,\nabla_x\log p_t(x)\right]dt

这解释了为什么 DDIM 能跳步:ODE 的解是平滑曲线,离散化时步长可以更大,而不像 SDE 的随机游走那样必须小步。

相关