跳转至

KAIST CS492D Lecture 4: Score-Based Models

LaTeX 源码 · 备用 PDF · 观看视频

字段 内容
作者/整理 基于 Minhyuk Sung 授课内容整理
来源 Minhyuk Sung (KAIST)
日期 2025年秋季

KAIST CS492D Lecture 4: Score-Based Models

DDPM 回顾

本节课的主题是 Score-Based Models(基于分数的模型),但在展开新内容之前,讲者首先回顾了上节课介绍的 DDPM(Denoising Diffusion Probabilistic Models)的核心思想,为后续理解 score function 与扩散模型之间的深层联系打下基础。

扩散模型的基本框架

扩散模型的基本思路是将数据的生成过程定义为一个序列化的过程(sequential process)。与传统的 VAE 等模型只有单一隐变量不同,扩散模型将数据点 \(x_0\) 逐步映射到一系列隐变量 \(x_1, x_2, \ldots, x_T\),使得最终的隐变量 \(x_T\) 服从一个已知的分布(通常是标准高斯分布)。生成过程则是这个前向过程的逆过程:从标准高斯样本 \(x_T\) 出发,逐步还原到数据点 \(x_0\)

扩散模型的两个关键特征

  1. 马尔可夫性:前向过程中 \(x_t\) 的采样仅依赖于 \(x_{t-1}\),逆向过程中 \(x_{t-1}\) 的采样仅依赖于 \(x_t\)
  2. 高斯前向转移:前向转移分布被定义为特定形式的高斯分布,由参数 \(\beta_t\) 控制: $\(q(x_t \mid x_{t-1}) = \mathcal{N}(x_t; \sqrt{1-\beta_t}\, x_{t-1},\; \beta_t I)\)$

前向跳跃分布与训练

由于前向转移分布是带有线性均值的高斯分布,我们可以推导出\textbf{前向跳跃分布}(forward jump distribution)的解析形式,即直接从 \(x_0\) 采样任意中间时刻 \(x_t\) 的分布:

\[ q(x_t \mid x_0) = N(x_t;\; \sqrt{\bar{\alpha}_t}\, x_0,\; (1-\bar{\alpha}_t) I) \]

其中 \(\bar{\alpha}_t = \prod_{s=1}^{t}(1-\beta_s)\)。这意味着在训练时我们不需要逐步运行前向过程,可以直接``跳跃''采样 \(x_t\)

前向跳跃 vs. 逆向跳跃

在前向过程中,由于转移分布的均值是条件变量的线性函数,多步高斯分布的复合仍然是高斯分布,因此可以得到闭式的跳跃分布。但在逆向过程中,由于逆向转移分布的均值是神经网络输出的非线性函数,多步迭代的复合分布不再是高斯分布,因此逆向过程不能跳过中间步骤,必须逐步迭代采样。

三种预测目标

DDPM 框架中,训练神经网络有三种等价的预测目标:

  1. 均值预测器(Mean Predictor):直接预测逆向转移分布的均值 \(\mu_\theta(x_t, t)\)
  2. 干净样本预测器(Clean Sample Predictor / \(x_0\)-prediction):预测给定 \(x_t\) 时原始数据点 \(x_0\) 的期望值 \(\hat{x}_\theta(x_t, t) \approx \mathbb{E}[x_0 \mid x_t]\)
  3. 噪声预测器(Noise Predictor / \(\epsilon\)-prediction):预测从 \(x_0\) 采样 \(x_t\) 时使用的标准高斯噪声 \(\epsilon_\theta(x_t, t) \approx \mathbb{E}[\epsilon_t \mid x_t]\)

三种预测器之间的等价关系

已知 \(x_t = \sqrt{\bar{\alpha}_t}\, x_0 + \sqrt{1-\bar{\alpha}_t}\, \epsilon_t\),其中 \(\epsilon_t \sim \mathcal{N}(0, I)\),则从任一预测器的输出都可以计算出其他两个的值,三者只是参数化方式不同。最终的训练损失在去掉时间步权重后都可以简化为形如 \(\|f_\theta(x_t, t) - f_{\text{target}}\|^2\) 的简单 L2 损失。

