得分匹配(Score Matching)
训练扩散模型的核心方法:让神经网络回归得分函数 (对数似然的梯度)。因边缘得分不可算,改回归可解析的条件得分(去噪得分匹配),二者梯度相同。
是什么
得分函数(score function)指概率分布 的对数密度梯度 ——它指向似然增长最快的方向,是一个处处定义的向量场。扩散模型不直接建模密度,而是学习每个噪声水平 下的边缘得分 。
得分匹配(Score Matching)就是训练一个得分网络 去逼近 的方法。它与 流匹配 是同一套”条件→边缘→边缘化 trick”框架的两个投影:流匹配学向量场,得分匹配学得分。
为什么重要
- 它是扩散模型(DDPM/Score-based SDE)的训练根基:Song et al. 的 score-based 生成模型与 Ho et al. 的 DDPM 本质都在做得分匹配——DDPM 的”噪声预测”只是得分的一个重参数化。
- 得分解锁 SDE 采样与引导:一旦学到得分,就能用 SDE 扩展 trick 在保持边缘分布不变的前提下注入任意扩散系数 (随机采样),也能用贝叶斯拆分做 无分类器引导。
- 与向量场可互换:对高斯概率路径,得分与向量场通过线性公式互相恢复(见下)——学会其一即学会另一,这解释了”流匹配阵营”与”扩散/得分阵营”为何殊途同归。
工作原理
边缘得分与条件得分
与向量场完全平行,边缘得分是条件得分按后验加权的平均:
对高斯概率路径 ,条件得分有闭式解:
得分匹配损失 → 去噪得分匹配
理想的得分匹配损失 因边缘得分不可算而无法直接优化。改用可算的条件(去噪)得分匹配损失:
关键定理:, 与 无关,故 。最优解 。这与流匹配里 是完全对偶的结论。
重参数化为噪声预测器(DDPM)
代入高斯条件得分并令 :
在 时数值不稳定。DDPM 的做法是丢弃该系数,并把网络重参数化为噪声预测器 ,得到极简目标:
即”网络学习预测被加进去的噪声”。详细的加噪/去噪公式推导见 DDPM 前向与反向扩散公式推导。
得分 ⇄ 向量场转换公式
对高斯概率路径(Proposition 1):
因两侧都是 的线性函数,可互相恢复。训练好向量场即等价于知道得分,反之亦然——因此对高斯路径无需分别训练两个网络。
SDE 扩展 trick
给定得分,可为任意 构造保持同一边缘 的 SDE:
退化为确定性 ODE 采样; 引入随机性(与 Langevin 动力学同源)。实践中存在经验最优 (权衡训练误差与模拟误差)。
与相邻概念的区别
| 维度 | 得分匹配(Score Matching) | 流匹配 |
|---|---|---|
| 学习目标 | 得分 | 向量场 |
| 可算损失 | 去噪得分匹配 | 条件流匹配 |
| 采样 | SDE(可退化为 ODE) | ODE(可扩展为 SDE) |
| 典型实现 | DDPM 噪声预测 | 速度预测 |
| 关系 | 高斯路径下二者线性可互换 | 同上 |
一句话:流匹配和得分匹配不是两种模型,而是同一生成框架在”向量场”与”得分”两个坐标下的表述。
历史与演进
- 2005: Hyvärinen 提出原始 Score Matching。
- 2011: Vincent 提出去噪得分匹配(Denoising Score Matching),与去噪自编码器建立联系。
- 2019–2020: Song & Ermon(NCSN)、Ho et al.(DDPM)把得分匹配推向大规模图像生成。
- 2021: Song et al. 用 SDE 统一 score-based 模型,“Creating noise from data is easy; creating data from noise is generative modeling”。
- 2022–: 与 流匹配 在理论上被统一(本页据 MIT 6.S184 讲义整理)。
常见误解
- 「得分就是梯度下降的梯度」:得分是对数似然对数据 的梯度(),不是对参数 的梯度;它是一个数据空间的向量场。
- 「DDPM 和得分匹配是两回事」:DDPM 的噪声预测损失就是去噪得分匹配丢掉 系数后的重参数化,二者训练目标同源。
- 「学了得分还得再学向量场才能采样」:对高斯路径二者线性可互换,训练一个即可。
相关
- 资料摘要:An Introduction to Flow Matching and Diffusion Models(MIT 6.S184) — 第 4 章得分函数与得分匹配
- DDPM 前向与反向扩散公式推导 — 噪声预测器视角的加噪去噪推导
- 条件流匹配(CFM) — 对偶的”向量场”训练路径
- CFG(无分类器引导) — 基于得分贝叶斯拆分的引导
- Wiki 目录