生成式人工智能的扩散模型概述
1 引言
生成模型的目标是基于从未知潜在分布中采样得到的数据集,生成新的数据样本。为了实现这一目标,已经提出了许多不同的机器学习方法,例如生成对抗网络(GANs)、变分自编码器(VAEs)、自回归模型、归一化流和能量基模型。本文将介绍去噪扩散概率模型(DDPMs),这是一类生成方法,其基于重建一个扩散过程的思想。扩散过程从潜在分布开始,逐渐向其状态添加噪声,直到最终状态完全是噪声,然后反向重建。通过这种反向重建,纯噪声转变为有意义的数据,因此 DDPMs 提供了一种自然的生成框架。
DDPMs 最初在文献中提出,并在后续工作中进一步推广,已经能够在图像合成和编辑、视频生成、自然语言处理和异常检测等许多领域取得最先进的成果。在经典的形式中,DDPM 是一个由两个随机过程组成的框架,即正向过程和反向过程。正向过程——扩散过程——从初始时间步骤的(近似)潜在分布开始,然后逐渐向其状态添加噪声,直到其终止时间步骤的状态(近似)完全是噪声。反向过程——去噪过程——是一个参数化过程,从完全噪声的状态开始。在 DDPM 的背景下,关键思想是学习反向过程的参数,使得反向过程每个时间步骤的分布近似与正向过程对应时间步骤的分布相同。
2 去噪扩散概率模型(DDPMs)
2.1 数学框架
DDPMs 的核心在于定义一个前向扩散过程和一个反向去噪过程。
前向过程:这是一个固定的马尔可夫链,逐步向数据中添加高斯噪声。给定数据 $x_0$,前向过程定义为: $$ q(x_{1:T}|x_0) = \prod_{t=1}^{T} q(x_t|x_{t-1}) $$ 其中转移核通常为: $$ q(x_t|x_{t-1}) = \mathcal{N}(x_t; \sqrt{1-\beta_t}x_{t-1}, \beta_t\mathbf{I}) $$ 这里 $\beta_t$ 是一个预先设定的方差调度表,控制每一步添加噪声的量。利用重参数化技巧,可以直接计算任意时刻 $t$ 的状态 $x_t$: $$ x_t = \sqrt{\bar{\alpha}_t}x_0 + \sqrt{1-\bar{\alpha}_t}\epsilon, \quad \epsilon \sim \mathcal{N}(0, \mathbf{I}) $$ 其中 $\alpha_t = 1-\beta_t$,$\bar{\alpha}t = \prod{s=1}^{t} \alpha_s$。
反向过程:这是一个学习的马尔可夫链,旨在从噪声恢复数据。我们试图学习一个逆转移核 $p_\theta(x_{t-1}|x_t)$: $$ p_\theta(x_{0:T-1}|x_T) = p(x_T)\prod_{t=1}^{T} p_\theta(x_{t-1}|x_t) $$ 通常假设 $p_\theta(x_{t-1}|x_t)$ 也是高斯分布,由神经网络预测均值和方差。
2.2 训练目标
训练 DDPM 的目标是最小化证据下界(ELBO)的负值。对于高斯情况,这简化为预测噪声 $\epsilon$ 的均方误差损失: $$ L_{simple}(\theta) = \mathbb{E}{t,x_0,\epsilon} [||\epsilon - \epsilon\theta(x_t, t)||^2] $$ 其中 $\epsilon_\theta$ 是神经网络,输入为带噪图像 $x_t$ 和时间步 $t$,输出为预测的噪声。
3 带有高斯噪声的 DDPMs
本节考虑转移核由高斯分布给出的情况。直观而言,在这个设置中,我们认为正向过程逐渐向训练样本添加高斯噪声,反向过程则旨在逐渐去除噪声,从而恢复原始的训练样本。
3.1 高斯分布性质
高斯分布具有封闭性,多个高斯分布的卷积仍然是高斯分布。这使得我们可以直接计算 $q(x_t|x_0)$ 而不需要迭代模拟。
3.2 训练方案
在实际训练中,我们采样时间步 $t \sim U{1, ..., T}$,采样真实数据 $x_0$,采样噪声 $\epsilon \sim \mathcal{N}(0, \mathbf{I})$,计算 $x_t$,然后训练网络最小化预测噪声与真实噪声的差异。
# 简化的训练循环伪代码
for batch in dataloader:
x0 = batch
t = torch.randint(0, T, (batch_size,))
epsilon = torch.randn_like(x0)
alpha_bar = alphas_cumprod[t]
xt = sqrt(alpha_bar) * x0 + sqrt(1 - alpha_bar) * epsilon
pred_noise = model(xt, t)
loss = mse_loss(pred_noise, epsilon)
optimizer.zero_grad()
loss.backward()
optimizer.step()
3.3 架构选择
常用的神经网络架构包括 U-Net,它结合了跳跃连接以保留空间细节,并配合注意力机制处理长距离依赖。
4 生成模型的评估
在生成建模的背景下,评估生成数据的质量和性能至关重要。
4.1 内容不变指标
- Inception Score (IS):衡量生成图像的清晰度和多样性。公式为 $\exp(\mathbb{E}_{x} [KL(p(y|x) || p(y))])$。
- Fréchet Inception Distance (FID):比较生成图像和真实图像特征分布的距离。公式为 $|\mu_r - \mu_g|^2 + \text{Tr}(\Sigma_r + \Sigma_g - 2(\Sigma_r\Sigma_g)^{1/2})$。FID 通常被认为比 IS 更稳健。
5 扩展与改进
5.1 去噪扩散隐式模型(DDIM)
DDIM 将扩散过程视为非马尔可夫过程,允许确定性采样。这使得推理速度显著加快,且支持插值和编辑操作。
5.2 无分类器扩散引导
通过训练时随机丢弃条件标签,模型可以在推理时利用梯度引导生成特定类别的数据,无需额外的分类器。
5.3 潜在扩散模型(LDM)
LDM 先在潜在空间(Latent Space)进行扩散,而不是像素空间。这通过预训练的 VAE 压缩图像维度,大幅降低了计算成本,使得高分辨率图像生成成为可能。
结论
扩散模型通过模拟物理扩散过程的逆过程,实现了高质量的生成能力。随着 DDIM、LDM 等技术的演进,扩散模型已成为当前生成式人工智能领域的核心范式之一。