无论选择哪种预测目标,DDPM 的训练过程都是:采样 \(x_0 \sim p_{\text{data}}\),采样 \(t \sim \text{Uniform}(1,T)\),采样 \(\epsilon \sim \mathcal{N}(0,I)\),计算 \(x_t = \sqrt{\bar{\alpha}_t}\, x_0 + \sqrt{1-\bar{\alpha}_t}\, \epsilon\),然后最小化对应的 L2 损失。

生成模型的必要性

讲者提出了一个发人深省的问题:如果我们已经拥有50亿张图片的数据集,为什么还需要生成模型?为什么不直接从中采样一张?

生成模型相比直接检索的优势

  1. 压缩:一个预训练的扩散模型可能只有数百 MB,却编码了数十亿张图片中的分布信息,压缩比极高。
  2. 新颖性与多样性:生成模型能产生全新的、数据集中不存在的图片,而非简单复制。
  3. 隐私保护:生成模型有可能(虽然无法完全保证)不直接输出训练数据中的原始图片,在一定程度上保护数据隐私。
  4. 条件生成:生成模型可以根据输入条件(如文本描述)生成与条件对齐的新数据,这是简单检索难以做到的。

隐私保护并非绝对

讲者明确指出,扩散模型不能保证不生成训练数据中的原始图片。实际上已有研究表明,某些预训练模型确实会生成几乎可在互联网上搜索到的图片。因此,隐私保护只是“潜力”,而非“保证”。

本章小结

DDPM 通过定义高斯马尔可夫前向过程和可学习的逆向过程,将复杂的数据分布建模问题转化为简单的去噪任务。前向跳跃分布的闭式解使训练高效,三种等价的预测目标为实现提供了灵活性。但噪声预测器(\(\epsilon\)-prediction)的\textbf{物理含义}是什么?这正是本节课 Score-Based Models 要回答的核心问题。

Score Function 的定义与性质

Score Function 的定义

Score function(分数函数)在统计学中有精确的定义,它是概率密度函数对数的梯度:

Score Function 的定义

给定概率密度函数 \(p(x)\),其 score function 定义为:

\[ s(x) = \nabla_x \log p(x) \]

其中 \(\nabla_x\) 表示关于数据点 \(x\) 的梯度(而非关于模型参数的梯度)。

需要特别注意的是,这里的score''不是通常意义上的分数'',而是一个在统计学中有特定含义的术语。Score function 是一个向量场——对于每一个数据空间中的点 \(x\),它给出一个与 \(x\) 同维度的向量,指向使对数概率增大最快的方向。

Score Function 的直观理解

Score function \(\nabla_x \log p(x)\) 可以理解为一个“指导方向”:

  • 在高概率密度区域附近,score 的大小较小(因为已接近“山顶”)。
  • 在低概率密度区域,score 指向高概率密度区域的方向。
  • score 为零的点对应概率密度的极值点。

直观地说,score function 告诉我们“应该往哪个方向走,才能到达概率更高的地方”。

高斯分布的 Score Function

为了建立直觉,我们来计算高斯分布的 score function。对于条件分布(即前向跳跃分布):

\[ q(x_t \mid x_0) = N(x_t;\; \sqrt{\bar{\alpha}_t}\, x_0,\; (1-\bar{\alpha}_t) I) \]

其 score function 为:

\[ \nabla_{x_t} \log q(x_t \mid x_0) = -\frac{x_t - \sqrt{\bar{\alpha}_t}\, x_0}{1-\bar{\alpha}_t} \]

这个推导很直接:先写出高斯分布的概率密度函数,取对数后只保留与 \(x_t\) 相关的项(即二次型项),然后对 \(x_t\) 求梯度即可。

噪声预测与 Score Function 的关系

回顾 \(x_t = \sqrt{\bar{\alpha}_t}\, x_0 + \sqrt{1-\bar{\alpha}_t}\, \epsilon_t\),可以得到:

