Skip to content

扩散模型基础:DDPM / DDIM / Score-based

一句话:扩散模型把"生成"建模成一个逐步加噪再逐步去噪的过程——前向把数据搅成纯高斯噪声,反向学一个去噪网络把噪声还原成样本;DDIM 与 score-based SDE 则给了它"更快采样"和"统一连续视角"两条腿。 关键年份:NCSN(Song & Ermon, 2019, arXiv:1907.05600)、DDPM(Ho et al., 2020, arXiv:2006.11239)、DDIM(Song et al., 2020, arXiv:2010.02502)、Score-based SDE(Song et al., 2021, arXiv:2011.13456) 前置阅读:生成式模型总览Latent Diffusion 与 Stable DiffusionTransformer 架构

扩散模型(Diffusion Models)已经是图像、视频、音频乃至分子生成的事实标准生成范式。它的核心直觉非常朴素:往数据里逐步加噪声直到变成纯高斯噪声是容易的,那么只要学会反过来"一步步去噪",就能从噪声里采样出新数据。本页从离散的 DDPM 出发,讲清前向/反向过程、噪声预测与训练目标,再过渡到 DDIM 的确定性加速采样,最后用 score-based / SDE 的连续视角把它们统一起来。

前向加噪:固定的马尔可夫链

前向过程(forward / diffusion process)是一条预先固定、不含可学习参数的马尔可夫链。给定真实数据 x0q(x0),按方差表(variance schedule){βt}t=1T 逐步注入高斯噪声:

q(xtxt1)=N(xt;1βtxt1,βtI)

其中 βt(0,1) 通常从很小的值(如 104)线性或余弦地增大到接近 1。整条链的联合分布为 q(x1:Tx0)=t=1Tq(xtxt1)

高斯链的一个关键便利是:任意时刻 t 的边际分布有闭式解,不必逐步采样。令 αt=1βtα¯t=s=1tαs,则

q(xtx0)=N(xt;α¯tx0,(1α¯t)I)xt=α¯tx0+1α¯tϵ,ϵN(0,I)

这个重参数化闭式是训练高效的根基:训练时直接采一个 t 和一个 ϵ,一步算出 xt,无需模拟整条链。当 T 足够大、α¯T0 时,xT 近似为标准高斯噪声 N(0,I)

反向去噪:可学习的生成过程

生成时我们走反方向:从 xTN(0,I) 出发,逐步去噪到 x0。真实反向 q(xt1xt) 难以处理,于是用神经网络 pθ 近似,且在 βt 足够小时它仍近似为高斯:

pθ(xt1xt)=N(xt1;μθ(xt,t),Σθ(xt,t))

DDPM 的一个核心发现是:与其让网络直接预测均值 μθ,不如让它预测加在 x0 上的噪声 ϵ,记作 ϵθ(xt,t)。给定后验 q(xt1xt,x0) 的解析形式,均值可由噪声预测反推:

μθ(xt,t)=1αt(xtβt1α¯tϵθ(xt,t))

方差 Σθ 在原始 DDPM 中常被固定为 σt2I(取 βt 或后验方差),不参与学习。

训练目标:从 ELBO 到简化 MSE

形式上扩散模型是一个层级隐变量模型,训练目标是负对数似然的变分上界(ELBO / VLB),可拆成一组 KL 项之和:

Lvlb=Eq[DKL(q(xTx0)p(xT))LT+t>1DKL(q(xt1xt,x0)pθ(xt1xt))Lt1logpθ(x0x1)L0]

DDPM 的关键工程贡献,是证明在噪声预测的参数化下,每个 Lt1 项都化简为预测噪声与真实噪声之间的加权 MSE;并且直接丢掉权重系数(设为 1)反而能提升样本质量。于是得到极其简洁的训练损失:

Lsimple=Et,x0,ϵ[ϵϵθ(α¯tx0+1α¯tϵ,t)2]

训练循环只需四步:采样 x0、均匀采样时间步 t、采样噪声 ϵ、回归 ϵθ。网络主干通常是带时间步嵌入的 U-Net(条件信息通过交叉注意力注入),这部分演进见 架构演进:U-Net → DiT

DDIM:确定性、非马尔可夫的加速采样

