Skip to content

扩散模型理论第一课

扩散模型是一类生成模型,其目标与生成对抗网络(GANs)、变分自编码器(VAEs)和归一化流(Normalizing Flows)相同:学习一个真实数据分布 q(x) 的近似 pθ(x),并从中采样生成新样本 xpθ(x)

与 GANs 通过生成器的一次前向传递直接产生样本不同,扩散模型通过多个去噪步骤逐步逼近真实样本。因此,扩散模型的输入与输出通常具有相同的维度。

1. 前向扩散过程

给定一个干净样本 x0q(x),前向过程通过 T 步逐渐向其中添加高斯噪声,得到序列 x1,,xT。每一步的转移分布可写为:

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

其中 βt(0,1) 控制第 t 步加入的噪声强度,I 为单位矩阵。

利用重参数化技巧,可以直接从 x0 采样任意时刻 t 的噪声样本:

(2)q(xtx0)=N(xt;α¯tx0,(1α¯t)I),

其中

(3)αt=1βt,α¯t=i=1tαi.

2. 反向去噪过程

前向过程将数据逐步破坏为噪声,反向过程则负责从噪声中恢复数据。若能建模反向转移分布 q(xt1xt),就可以从先验噪声 xTN(0,I) 出发,逐步去噪生成新样本。

βt 足够小时,反向过程也可用高斯分布近似:

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

实践中,协方差常被设为与时间相关的对角矩阵 σt2I,网络只学习均值:

(5)pθ(xt1xt)=N(xt1;μθ(xt,t),σt2I).

3. DDPM:去噪扩散概率模型

DDPM 按照反向过程的全部 T 步生成样本。在参数化均值 μθ(xt,t) 时,网络可以选择:

  1. 直接预测均值;
  2. 预测原始样本 x0,再代入真实后验均值:
(6)μ~t=α¯t1βt1α¯tx0+αt(1α¯t1)1α¯txt;
  1. 预测从 x0xt 所添加的标准高斯噪声 ϵ
(7)x0=1α¯t(xt1α¯tϵ).

第三种参数化最为常用。将式 (7) 代入式 (6),可得:

(8)μ~θ=1αt(xtβt1α¯tϵ).

这是 DDPM 采样的核心方程。

3.1 训练

DDPM 的训练目标直观且直接:

  1. 从数据集中采样干净样本 x0q(x0)
  2. 均匀采样时间步 tU(1,T)
  3. 采样噪声 ϵN(0,I),并按前向过程构造:
(9)xt=α¯tx0+1α¯tϵ;
  1. 用网络预测噪声 ϵ^θ=ϵθ(xt,t)
  2. 最小化真实噪声与预测噪声之间的误差,通常采用简化的均方误差损失:
(10)Lsimple=Ex0,t,ϵ[ϵϵθ(xt,t)22].

3.2 采样

生成过程从 xTN(0,I) 开始。对于 t=T,,1

  1. 网络预测噪声 ϵ~θ=ϵθ(xt,t)
  2. 按式 (8) 计算均值;
  3. 采样下一步:
(11)xt1N(μ~θ,σt2I).

t=1 时,通常直接输出均值 μ~θ 作为最终样本。

4. DDIM:更快的确定性采样

DDPM 需要遍历完整的 T 步反向链,采样较慢。DDIM 通过引入可控的随机性,允许使用更少的步骤生成样本。

由式 (2) 可得:

(12)q(xt1x0)=N(xt1;α¯t1x0,(1α¯t1)I).

将其重写为:

(13)xt1=α¯t1x0+1α¯t1σt2ϵt+σtϵ,

其中 ϵN(0,I)。令

(14)σt2=ηβ~t=η1α¯t11α¯tβt,

其中 η[0,1] 控制随机程度:

  • η=1 时,退化为 DDPM;
  • η=0 时,采样过程变为确定性,即 DDIM。

DDIM 选择一个子集时间步 {τ1,,τS}{1,,T} 并只在这些步上迭代,因此可以显著加速采样。实验表明,DDIM 在步数 S 较小时通常比 DDPM 获得更好的样本质量,但在完整步数 S=T 时 DDPM 表现更优。

总结

  • 扩散模型通过前向过程逐步加噪、反向过程逐步去噪来生成数据。
  • DDPM 训练网络预测噪声,通过优化简化的均方误差损失实现端到端学习。
  • DDIM 引入参数 η 控制随机性,在 η=0 时可实现确定性、少步数的快速采样。
  • 扩散模型与 GANs 的关键区别在于:它不是单次前向生成,而是通过多步迭代逐步逼近真实样本。

Maintained by Robin