\[ \epsilon_t = \frac{x_t - \sqrt{\bar{\alpha}_t}\, x_0}{\sqrt{1-\bar{\alpha}_t}} \]

因此:

\[ \nabla_{x_t} \log q(x_t \mid x_0) = -\frac{\epsilon_t}{\sqrt{1-\bar{\alpha}_t}} \]

DDPM 中的噪声预测器所预测的 \(\epsilon_t\),与条件 score function 之间只差一个缩放因子! 噪声预测的物理意义就是在学习 score function(up to scale)。

这个发现揭示了 DDPM 噪声预测器的深层含义:表面上我们在``预测噪声'',实际上我们在学习前向跳跃分布的 score function。

从条件 Score 到边缘 Score

上面我们讨论的是\textbf{条件}分布 \(q(x_t \mid x_0)\) 的 score function,因为我们知道 \(x_0\)。但在生成过程中,我们并不知道 \(x_0\),我们真正需要的是\textbf{边缘}分布 \(q(x_t)\) 的 score function:

\[ \nabla_{x_t} \log q(x_t) = ? \]

其中 \(q(x_t) = \int q(x_t \mid x_0)\, q(x_0)\, dx_0\)。由于 \(q(x_0)\)(真实数据分布)通常未知且复杂,\(q(x_t)\) 一般没有解析形式。

然而,通过数学推导可以证明:

\[ \nabla_{x_t} \log q(x_t) = \mathbb{E}_{q(x_0 \mid x_t)}\left[\nabla_{x_t} \log q(x_t \mid x_0)\right] \]

边缘 Score 是条件 Score 的后验期望

边缘分布的 score function 等于条件 score function 在后验分布 \(q(x_0 \mid x_t)\) 下的期望。这意味着我们训练的噪声预测网络 \(\epsilon_\theta(x_t, t)\) 实际上是在学习对所有可能的 \(x_0\) 取后验平均的 score function。

本章小结

Score function 定义为对数概率密度的梯度,它编码了关于概率分布的完整信息。高斯分布的 score function 有简洁的闭式解,而 DDPM 中的噪声预测器本质上是在学习前向跳跃分布的 score function(差一个缩放因子)。边缘分布的 score 等于条件 score 在后验下的期望,这为理解扩散模型中神经网络的学习目标提供了严格的数学解释。

Tweedie's Formula

公式陈述与直觉

Tweedie's formula 是理解 score function 与扩散模型联系的关键数学工具。它回答了这样一个问题:如果我们知道边缘分布 \(p(x)\) 和似然分布 \(p(x \mid \mu)\),能否从观测 \(x\) 推断出隐变量 \(\mu\) 的期望?

Tweedie's Formula

考虑以下生成过程:先从先验分布 \(p(\mu)\) 采样均值 \(\mu\),然后从似然分布 \(p(x \mid \mu) = \mathcal{N}(x;\; \mu, \sigma^2 I)\) 采样观测 \(x\)。令边缘分布为 \(p(x) = \int p(x \mid \mu)\, p(\mu)\, d\mu\),则后验均值为:

\[ \mathbb{E}[\mu \mid x] = x + \sigma^2 \nabla_x \log p(x) \]

Tweedie's Formula 的直觉

这个公式有非常优美的直觉解释:

  • 如果我们只知道观测 \(x\) 而没有其他信息,对 \(\mu\) 的最朴素估计就是 \(x\) 本身。
  • 但 score function \(\nabla_x \log p(x)\) 提供了一个“修正方向”:它指向高概率密度区域。
  • Tweedie's formula 告诉我们,最优的后验均值估计就是在朴素估计 \(x\) 的基础上,沿着 score 方向做一步校正,校正幅度与噪声方差 \(\sigma^2\) 成正比。

简单高斯案例验证

讲者用一个简单的例子来验证 Tweedie's formula 的正确性和直觉:

