生成式人工智能的扩散模型概述
去噪扩散概率模型(DDPM)通过正向加噪和反向去噪过程实现数据生成。文章介绍了 DDPM 的数学框架,包括马尔可夫链的前向扩散与参数化的反向重建过程。详细阐述了高斯噪声下的训练目标推导,以及基于变分下界的最优化方法。此外,还涵盖了评估指标如 IS 和 FID,并讨论了 DDIM、无分类器引导及潜在扩散模型等关键改进技术,为理解现代生成式 AI 提供了理论基础。

去噪扩散概率模型(DDPM)通过正向加噪和反向去噪过程实现数据生成。文章介绍了 DDPM 的数学框架,包括马尔可夫链的前向扩散与参数化的反向重建过程。详细阐述了高斯噪声下的训练目标推导,以及基于变分下界的最优化方法。此外,还涵盖了评估指标如 IS 和 FID,并讨论了 DDIM、无分类器引导及潜在扩散模型等关键改进技术,为理解现代生成式 AI 提供了理论基础。

生成模型的目标是基于从未知潜在分布中采样得到的数据集,生成新的数据样本。为了实现这一目标,已经提出了许多不同的机器学习方法,例如生成对抗网络(GANs)、变分自编码器(VAEs)、自回归模型、归一化流和能量基模型。本文将介绍去噪扩散概率模型(DDPMs),这是一类生成方法,其基于重建一个扩散过程的思想。扩散过程从潜在分布开始,逐渐向其状态添加噪声,直到最终状态完全是噪声,然后反向重建。通过这种反向重建,纯噪声转变为有意义的数据,因此 DDPMs 提供了一种自然的生成框架。
DDPMs 最初在文献中提出,并在后续工作中进一步推广,已经能够在图像合成和编辑、视频生成、自然语言处理和异常检测等许多领域取得最先进的成果。在经典的形式中,DDPM 是一个由两个随机过程组成的框架,即正向过程和反向过程。正向过程——扩散过程——从初始时间步骤的(近似)潜在分布开始,然后逐渐向其状态添加噪声,直到其终止时间步骤的状态(近似)完全是噪声。反向过程——去噪过程——是一个参数化过程,从完全噪声的状态开始。在 DDPM 的背景下,关键思想是学习反向过程的参数,使得反向过程每个时间步骤的分布近似与正向过程对应时间步骤的分布相同。
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)$ 也是高斯分布,由神经网络预测均值和方差。
训练 DDPM 的目标是最小化证据下界(ELBO)的负值。对于高斯情况,这简化为预测噪声 $\epsilon$ 的均方误差损失: $$ L_{simple}(\theta) = \mathbb{E}{t,x_0,\epsilon} [||\epsilon - \epsilon\theta(x_t, t)||^2] $$ 其中 $\epsilon_\theta$ 是神经网络,输入为带噪图像 $x_t$ 和时间步 $t$,输出为预测的噪声。
本节考虑转移核由高斯分布给出的情况。直观而言,在这个设置中,我们认为正向过程逐渐向训练样本添加高斯噪声,反向过程则旨在逐渐去除噪声,从而恢复原始的训练样本。
高斯分布具有封闭性,多个高斯分布的卷积仍然是高斯分布。这使得我们可以直接计算 $q(x_t|x_0)$ 而不需要迭代模拟。
在实际训练中,我们采样时间步 $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()
常用的神经网络架构包括 U-Net,它结合了跳跃连接以保留空间细节,并配合注意力机制处理长距离依赖。
在生成建模的背景下,评估生成数据的质量和性能至关重要。
DDIM 将扩散过程视为非马尔可夫过程,允许确定性采样。这使得推理速度显著加快,且支持插值和编辑操作。
通过训练时随机丢弃条件标签,模型可以在推理时利用梯度引导生成特定类别的数据,无需额外的分类器。
LDM 先在潜在空间(Latent Space)进行扩散,而不是像素空间。这通过预训练的 VAE 压缩图像维度,大幅降低了计算成本,使得高分辨率图像生成成为可能。
扩散模型通过模拟物理扩散过程的逆过程,实现了高质量的生成能力。随着 DDIM、LDM 等技术的演进,扩散模型已成为当前生成式人工智能领域的核心范式之一。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online