论文来源:Ho, J., Jain, A., & Abbeel, P. (2020). Denoising Diffusion Probabilistic Models. NeurIPS 2020. arXiv:2006.11239
前置要求:概率论基础(高斯分布、KL 散度)、深度学习基础(神经网络、梯度下降)、变分推断基本概念(ELBO)。
1. 引言:为什么扩散模型值得关注?
1.1 生成模型的三大流派
在 2020 年之前,图像生成领域的主流方法主要有三类:
| 方法 | 代表作 | 核心思想 | 优点 | 缺点 |
|---|---|---|---|---|
| GAN | StyleGAN, BigGAN | 生成器与判别器对抗博弈 | 生成质量高,速度快 | 训练不稳定,模式坍缩 |
| VAE | β-VAE, VQ-VAE | 变分推断,最大化 ELBO | 训练稳定,有理论保证 | 生成图像模糊 |
| 自回归模型 | PixelCNN, GPT | 逐像素/逐 token 生成 | 似然函数精确 | 生成速度极慢 |
扩散模型(Diffusion Model)是第四类生成范式。它的核心思想极其优雅:先把数据一点点毁掉变成噪声,再教会神经网络把这个过程逆转过来。
1.2 DDPM 的历史地位
2020 年,Jonathan Ho 等人在论文 Denoising Diffusion Probabilistic Models(DDPM)中证明:扩散模型不仅能生成高质量图像,而且训练方法极其简单。这篇论文在无条件 CIFAR10 数据集上取得了 FID 3.17 的成绩,超越了当时几乎所有 GAN 模型,直接引爆了扩散模型的研究热潮,催生了后续的 Stable Diffusion、DALL·E 2、Imagen 等里程碑工作。
1.3 核心直觉:墨水滴入清水
类比:想象一滴墨水滴入一杯清水中。
- 前向过程(扩散):墨水分子逐渐扩散,水从清澈变得浑浊,最终变成均匀的浑浊液体。这个过程是不可逆的自然过程——你无法从一杯浑浊的水中自发地把墨水分子聚拢回去。
- 反向过程(去噪):如果我们训练一个神经网络来"学会"每一步如何逆转扩散(即如何从浑浊状态恢复到上一步的状态),那么从一杯完全浑浊的水出发,我们就能一步步把它变回清澈——并且每次恢复的结果都可以是不同的,这就是生成。
2. 前向过程:系统地加噪
2.1 马尔可夫链定义
前向过程(Forward Process)是一个固定的马尔可夫链,不需要任何神经网络参与。我们从一张真实图像 $x_0$ 出发,按照预设的方差调度 $\beta_1, \beta_2, \ldots, \beta_T$,每一步加入一小份高斯噪声:
$$ q(x_1, \ldots, x_T \mid x_0) = \prod_{t=1}^{T} q(x_t \mid x_{t-1}) $$其中单步转移为:
$$ q(x_t \mid x_{t-1}) = \mathcal{N}\!\left(x_t;\, \sqrt{1 - \beta_t}\, x_{t-1},\, \beta_t I\right) $$直观理解:$x_t$ 就是"稍微缩小一点的上一步图像"加上"一小份新的高斯噪声"。$\beta_t$ 控制每一步加多少噪声,通常很小(DDPM 中从 $10^{-4}$ 到 $0.02$ 线性递增)。
2.2 关键性质:任意时刻的封闭形式
前向过程有一个极其重要的性质:我们可以跳过中间所有步骤,直接从原图 $x_0$ 计算出任意时刻 $t$ 的加噪图像 $x_t$。
定义 $\alpha_t = 1 - \beta_t$,$\bar{\alpha}_t = \prod_{s=1}^{t} \alpha_s$,则有:
$$ q(x_t \mid x_0) = \mathcal{N}\!\left(x_t;\, \sqrt{\bar{\alpha}_t}\, x_0,\, (1 - \bar{\alpha}_t)\, I\right) $$利用重参数化技巧,这等价于:
$$ x_t = \sqrt{\bar{\alpha}_t}\, x_0 + \sqrt{1 - \bar{\alpha}_t}\, \epsilon, \quad \epsilon \sim \mathcal{N}(0, I) $$直观理解:$x_t$ 就是原图和噪声的加权混合。$t$ 越大,$\bar{\alpha}_t$ 越小,原图成分越少,噪声成分越多。当 $T$ 足够大时,$x_T$ 几乎就是纯粹的高斯噪声。
这个性质使得训练非常高效——我们不需要真的逐步加噪 1000 步,而是可以随机采样一个时间步 $t$,直接一步到位地得到 $x_t$。
2.3 信号与噪声的此消彼长
DDPM 设定 $T = 1000$,$\beta_1 = 10^{-4}$ 线性增长到 $\beta_T = 0.02$。这意味着:
- 在 $t = 1$ 时,图像几乎没变化,只加了一点点噪点
- 在 $t = 500$ 时,图像已经严重模糊,但大致轮廓还在
- 在 $t = 1000$ 时,$\bar{\alpha}_T \approx 0$,图像已经变成纯噪声
论文中提到,在这个设定下,$D_{\text{KL}}(q(x_T \mid x_0) \,\|\, \mathcal{N}(0, I)) \approx 10^{-5}$ bits/dim,说明前向过程确实将数据彻底"扩散"成了标准高斯噪声。
3. 反向过程:学习去噪
3.1 反向过程的目标
如果我们知道 $q(x_{t-1} \mid x_t)$,就能从噪声一步步还原回数据。但这个分布太复杂了,无法直接计算。
DDPM 的解决方案是:用一个参数化的神经网络 $p_\theta$ 来近似这个反向过程:
$$ p_\theta(x_0, \ldots, x_{T-1} \mid x_T) = p(x_T) \prod_{t=1}^{T} p_\theta(x_{t-1} \mid x_t) $$其中:
$$ p_\theta(x_{t-1} \mid x_t) = \mathcal{N}\!\left(x_{t-1};\, \mu_\theta(x_t, t),\, \Sigma_\theta(x_t, t)\right) $$先验设为标准正态分布:$p(x_T) = \mathcal{N}(0, I)$。
3.2 为什么反向也可以是高斯的?
当每一步加入的噪声量 $\beta_t$ 足够小时,前向过程的反向在数学上也可以近似为高斯分布。这是一个来自非平衡热力学的理论结果,也是扩散模型能够工作的根本保证。
3.3 目标函数:变分下界
训练的目标是最大化数据的对数似然 $\log p_\theta(x_0)$。通过变分推断,我们可以推导出它的变分下界(ELBO):
$$ \mathbb{E}[-\log p_\theta(x_0)] \leq \mathbb{E}_q\!\left[-\log \frac{p_\theta(x_{0:T})}{q(x_{1:T} \mid x_0)}\right] =: L $$经过一系列巧妙的数学变换(详见论文附录 A),这个下界可以分解为更直观的三项:
$$ L = \underbrace{D_{\text{KL}}\!\left(q(x_T \mid x_0) \,\|\, p(x_T)\right)}_{L_T} + \sum_{t > 1} \underbrace{D_{\text{KL}}\!\left(q(x_{t-1} \mid x_t, x_0) \,\|\, p_\theta(x_{t-1} \mid x_t)\right)}_{L_{t-1}} - \underbrace{\log p_\theta(x_0 \mid x_1)}_{L_0} $$各项含义:
- $L_T$(先验匹配项):确保前向过程的终点与标准正态先验匹配。当 $\beta_t$ 固定时,这一项不含可训练参数,可以忽略。
- $L_{t-1}$(去噪匹配项):核心损失。要求神经网络的反向去噪过程与真实后验尽量接近。
- $L_0$(重建项):从 $x_1$ 恢复出原始数据 $x_0$ 的对数似然。
4. 核心推导:从预测均值到预测噪声
4.1 前向后验的封闭形式
$L_{t-1}$ 中需要比较的目标分布 $q(x_{t-1} \mid x_t, x_0)$ 是可以精确计算的!当我们同时知道 $x_t$ 和 $x_0$ 时,前向过程的后验也是一个高斯分布:
$$ q(x_{t-1} \mid x_t, x_0) = \mathcal{N}\!\left(x_{t-1};\, \tilde{\mu}_t(x_t, x_0),\, \tilde{\beta}_t I\right) $$其中:
$$ \tilde{\mu}_t(x_t, x_0) = \frac{\sqrt{\bar{\alpha}_{t-1}}\, \beta_t}{1 - \bar{\alpha}_t}\, x_0 + \frac{\sqrt{\alpha_t}\, (1 - \bar{\alpha}_{t-1})}{1 - \bar{\alpha}_t}\, x_t $$$$ \tilde{\beta}_t = \frac{1 - \bar{\alpha}_{t-1}}{1 - \bar{\alpha}_t}\, \beta_t $$直观理解:给定 $x_t$ 和 $x_0$,我们可以精确地知道 $x_{t-1}$ 应该长什么样。这就是"已知原图时,去噪变得简单"的数学体现。
4.2 最朴素的参数化:直接预测均值
设 $\Sigma_\theta(x_t, t) = \sigma_t^2 I$ 为固定的常数(DDPM 发现 $\sigma_t^2 = \beta_t$ 和 $\sigma_t^2 = \tilde{\beta}_t$ 效果差不多),那么 $L_{t-1}$ 简化为:
$$ L_{t-1} = \mathbb{E}_q\!\left[\frac{1}{2\sigma_t^2} \left\| \tilde{\mu}_t(x_t, x_0) - \mu_\theta(x_t, t) \right\|^2\right] + C $$其中 $C$ 是与 $\theta$ 无关的常数。最直接的做法是让神经网络 $\mu_\theta$ 直接去预测 $\tilde{\mu}_t$。但这并不是最优方案。
4.3 DDPM 的关键洞察:预测噪声
利用 $x_t = \sqrt{\bar{\alpha}_t}\, x_0 + \sqrt{1 - \bar{\alpha}_t}\, \epsilon$ 这一重参数化,可以将 $\tilde{\mu}_t$ 重新写为:
$$ \tilde{\mu}_t = \frac{1}{\sqrt{\alpha_t}}\!\left(x_t - \frac{\beta_t}{\sqrt{1 - \bar{\alpha}_t}}\, \epsilon\right) $$于是,我们可以用一个噪声预测网络 $\epsilon_\theta(x_t, t)$ 来参数化均值:
$$ \mu_\theta(x_t, t) = \frac{1}{\sqrt{\alpha_t}}\!\left(x_t - \frac{\beta_t}{\sqrt{1 - \bar{\alpha}_t}}\, \epsilon_\theta(x_t, t)\right) $$将这个参数化代入 $L_{t-1}$,得到:
$$ L_{t-1} - C = \mathbb{E}_{x_0, \epsilon}\!\left[\frac{\beta_t^2}{2\sigma_t^2 \alpha_t (1 - \bar{\alpha}_t)} \left\| \epsilon - \epsilon_\theta\!\left(\sqrt{\bar{\alpha}_t}\, x_0 + \sqrt{1 - \bar{\alpha}_t}\, \epsilon,\, t\right)\right\|^2\right] $$这个公式的含义极其清晰:
- 拿一张真实图片 $x_0$
- 随机生成一份噪声 $\epsilon$
- 把噪声按比例加到图片上得到 $x_t$
- 让神经网络看 $x_t$,猜"刚才加的噪声是什么"
- 计算真实噪声与预测噪声的均方误差
4.4 简化训练目标
DDPM 论文的最终训练目标采用了进一步简化:去掉公式中的权重系数,直接优化:
$$ L_{\text{simple}}(\theta) = \mathbb{E}_{t,\, x_0,\, \epsilon}\!\left[\left\| \epsilon - \epsilon_\theta\!\left(\sqrt{\bar{\alpha}_t}\, x_0 + \sqrt{1 - \bar{\alpha}_t}\, \epsilon,\, t\right)\right\|^2\right] $$其中 $t$ 从 $\{1, 2, \ldots, T\}$ 中均匀采样。
为什么去掉权重反而更好? 标准变分下界对小 $t$(噪声很小、去噪很容易的步骤)赋予了很大权重。但去噪那些几乎没被污染的图片对提升生成质量帮助不大。去掉权重后,模型可以把更多注意力放在 $t$ 较大(噪声严重、去噪困难)的步骤上,这些步骤对最终生成质量更关键。
论文实验也验证了这一点:$L_{\text{simple}}$ 训练出的模型生成质量最好(FID 3.17),优于标准变分下界训练的模型(FID 13.51)。
5. 训练与采样算法
5.1 训练算法
训练过程极其简洁,伪代码如下:
重复以下步骤直到收敛:
1. 从数据集中采样一张真实图像 x₀
2. 从 {1, 2, ..., T} 中均匀采样一个时间步 t
3. 从标准正态分布采样噪声 ε ~ N(0, I)
4. 计算梯度下降步骤:
∇θ ‖ε - εθ(√ᾱₜ x₀ + √(1-ᾱₜ) ε, t)‖²
几个关键细节:
- 每一步训练只需要一次前向传播和一次反向传播,非常高效
- 时间步 $t$ 通过 Transformer 风格的正弦位置编码注入 U-Net
- 无需知道 $x_0$ 的标签,是无条件生成
5.2 采样算法
采样就是"从噪声中恢复图像"的反向过程:
1. 从标准正态分布采样 x_T ~ N(0, I)
2. 对 t = T, T-1, ..., 1:
a. 采样 z ~ N(0, I)(当 t > 1),否则 z = 0
b. 计算去噪:
x_{t-1} = (1/√αₜ) · (xₜ - (1-αₜ)/√(1-ᾱₜ) · εθ(xₜ, t)) + σₜ · z
3. 返回 x₀
去噪公式的直观理解:
- 第一步(减去预测噪声):神经网络告诉我们"这张图里的噪声大概长这样",我们把它从图里减掉一部分
- 第二步(加回随机扰动 $z$):这是 Langevin 动力学的特征。如果完全不加噪声,生成过程会退化为确定性映射,每次生成的图片都一样。加一点随机噪声可以保持生成的多样性
- 最后一步($t = 1$ 时 $z = 0$):最后一步不再加噪声,以获得最干净的输出
5.3 网络架构
DDPM 的去噪网络采用了 U-Net 架构,具体特点包括:
- 骨干网络:基于 PixelCNN++ 的 U-Net,使用 Wide ResNet 残差块
- 时间步注入:通过 Transformer 正弦位置编码将时间 $t$ 注入每一个残差块
- 自注意力:在 $16 \times 16$ 特征图分辨率上使用自注意力层
- 归一化:使用 Group Normalization 替代 Weight Normalization
- 参数量:CIFAR10 模型约 3570 万参数,LSUN/CelebA-HQ 模型约 1.14 亿参数
6. 与去噪分数匹配的等价性
6.1 分数匹配(Score Matching)回顾
分数匹配是另一种生成建模思路。它不去建模 $p(x)$ 本身,而是去建模它的分数函数(Score Function):
$$ s(x) = \nabla_x \log p(x) $$直觉上,分数函数告诉你"从当前位置出发,往哪个方向走能让数据概率增加"。
去噪分数匹配(Denoising Score Matching)的核心思想是:如果我们给数据加上噪声,那么从加噪数据恢复原始数据的过程等价于学习分数函数。
6.2 DDPM 与分数匹配的桥梁
DDPM 论文的一个重要贡献是揭示了扩散模型与去噪分数匹配之间的精确等价关系。
当采用 $\epsilon$-prediction 参数化时,$L_{t-1}$ 变成:
$$ \mathbb{E}_{x_0, \epsilon}\!\left[\frac{\beta_t^2}{2\sigma_t^2 \alpha_t (1 - \bar{\alpha}_t)} \left\| \epsilon - \epsilon_\theta(x_t, t)\right\|^2\right] $$这个目标与 NCSN(Noise Conditional Score Networks)的多尺度去噪分数匹配目标高度相似。进一步地,采样算法(去噪 + 加随机扰动)在数学上与 Langevin 动力学同构——$\epsilon_\theta$ 可以被解释为学习到的数据密度梯度。
这意味着:
- 训练时:优化一个类似去噪分数匹配的目标 = 用变分推断训练一个类 Langevin 采样器
- 采样时:反向去噪过程 = 带学习梯度的 Langevin 动力学
这个等价性是 DDPM 的核心理论贡献之一。
7. 渐进式有损压缩与自回归联系
7.1 速率-失真分析
DDPM 论文的一个有趣发现是:扩散模型的大部分无损编码长度被用来描述人眼无法察觉的图像细节。
将变分下界分为两部分:
- 速率(Rate):$L_1 + \cdots + L_T$,描述从噪声到数据所需的总信息量
- 失真(Distortion):$L_0$,描述最终重建的误差
CIFAR10 实验显示:
| 指标 | 数值 |
|---|---|
| 速率 | 1.78 bits/dim |
| 失真 | 1.97 bits/dim |
| 重建 RMSE | 0.95(在 0-255 尺度上) |
超过一半的无损编码长度用于描述人眼不可感知的微小扰动。这说明扩散模型天然是一种优秀的有损压缩器。
7.2 渐进式生成
在采样过程中,我们可以随时估计当前的 $x_0$:
$$ \hat{x}_0 = \frac{x_t - \sqrt{1 - \bar{\alpha}_t}\, \epsilon_\theta(x_t)}{\sqrt{\bar{\alpha}_t}} $$观察这个估计值随时间的变化,会发现一个非常迷人的现象:大尺度结构先出现,细节后出现。这与人类绘画的过程非常相似——先画轮廓,再填充细节。
7.3 与自回归模型的联系
论文中给出了一个精彩的理论联系:如果把扩散步数 $T$ 设为数据维度 $D$,并将前向过程定义为"逐坐标遮盖"(masking),那么扩散模型就退化为一个自回归模型。
这意味着:
- 标准的逐坐标自回归模型是一种特殊的扩散模型(使用遮盖噪声)
- DDPM 的高斯扩散可以看作一种广义的自回归模型,它使用了一种不能通过重排坐标来实现的"广义比特排序"
- 高斯噪声可能比遮盖噪声更适合图像数据(因为渐变更平滑)
8. 实验结果
8.1 图像生成质量
DDPM 在多个基准数据集上取得了令人瞩目的结果:
| 数据集 | 指标 | DDPM ($L_{\text{simple}}$) | 当时最佳 GAN | 当时最佳其他方法 |
|---|---|---|---|---|
| CIFAR10(无条件) | FID ↓ | 3.17 | StyleGAN2-ADA: 3.26 | NCSNv2: 31.75 |
| CIFAR10(无条件) | IS ↑ | 9.46 | 9.74(StyleGAN2-ADA) | 8.87(NCSN) |
| LSUN Bedroom | FID ↓ | 4.90(大模型) | StyleGAN: 2.65 | ProgressiveGAN: 8.34 |
| LSUN Church | FID ↓ | 7.89 | StyleGAN2: 3.86 | StyleGAN: 4.21 |
| CelebA-HQ 256×256 | 视觉质量 | 高质量人脸 | - | - |
8.2 消融实验
论文对反向过程的参数化和训练目标进行了系统消融:
| 参数化方式 | 训练目标 | IS ↑ | FID ↓ |
|---|---|---|---|
| 预测 $\tilde{\mu}$ | 标准 $L$,学习方差 | 7.28 | 23.69 |
| 预测 $\tilde{\mu}$ | 标准 $L$,固定方差 | 8.06 | 13.22 |
| 预测 $\tilde{\mu}$ | 简化 MSE | 训练不稳定 | - |
| 预测 $\epsilon$ | 标准 $L$,学习方差 | 训练不稳定 | - |
| 预测 $\epsilon$ | 标准 $L$,固定方差 | 7.67 | 13.51 |
| 预测 $\epsilon$ | $L_{\text{simple}}$ | 9.46 | 3.17 |
关键发现:
- 学习方差会导致训练不稳定,固定方差更可靠
- 预测 $\epsilon$ + 简化目标 $L_{\text{simple}}$ 是最优组合
- 直接预测 $\tilde{\mu}$ 时,用简化 MSE 训练会失败
9. 与其他生成模型的对比
9.1 扩散模型 vs. GAN
| 维度 | GAN | 扩散模型 |
|---|---|---|
| 训练稳定性 | 不稳定,需要精细调参 | 非常稳定,MSE 损失 |
| 模式坍缩 | 常见问题 | 几乎不会发生 |
| 生成质量 | 高,但可能有伪影 | 高,细节丰富 |
| 生成速度 | 快(一次前向传播) | 慢(需要数百到上千步) |
| 理论保证 | 博弈论均衡,难分析 | 变分推断,有清晰的 ELBO |
| 似然估计 | 无法计算 | 可以计算(虽然不如自回归模型好) |
9.2 扩散模型 vs. VAE
| 维度 | VAE | 扩散模型 |
|---|---|---|
| 潜空间 | 单层低维潜变量 $z$ | 与数据同维的多步潜变量 $x_1, \ldots, x_T$ |
| 后验近似 | 需要学习 $q(z\|x)$ | 前向过程 $q$ 是固定的,无需学习 |
| 生成质量 | 较模糊 | 高质量 |
| 理论框架 | 变分推断(ELBO) | 变分推断(ELBO),但更深层次 |
9.3 扩散模型 vs. 自回归模型
- 自回归模型生成质量好但速度慢(逐像素/逐 token)
- 扩散模型可以看作一种广义的自回归模型,使用了一种"更自然"的排序方式
- 扩散模型的去噪步数 $T$ 可以自由调节(不等于数据维度),更加灵活
10. DDPM 的局限与后续发展
10.1 DDPM 的主要局限
- 采样速度慢:生成一张图片需要 1000 步神经网络推理,远慢于 GAN
- 对数似然不如自回归模型:大部分比特被用于描述不可感知的细节
- 无条件生成:原始 DDPM 不支持条件生成(如文本到图像)
10.2 后续重要改进
| 方法 | 核心改进 | 论文 |
|---|---|---|
| DDIM | 将采样从 1000 步减少到 50-100 步 | Song et al., 2020 |
| Score SDE | 统一扩散模型与分数匹配的 SDE 框架 | Song et al., 2021 |
| Classifier Guidance | 引入分类器引导条件生成 | Dhariwal & Nichol, 2021 |
| Classifier-Free Guidance | 无需分类器的条件生成引导 | Ho & Salimans, 2022 |
| Latent Diffusion (Stable Diffusion) | 在潜空间中做扩散,大幅加速 | Rombach et al., 2022 |
| DALL·E 2 / Imagen | 文本到图像生成 | Ramesh et al., 2022; Saharia et al., 2022 |
11. 专有名词表
| 中文术语 | 英文术语 | 详细解释 |
|---|---|---|
| 扩散模型 | Diffusion Model | 通过逐步加噪再逐步去噪来生成数据的概率模型 |
| DDPM | Denoising Diffusion Probabilistic Models | Ho et al. 2020 提出的经典扩散模型算法 |
| 前向过程 | Forward Process / Diffusion Process | 逐步向数据添加高斯噪声直至变为纯噪声的过程,$q(x_t\|x_{t-1})$ |
| 反向过程 | Reverse Process | 逐步去噪以恢复数据的过程,$p_\theta(x_{t-1}\|x_t)$ |
| 噪声调度 | Noise Schedule ($\beta_t$) | 控制每步添加噪声量的超参数序列 |
| 信号保留系数 | $\bar{\alpha}_t$ | $\prod_{s=1}^{t}(1-\beta_s)$,衡量 $t$ 时刻原始信号的保留比例 |
| 变分下界 | ELBO | 对数似然函数的下界,扩散模型的理论训练目标 |
| $L_{\text{simple}}$ | Simplified Loss | DDPM 提出的简化训练目标,去掉了变分下界中的权重系数 |
| $\epsilon$-prediction | Epsilon Prediction | 让神经网络预测噪声而非预测均值的参数化方式 |
| 重参数化技巧 | Reparameterization Trick | $x_t = \sqrt{\bar{\alpha}_t}x_0 + \sqrt{1-\bar{\alpha}_t}\epsilon$,使采样可导 |
| 分数函数 | Score Function | $\nabla_x \log p(x)$,数据对数概率的梯度 |
| 去噪分数匹配 | Denoising Score Matching | 通过去噪来学习分数函数的方法 |
| Langevin 动力学 | Langevin Dynamics | 一种基于梯度的随机采样方法,扩散模型的采样过程在数学上与之同构 |
| U-Net | U-Net | 扩散模型中常用的编码器-解码器网络架构 |
| FID | Fréchet Inception Distance | 衡量生成图像质量的指标,越低越好 |
| IS | Inception Score | 衡量生成图像质量和多样性的指标,越高越好 |
12. 总结
DDPM 的核心逻辑可以用一句话概括:
生成 = 去噪。
我们不需要像 GAN 那样训练一个不稳定的对抗博弈,也不需要像 VAE 那样把数据压缩到低维潜空间。我们只需要做一件事——教会神经网络看到一张有噪点的图后,预测出刚才加进去的噪点是什么。只要它能把噪点预测出来,我们把它减掉,图就变清晰了。
这个看似简单的想法背后有着深刻的数学基础:
- 前向过程提供了一种优雅的数据破坏方式(高斯噪声的可加性)
- 变分推断将生成问题转化为优化问题(最大化 ELBO)
- $\epsilon$-prediction 将训练目标简化为一个直观的去噪任务(MSE 损失)
- 与分数匹配的等价性揭示了扩散模型在更广泛理论框架中的位置
DDPM 不仅是一个高效的生成模型,更是连接了变分推断、分数匹配、Langevin 动力学和自回归模型的一座理论桥梁。正是这种理论深度和实践效果的完美结合,使得扩散模型成为了当代生成式 AI 的核心支柱。