\(p(\mu) = \mathcal{N}(0, 1)\)\(p(x \mid \mu) = \mathcal{N}(x;\; \mu, \sigma^2)\)。由高斯分布的性质(先验和似然都是高斯时,边缘分布也是高斯),可得:

\[ p(x) = N(0, 1 + \sigma^2) \]

因此 score function 为:

\[ \nabla_x \log p(x) = -\frac{x}{1 + \sigma^2} \]

代入 Tweedie's formula:

\[ \mathbb{E}[\mu \mid x] = x + \sigma^2 \cdot \left(-\frac{x}{1+\sigma^2}\right) = x \cdot \frac{1}{1+\sigma^2} \]

直觉验证:收缩估计

结果 \(\mathbb{E}[\mu \mid x] = \frac{x}{1+\sigma^2}\) 具有“收缩”(shrinkage)效应:

  • \(x > 0\) 时,\(\mathbb{E}[\mu \mid x] < x\):估计的均值比观测值更靠近零(先验均值的方向)。
  • \(x < 0\) 时,\(\mathbb{E}[\mu \mid x] > x\):同理,向零的方向收缩。
  • \(\sigma^2\) 越大(噪声越大),收缩越强:在高噪声下,我们更信任先验。
  • \(\sigma^2 \to 0\) 时,\(\mathbb{E}[\mu \mid x] \to x\):噪声消失时,观测本身就是最好的估计。

这完全符合贝叶斯推断的直觉。

在扩散模型中的应用

将 Tweedie's formula 应用到扩散模型的前向跳跃分布 \(q(x_t \mid x_0) = \mathcal{N}(\sqrt{\bar{\alpha}_t}\, x_0, (1-\bar{\alpha}_t)I)\),其中均值''角色由 $\sqrt{\bar{\alpha}_t}\, x_0$ 扮演,方差''为 \(\sigma_t^2 = 1-\bar{\alpha}_t\),可以得到:

\[ \mathbb{E}[\sqrt{\bar{\alpha}_t}\, x_0 \mid x_t] = x_t + (1-\bar{\alpha}_t)\, \nabla_{x_t} \log q(x_t) \]

整理后:

Tweedie's Formula 在扩散模型中的形式

\[ \mathbb{E}[x_0 \mid x_t] = \frac{1}{\sqrt{\bar{\alpha}_t}} \left(x_t + (1-\bar{\alpha}_t)\, \nabla_{x_t} \log q(x_t)\right) \]

这表明:知道边缘 score function \(\nabla_{x_t} \log q(x_t)\) 就等价于知道在给定 \(x_t\)\(x_0\) 的最优估计。Score function 包含了“去噪”所需的全部信息。

条件 Score 与边缘 Score 的区别

这里出现的 \(\nabla_{x_t} \log q(x_t)\)边缘分布的 score,而非条件分布 \(q(x_t \mid x_0)\) 的 score。条件 score 可以直接用高斯分布公式计算,但边缘 score 需要对所有可能的 \(x_0\) 做积分平均。在训练时,神经网络通过大量样本的平均来隐式学习边缘 score。

本章小结

Tweedie's formula 在``观测即均值加噪声''的模型中,给出了后验均值的优雅闭式解:只需在观测值上加上 score function 方向的校正。在扩散模型中,它将 score function 与去噪操作(从 \(x_t\) 恢复 \(x_0\) 的期望)紧密联系起来,提供了理解 score-based 方法的关键桥梁。

Langevin Dynamics:基于 Score 的采样

核心思想

前面我们建立了 score function 的概念,并看到它编码了关于概率分布的丰富信息。现在的关键问题是:如果我们知道某个分布的 score function,能否从该分布中采样?

答案是肯定的,Langevin dynamics(朗之万动力学)正是实现这一目标的方法。它源自统计物理学,核心思想是:通过 score function 引导的迭代过程,可以从\textbf{任意初始分布}出发,最终收敛到目标分布。

Langevin Dynamics 采样过程

给定目标分布 \(q(x)\) 的 score function \(\nabla_x \log q(x)\),Langevin dynamics 的迭代更新公式为:

