分数函数 / 分数匹配
Score Function / Score Matching进阶「分数」是对数概率密度对输入的梯度,分数匹配是用神经网络学这个梯度的方法。
分数函数指概率密度取对数后对输入求的梯度 ∇ₓlog p(x),它指向数据概率升高最快的方向,计算时不需要知道难算的归一化常数。分数匹配由 Hyvärinen 在 2005 年提出,能在不知道真实分布的情况下训练模型拟合这个梯度;后来的去噪分数匹配改成「给数据加噪声,再学怎么把噪声去掉」。2019 年 Song 与 Ermon 在多种噪声强度下学分数,再用朗之万动力学(沿梯度走、每步加一点随机噪声的采样方法)生成图像;2021 年的随机微分方程(SDE)框架又说明它和去噪扩散概率模型本质上是同一类模型。扩散模型预测的噪声换个比例就是分数,所以理解分数是理解扩散策略的底层钥匙。
例子扩散策略(Diffusion Policy)论文把自己的做法描述为学习动作分布的分数梯度场:推理时从随机噪声出发,沿这个梯度场做若干步带随机性的朗之万式迭代,最后得到一段机器人动作。
- 也叫
- 得分函数、Score、去噪分数匹配、Denoising Score Matching、基于分数的生成模型、Score-based Generative Model
- 相关
- 扩散模型、去噪扩散概率模型、能量模型、扩散策略、流匹配、扩散 / 流采样器(ODE / SDE 求解器)
- 来源
- Yang Song: Generative Modeling by Estimating Gradients of the Data Distribution (blog)
Generative Modeling by Estimating Gradients of the Data Distribution (arXiv:1907.05600)
Diffusion Policy: Visuomotor Policy Learning via Action Diffusion (arXiv:2303.04137)