Skip to content

扩散模型理论第一课 ​

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

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

1. 前向扩散过程 ​

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

(1)q(xt∣xt−1)=N(xt;1−βtxt−1,βtI).

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

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

(2)q(xt∣x0)=N(xt;α¯tx0,(1−α¯t)I),

其中

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

2. 反向去噪过程 ​

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

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

(4)pθ(xt−1∣xt)=N(xt−1;μθ(xt,t),Σθ(xt,t)).

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

(5)pθ(xt−1∣xt)=N(xt−1;μθ(xt,t),σt2I).

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

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

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

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

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

这是 DDPM 采样的核心方程。

3.1 训练 ​

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

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

3.2 采样 ​

生成过程从 xT∼N(0,I) 开始。对于 t=T,…,1:

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

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

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

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

由式 (2) 可得:

(12)q(xt−1∣x0)=N(xt−1;α¯t−1x0,(1−α¯t−1)I).

将其重写为:

(13)xt−1=α¯t−1x0+1−α¯t−1−σt2ϵt+σtϵ,

其中 ϵ∼N(0,I)。令

(14)σt2=η⋅β~t=η⋅1−α¯t−11−α¯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