\[ x_{k+1} = x_k + \eta\, \nabla_x \log q(x_k) + \sqrt{2\eta}\, z_k, \quad z_k \sim N(0, I) \]

其中 \(\eta > 0\) 是步长参数。当 \(\eta \to 0\) 且迭代次数 \(K \to \infty\) 时,\(x_K\) 的分布收敛到 \(q(x)\)

Langevin Dynamics 的三个组成部分

Langevin dynamics 的更新公式由三部分组成:

  1. 当前位置 \(x_k\):粒子的当前状态。
  2. Score 引导 \(\eta\, \nabla_x \log q(x_k)\):将粒子推向高概率密度区域的确定性力。
  3. 随机噪声 \(\sqrt{2\eta}\, z_k\):防止粒子陷入局部极值,确保对目标分布的充分探索。

如果只有 score 引导而没有噪声注入,粒子只会收敛到概率密度的极大值点(模式),而不会形成正确的分布。噪声项的存在确保了最终样本的多样性。

Langevin Dynamics 的关键性质

Langevin dynamics 有一个非凡的性质:它\textbf{不需要知道}概率密度函数 \(q(x)\) 本身,只需要 score function \(\nabla_x \log q(x)\)

Score Function 足以完全描述分布

Score function \(\nabla_x \log q(x)\) 在满足一定正则条件时,唯一确定了概率分布 \(q(x)\)(up to normalization constant)。这是因为:

  • \(\nabla_x \log q(x) = \frac{\nabla_x q(x)}{q(x)}\),包含了 \(q(x)\) 的局部梯度信息。
  • 通过 Langevin dynamics,我们可以从 score function 恢复出采样过程。
  • 这也意味着:即使不知道概率密度函数的归一化常数(这在高维空间中通常难以计算),只要知道 score function 就足以进行采样。

在传统的概率模型中,从复杂分布采样通常需要计算累积分布函数的逆(inverse CDF),这在高维空间中几乎不可行。Langevin dynamics 提供了一种替代方案:只需计算对数概率密度对数据点的梯度,然后通过迭代过程即可采样。

Langevin Dynamics 的实践限制

理论上的收敛保证需要步长 \(\eta \to 0\) 和无限次迭代,实践中两者都无法满足。有限步长和有限迭代次数会引入近似误差。此外,在多模态分布中,Langevin dynamics 可能需要很长时间才能在不同模式之间跳转(mixing problem)。

本章小结

Langevin dynamics 是一种基于 score function 的采样方法,它通过``score 引导 + 随机噪声注入''的迭代过程,可以从任意初始分布出发收敛到目标分布。这个方法的核心优势在于:只需要 score function 而非概率密度函数本身就可以进行采样,从而避免了高维空间中归一化常数难以计算的问题。

Score Matching:学习 Score Function

问题设定

前面我们看到:(1)score function 完全描述了概率分布;(2)通过 Langevin dynamics 可以利用 score function 采样。那么关键问题变成了:\textbf{如何从数据中学习 score function?}

最直接的想法是定义一个 score 匹配目标:

\[ L_{SM} = \mathbb{E}_{q(x)}\left[\left\| s_\theta(x) - \nabla_x \log q(x) \right\|^2\right] \]

其中 \(s_\theta(x)\) 是我们用神经网络参数化的 score estimator。

直接 Score Matching 的困难

上面的损失函数有一个根本性的问题:它需要知道真实分布 \(q(x)\) 的 score function \(\nabla_x \log q(x)\),而这正是我们要学习的目标。这似乎陷入了“鸡生蛋、蛋生鸡”的循环。

Denoising Score Matching

解决这个问题的关键洞察是:虽然我们不知道原始数据分布 \(q(x)\) 的 score function,但如果我们定义一个\textbf{加噪版本}的分布 \(q_\sigma(x_t)\)

\[ q_\sigma(x_t) = \int q(x_t \mid x_0)\, q(x_0)\, dx_0 \]