DDPM 采样需要逐步走完 T(常为 1000)步,推理极慢。DDIM 指出:训练目标 Lsimple 只依赖边际 q(xtx0),并不绑定那条具体的马尔可夫链。因此可以构造一族共享相同边际、但非马尔可夫的前向过程,它们对应的网络无需重训即可复用。

DDIM 的采样更新可写为(σt 控制随机性):

xt1=α¯t1(xt1α¯tϵθ(xt,t)α¯t)预测的 x^0+1α¯t1σt2ϵθ(xt,t)指向 xt 的方向+σtϵ

σt=0 时整个生成过程完全确定性(给定 xT 即唯一确定 x0),这正是 DDIM 命名中"implicit"的由来。确定性还带来两个好处:可在样本间做有意义的潜空间插值,以及可做近似可逆的"反演"(inversion)用于图像编辑。更重要的是,DDIM 允许在子序列时间步上采样,把步数从 1000 压到 20~100 步仍保持高质量,按论文实测可比 DDPM 快约 10×~50×(以官方报告为准)。更激进的加速器(DPM-Solver、Consistency、LCM、Turbo)见 采样加速与蒸馏

Score-based / SDE:统一的连续视角

另一条独立发展的脉络是基于分数(score)的生成模型。分数指对数密度的梯度 xlogp(x)。NCSN(Noise Conditional Score Networks)用去噪分数匹配(denoising score matching)在多个噪声尺度上学习分数 sθ(x,σ)xlogpσ(x),再用退火 Langevin 动力学采样:

xi+1=xi+δ2sθ(xi,σ)+δzi,ziN(0,I)

Song et al. (2021) 进一步把离散扩散与 NCSN 统一为连续时间随机微分方程(SDE)。前向加噪是一条 SDE:

dx=f(x,t)dt+g(t)dw

它存在对应的逆时 SDE,且只依赖分数函数 xlogpt(x)

dx=[f(x,t)g(t)2xlogpt(x)]dt+g(t)dw¯

两类经典 SDE 对应两类离散模型:

SDE 类型前向行为对应离散模型边际尺度
VE-SDE(Variance Exploding)只加噪、方差爆炸式增大NCSN / SMLDxt=x0+σtϵ
VP-SDE(Variance Preserving)加噪同时收缩信号、保持方差DDPMxt=α¯tx0+1α¯tϵ

这套框架还揭示了一个重要事实:每条扩散 SDE 都存在一个共享相同边际分布的确定性常微分方程(probability flow ODE)。DDIM 正可看作 VP-SDE 对应 probability flow ODE 的一种离散化——这就把"DDPM 的概率视角"和"score-based 的微分方程视角"完全打通了。ODE 视角也是后续 Flow Matching / Rectified Flow 的思想源头,详见 架构演进与 Flow Matching

小结

  • 前向是固定高斯马尔可夫链,闭式 xt=α¯tx0+1α¯tϵ 让训练高效。
  • 反向用网络预测噪声 ϵθ,训练目标从 ELBO 简化成无权重的 MSE。
  • DDIM 通过非马尔可夫 + 确定性 ODE 离散化,把采样步数大幅压缩。
  • Score-based SDE(VE/VP)提供统一的连续框架,probability flow ODE 把概率视角与分数视角连成一体。

接下来推荐阅读 Latent Diffusion 与 Stable Diffusion,看扩散如何搬到压缩的潜空间从而真正可规模化。

参考文献

  • Song, Y., Ermon, S. Generative Modeling by Estimating Gradients of the Data Distribution (NCSN). 2019. arXiv:1907.05600
  • Ho, J., Jain, A., Abbeel, P. Denoising Diffusion Probabilistic Models (DDPM). 2020. arXiv:2006.11239
  • Song, J., Meng, C., Ermon, S. Denoising Diffusion Implicit Models (DDIM). 2020. arXiv:2010.02502
  • Song, Y., Sohl-Dickstein, J., Kingma, D. P., Kumar, A., Ermon, S., Poole, B. Score-Based Generative Modeling through Stochastic Differential Equations. 2021. arXiv:2011.13456
  • Sohl-Dickstein, J., Weiss, E. A., Maheswaranathan, N., Ganguli, S. Deep Unsupervised Learning using Nonequilibrium Thermodynamics. 2015. arXiv:1503.03585