Diffusion Models/zh
| Article | |
|---|---|
| Topic area | Generative Models |
| Prerequisites | Variational Autoencoder, Backpropagation, KL Divergence |
概述
扩散模型是一类生成模型,通过反转一个渐进的加噪过程来学习数据分布。模型从纯高斯噪声出发,执行一系列小步去噪,直至生成与真实数据相似的样本。该框架由 Sohl-Dickstein 等人于 2015 年在机器学习领域推广,并由 Ho、Jain 和 Abbeel 在 2020 年的 Denoising Diffusion Probabilistic Models (DDPM) 论文中推向最先进的图像质量。[1]扩散模型如今支撑着现代图像、音频和视频合成的大部分工作,包括 Stable Diffusion、DALL-E 3 和 Imagen 等系统,并已扩展至分子设计、机器人学和科学模拟。
与 Generative Adversarial Network 和 Variational Autoencoder 相比,扩散模型以较慢的采样换取了稳定的训练目标、高样本多样性和良好的似然特性。其核心洞见是:学习去除少量噪声远比学习直接将噪声映射到数据要容易得多,而迭代这一更简单的问题可以组合成强大的生成过程。
直觉
前向过程反复向干净样本中加入少量高斯噪声,经过多步之后只剩下噪声。逆向过程旨在撤销每一步加噪,但精确的逆过程难以处理。因此,模型被训练为在每个噪声水平上近似该逆向步骤。推理时,采样从噪声开始,反复应用学到的去噪器,以回到数据流形上。
一个有用的类比是雕塑。前向过程一粒一粒地把雕像埋入沙中。对于任意被部分掩埋的雕像,模型学习下一粒应被移走的沙是什么样子。经过充分训练后,模型可以从一堆沙子开始,逐粒移除,直到雕像重新显现。
前向过程
前向过程是一个固定的 Markov chain,它按照方差调度 $ \beta_1, \dots, \beta_T \in (0, 1) $ 在 $ T $ 个时间步上逐步腐蚀数据样本 $ x_0 $:
$ {\displaystyle q(x_t \mid x_{t-1}) = \mathcal{N}(x_t;\, \sqrt{1 - \beta_t}\, x_{t-1},\, \beta_t I).} $
一个便利的性质是,可以直接从 $ x_0 $ 以闭式形式采样 $ x_t $。设 $ \alpha_t = 1 - \beta_t $ 且 $ \bar\alpha_t = \prod_{s=1}^{t} \alpha_s $:
$ {\displaystyle q(x_t \mid x_0) = \mathcal{N}(x_t;\, \sqrt{\bar\alpha_t}\, x_0,\, (1 - \bar\alpha_t) I).} $
当 $ \bar\alpha_T \approx 0 $ 时,边缘分布 $ q(x_T) $ 实际上是一个标准高斯分布,为逆向过程提供了一个可处理的起点。
逆向过程与训练
逆向过程由一个神经网络 $ p_\theta(x_{t-1} \mid x_t) $ 参数化,图像任务通常采用 U-Net,序列任务和高分辨率生成则常用 Transformer(DiT)。训练目标是最小化负对数似然的变分上界。Ho 等人证明,在特定的重新加权下,该上界可化简为一个非常简洁的噪声预测损失:
$ {\displaystyle L_{\mathrm{simple}} = \mathbb{E}_{x_0,\, t,\, \epsilon}\!\left[\,\lVert \epsilon - \epsilon_\theta(x_t, t) \rVert^2\,\right],} $
其中 $ \epsilon \sim \mathcal{N}(0, I) $,$ x_t = \sqrt{\bar\alpha_t}\, x_0 + \sqrt{1 - \bar\alpha_t}\, \epsilon $,且 $ t $ 从 $ \{1, \dots, T\} $ 中均匀采样。该网络被训练为在给定带噪输入和时间步的条件下预测所加入的噪声。等价的参数化方式包括直接预测 $ x_0 $ 或速度 $ v $,这可以改善噪声调度极端处的数值稳定性。
采样
训练完成后,采样过程从抽取 $ x_T \sim \mathcal{N}(0, I) $ 开始,从 $ t = T $ 到 $ t = 1 $ 反复执行逆向步骤。DDPM 的更新公式为
$ {\displaystyle x_{t-1} = \frac{1}{\sqrt{\alpha_t}}\!\left(x_t - \frac{\beta_t}{\sqrt{1 - \bar\alpha_t}}\, \epsilon_\theta(x_t, t)\right) + \sigma_t z,\quad z \sim \mathcal{N}(0, I).} $
朴素的 DDPM 采样每生成一张图像需要数百乃至数千次网络评估,这是扩散模型效率方面的核心问题。更快的采样器,如 DDIM、[2]DPM-Solver 以及一致性模型,将采样视为求解常微分方程或随机微分方程,并使用高阶数值积分器或蒸馏,将所需步数减少到一到五十步之间。
基于分数的视角与随机微分方程
Song 与 Ermon 将去噪表述为在每个噪声水平上估计噪声化数据分布的 Score Function $ \nabla_x \log p_t(x) $。[3]在连续极限下,前向过程变为一个随机微分方程,而逆向过程则由仅依赖于分数的对应反向时间 SDE 所描述。此外还存在一个具有相同边缘分布的确定性概率流常微分方程,使得能够精确计算似然并使用现成的 ODE 求解器。DDPM 噪声预测器与分数网络在已知的缩放下等价,从而统一了这两种视角。
条件化与引导
条件生成通过向去噪器输入额外信息(如类别标签、文本嵌入或低分辨率图像)来实现。两种被广泛使用的技术在采样时增强了条件对齐:分类器引导用一个外部分类器的梯度扰动分数;Classifier-Free Guidance 则用随机条件丢弃训练单一网络,并在推理时组合条件预测与无条件预测,通过单一引导尺度在多样性与提示词符合度之间进行权衡。引导是文生图扩散模型能够紧密跟随提示词的主要原因。
变体与扩展
Latent Diffusion Models 在 Variational Autoencoder 的压缩潜空间中运行扩散过程,将计算量减少了一个数量级,使得在消费级硬件上进行高分辨率图像与视频合成成为可能。级联扩散在低分辨率基础模型之上叠加一个或多个超分辨率扩散阶段。一致性模型将多步采样器蒸馏为单步生成器。流匹配与整流流通过训练网络预测沿更直的概率路径上的速度场,推广了该框架。离散扩散通过用吸收型或均匀型腐蚀过程替代高斯噪声,将该公式适配于文本与图。
与其他生成模型的比较
扩散模型提供稳定的极大似然风格训练、超过 Generative Adversarial Network 的模式覆盖率,以及在图像领域可与GAN相媲美乃至超越的样本质量。与 Variational Autoencoder 相比,它们避免了单步高斯解码器所导致的模糊重建。与自回归模型相比,它们在空间维度上并行生成,且不强加人为的生成顺序。主要缺点是采样成本。即便使用现代快速采样器,生成一张高分辨率图像通常仍需要比同等规模的 GAN 或自回归Transformer的单次前向传播更多的计算。
局限性与开放问题
采样速度仍是主要的实际瓶颈,这推动了关于蒸馏、少步求解器和一致性目标的持续研究。似然评估需要使用概率流 ODE,在高分辨率下代价高昂。当条件化于罕见提示词时,扩散模型可能记忆并复现训练样本,引发隐私与版权方面的担忧。在文本提示词之外的可控性,包括精确的空间布局、编辑过程中的身份保持,以及忠实的计数与文字渲染,仍是活跃的研究方向。最后,要将扩散扩展到长序列以及分子、蛋白质、三维场景等具有物理基础的模态,需要定制的噪声调度和等变架构,而非现成的U-Net。