其中 \(q(x_t \mid x_0) = \mathcal{N}(x_t;\; x_0, \sigma^2 I)\),那么\textbf{条件 score} \(\nabla_{x_t} \log q(x_t \mid x_0)\) 是已知的:

\[ \nabla_{x_t} \log q(x_t \mid x_0) = -\frac{x_t - x_0}{\sigma^2} \]

Denoising Score Matching (DSM) 损失

经过数学推导(省略恒等变换的细节),可以证明 score matching 目标等价于:

\[ L_{DSM} = \mathbb{E}_{q(x_0)}\, \mathbb{E}_{q(x_t \mid x_0)}\left[\left\| s_\theta(x_t) - \nabla_{x_t} \log q(x_t \mid x_0) \right\|^2\right] \]

由于 \(\nabla_{x_t} \log q(x_t \mid x_0)\) 有闭式解,这个损失是可计算的!

DSM 的训练过程

Denoising Score Matching 的训练步骤极其简单:

  1. 采样一个数据点 \(x_0 \sim q(x_0)\)(即取一个训练样本)。
  2. 采样噪声 \(\epsilon \sim \mathcal{N}(0, I)\),得到 \(x_t = x_0 + \sigma\, \epsilon\)
  3. 计算 score 目标 \(\nabla_{x_t} \log q(x_t \mid x_0) = -\epsilon / \sigma\)
  4. 最小化 \(\|s_\theta(x_t) + \epsilon/\sigma\|^2\)

可以看到,这与 DDPM 的噪声预测训练在本质上是完全相同的。

与 DDPM 训练的等价性

在 DDPM 中,噪声预测器的训练目标是:

\[ L_{DDPM} = \mathbb{E}_{x_0, t, \epsilon}\left[\left\| \epsilon_\theta(x_t, t) - \epsilon \right\|^2\right] \]

而在 denoising score matching 中,score 网络的训练目标是:

\[ L_{DSM} = \mathbb{E}_{x_0, t, \epsilon}\left[\left\| s_\theta(x_t, t) + \frac{\epsilon}{\sqrt{1-\bar{\alpha}_t}} \right\|^2\right] \]

两者的关系是 \(s_\theta(x_t, t) = -\epsilon_\theta(x_t, t) / \sqrt{1-\bar{\alpha}_t}\),即 score 网络和噪声预测网络只差一个与时间步相关的缩放因子。

DDPM 与 Score-Based Models 的统一

DDPM 的噪声预测框架和 score-based 的 score matching 框架是同一枚硬币的两面

  • DDPM 视角:训练一个神经网络来预测加在数据上的噪声。
  • Score-based 视角:训练一个神经网络来估计加噪数据分布的 score function。
  • 两种视角在数学上完全等价,只差一个缩放因子。

本章小结

Score matching 通过巧妙地将不可计算的边缘 score matching 目标转化为可计算的 denoising score matching 目标,解决了``如何从数据中学习 score function''的问题。这个训练目标与 DDPM 的噪声预测训练在数学上完全等价,从而将两个看似不同的研究方向统一起来。

Noise-Conditioned Score Networks (NCSN)

低密度区域的 Score 估计问题

直接用 score matching 学习原始数据分布 \(p_{\text{data}}(x)\) 的 score function 存在一个严重的问题。

低密度区域的 Score 不准确

在多模态分布中,不同模式之间存在低概率密度区域(low density regions)。在这些区域:

  1. 训练数据极少,因此 score 的估计非常不准确。
  2. 然而,Langevin dynamics 的采样起点往往落在这些低密度区域(因为初始分布通常是均匀的或高斯的)。
  3. 不准确的 score 会导致采样过程的初始阶段充满噪声,粒子在低密度区域“乱跑”,难以有效到达高密度区域。

讲者通过一个二维分布的动画生动地说明了这个问题:当从均匀分布的采样点出发,如果低密度区域的 score 不准确,粒子在采样初期会做随机运动而非有方向地向高密度区域移动。

多尺度噪声的解决方案

解决低密度区域 score 不准确问题的核心思想是:对数据添加\textbf{不同级别的高斯噪声},从而``填充''低密度区域。

当噪声方差 \(\sigma^2\) 较大时,加噪后的分布 \(q_\sigma(x)\) 变得更加``平滑'':

  • 原本的低密度区域被噪声“填充”,不再有近零概率密度的区域。
  • Score function 在整个空间上都能被准确估计。
  • 但代价是分布变得模糊,丧失了细节信息。

当噪声方差 \(\sigma^2\) 较小时:

  • 加噪后的分布更接近原始数据分布,包含精细的结构信息。
  • 但低密度区域的 score 仍然不准确。

NCSN 的核心思想:多尺度 Score 学习

NCSN(Noise-Conditioned Score Networks)的核心思想是同时学习多个噪声级别下的 score function:

\[ s_\theta(x, \sigma) \approx \nabla_x \log q_\sigma(x) \]

其中 \(\sigma\) 取一系列递减的值 \(\sigma_1 > \sigma_2 > \cdots > \sigma_L\)。网络以 \(x\)\(\sigma\) 为输入,输出对应噪声级别下的 score。

退火 Langevin Dynamics

有了多尺度的 score function,采样时使用退火 Langevin dynamics(Annealed Langevin Dynamics):

退火 Langevin Dynamics 采样算法

  1. 从高方差(\(\sigma_1\) 大,分布模糊)开始:score 在整个空间上都较准确,引导粒子从初始位置向高密度区域移动。
  2. 逐步降低噪声级别(\(\sigma_2, \sigma_3, \ldots\)):score 变得越来越精确,引导粒子向真实分布的高密度区域细化。
  3. 在最低噪声级别(\(\sigma_L\) 小,接近原始分布)收敛:粒子位于原始分布的高密度区域。

在每个噪声级别上运行若干步 Langevin dynamics,然后切换到下一个(更低的)噪声级别。

退火 Langevin Dynamics 的物理类比

这个过程类似于金属退火(annealing):

  • 高温阶段(大噪声):分子可以自由移动,跨越势垒,探索能量全景。
  • 缓慢冷却(逐步减噪):分子逐渐稳定在能量最低的构型。
  • 低温阶段(小噪声):分子被锁定在精确的低能量状态。

类似于模拟退火(simulated annealing)中的温度调度。

与扩散模型逆向过程的联系

退火 Langevin dynamics 的多尺度降噪过程,实际上与扩散模型的逆向过程有着深刻的联系:

Score-Based Model 与 DDPM 的对应关系

概念 DDPM 视角 Score-Based 视角
前向过程 逐步加噪(方差递增) 数据分布逐步模糊
逆向过程 逐步去噪 退火 Langevin dynamics
网络输出 噪声 \(_θ\) Score \(s_θ\)
训练目标 噪声预测 L2 Denoising score matching
\(σ_t\) 前向过程早期 退火初期(粗导航)
\(σ_t\) 前向过程后期 退火末期(精细化)

DDPM 中前向过程的方差递增恰好对应 score-based 模型中从小噪声到大噪声的多尺度分布;DDPM 的逆向去噪过程恰好对应退火 Langevin dynamics 中从大噪声到小噪声的逐步精化。

本章小结

NCSN 通过引入多尺度噪声来解决 score function 在低密度区域估计不准确的问题。退火 Langevin dynamics 从高噪声(粗导航)开始逐步降低到低噪声(精细化),使采样过程既能有效跨越低密度区域,又能在最终收敛到准确的目标分布。这个框架与 DDPM 的逆向去噪过程在数学上完全等价,只是提供了不同的视角和直觉。

Score-Based Models 与 DDPM 的统一视角

两条研究路径的汇合

历史上,DDPM 和 score-based models 是两条独立发展的研究路径:

两条路径的发展历程

  • DDPM 路径:Ho et al. (2020) 基于变分推断和 ELBO 推导出训练目标。从概率图模型和变分自编码器的传统出发,定义前向/逆向马尔可夫链,通过最大化 ELBO 来训练逆向过程。
  • Score-Based 路径:Song & Ermon (2019, 2020) 基于 score matching 和 Langevin dynamics。从统计学中的 score function 出发,通过 denoising score matching 训练 score estimator,用退火 Langevin dynamics 采样。

两条路径最终在 Song et al. (2021) 的 Score-Based SDE 框架中被统一。

等价关系的数学总结

我们已经在前面的各节中逐步建立了所有等价关系,这里做一个系统性的总结:

  1. 训练目标等价:DDPM 的 \(\epsilon\)-prediction 损失 \(\equiv\) Denoising Score Matching 损失(差缩放因子)。
  2. 网络输出等价\(\epsilon_\theta(x_t, t) = -\sqrt{1-\bar{\alpha}_t}\, s_\theta(x_t, t)\)
  3. 采样过程等价:DDPM 的逆向采样 \(\equiv\) 退火 Langevin dynamics(离散化形式)。
  4. Tweedie 连接\(\mathbb{E}[x_0 \mid x_t]\) 可以用 score function 表示,也可以用噪声预测器表示。

统一视角的实际意义

理解这种等价性不仅是学术上的优雅,更有重要的实际意义:

  • 可以借用 score-based 理论来分析 DDPM 的性质(如收敛性、采样质量)。
  • 可以借用 DDPM 的实践技巧来改进 score-based 采样(如 schedule 设计)。
  • Score function 的视角为条件生成(classifier guidance, classifier-free guidance)提供了自然的理论基础。
  • Song et al. 的连续时间 SDE 框架将离散步骤推广到连续过程,开启了更灵活的采样器设计(如 DDIM, DPM-Solver 等)。

本章小结

DDPM 和 score-based models 虽然从不同的出发点和动机发展而来,但在数学上完全等价。DDPM 提供了概率图模型和变分推断的视角,而 score-based models 提供了 score function 和 Langevin dynamics 的物理直觉。理解两种视角对于深入掌握扩散模型理论至关重要。

总结与延伸

核心要点回顾

本节课围绕 Score-Based Models 展开,系统地建立了以下核心概念:

  1. Score Function:定义为 \(\nabla_x \log p(x)\),它是一个向量场,指向概率增大的方向,完全编码了概率分布的信息。
  2. 噪声预测即 Score 学习:DDPM 中的噪声预测器 \(\epsilon_\theta\) 与 score function 之间只差一个缩放因子,揭示了噪声预测的深层物理意义。
  3. Tweedie's Formula:提供了从 score function 到后验均值估计(去噪)的直接公式:\(\mathbb{E}[\mu \mid x] = x + \sigma^2 \nabla_x \log p(x)\)
  4. Langevin Dynamics:一种仅依赖 score function 的采样方法,通过“梯度上升 + 噪声注入”的迭代过程收敛到目标分布。
  5. Denoising Score Matching:将不可计算的 score matching 目标转化为可计算的去噪目标,其训练过程与 DDPM 完全等价。
  6. 多尺度噪声与退火策略:通过多个噪声级别的 score function 和退火 Langevin dynamics 解决低密度区域 score 不准确的问题,这与 DDPM 的逆向去噪过程等价。

拓展阅读

  • Song & Ermon (2019)Generative Modeling by Estimating Gradients of the Data Distribution -- 提出 NCSN,首次将 score matching 与退火 Langevin dynamics 结合用于图像生成。
  • Ho et al. (2020)Denoising Diffusion Probabilistic Models (DDPM) -- 从变分推断角度推导扩散模型训练目标。
  • Song et al. (2021)Score-Based Generative Modeling through Stochastic Differential Equations -- 提出 Score SDE 框架,将 DDPM 和 NCSN 统一为连续时间过程。
  • Vincent (2011)A Connection Between Score Matching and Denoising Autoencoders -- 首次建立 denoising score matching 的理论基础。
  • Efron (2011)Tweedie's Formula and Selection Bias -- Tweedie's formula 在统计学中的经典论述。