生成模型 (2.1):Energy-based Model
引言
在前面的章节中,我们介绍了在变分推断的框架下的生成模型,包括VAE和DDPM两大类。在变分的视角下,生成模型实际上是在学习一个带参的变分分布
从这一篇文章开始,我们将站在一个全新的视角来看待生成模型:基于分数 (score-based) 的视角。这里的分数实际上是一个梯度场 (gradient field),指向数据分布中高概率的方向。这种方法的中心思想在于:我们可以通过建模分数来进行生成式建模,因为我们可以利用梯度场将随机采样的样本推向数据分布
基于能量的模型 (Energy-based Models, EBMs) 是利用分数进行生成式建模的最简单的方法。能量是建模概率分布的一种方法,概率越高的地方能量越低。EBMs往往基于朗之万动力学 (Langevin dynamics) 进行采样,根据能量地图的梯度方向(即分数)将样本推向高概率区域。
一、基于能量的模型
令
其中,归一化项
从能量函数的定义我们可以看到,概率越低的数据点能量越高,反之亦然。
EBMs可以通过最大化对数似然来进行训练:
其中,第一项用于保证位于
正如前面提到的,当数据维度
在下面的内容中,我们将首先介绍 score function 的形式化定义,然后介绍 score matching 是如何避免计算难解的归一化项的。最后,我们介绍利用 score function 进行采样的朗之万采样法。
1.1. 什么是分数?
对于定义在
因此,分数函数组成了
一个很自然且重要的问题是:为什么我们不直接建模概率密度,而是建模密度的梯度(即分数)?这是因为建模分数具有下面几个理论上和实践上的优势。
1. 不需要归一化常数。由于难解的归一化常数
比如说在EBMs中,分数的定义为:
2. 分数函数完整刻画了概率密度。由于分数是对数密度的梯度,因此我们可以利用下面的公式,从分数重建概率密度:
其中,
因此,建模分数和建模密度具有相同的表达能力,而分数往往是可解的。
1.2. 利用 score matching 训练EBMs
我们希望利用
score matching 方法通过最小化真实分数和预测分数的均方误差 (MSE) 来拟合这个向量场:
然而,由于真实分数
Theorem 1 (Hyvarinen’s Tractable Form of SM). 我们有下面等式成立:
其中,
定理1的证明放在附录中。
我们可以从直观上理解这个可解的损失
- 第二项
是范数项,使得在 的高密度区域中,预测分数尽可能接近0,即梯度很小,让这些高密度区域成为驻点。 - 第一项
是散度项,鼓励 的散度为负,确保驻点是吸引子 (attractive sinks)。因为散度越小,表示向量场在该点向内汇聚,保证了这些高密度区域周围的梯度方向会指向驻点。
二、朗之万动力学采样
我们一般使用朗之万动力学 (Langevin dynamics) 来对EBMs进行采样。在下面的内容中,我们将首先介绍离散时间中的朗之万采样,并将其逼近至连续时间的场景中,使用随机微分方程来求解。最后,我们简要介绍一下朗之万动力学背后的物理直觉,以及其为什么适用于对EBMs进行采样。
2.1. 离散时间朗之万动力学
离散时间朗之万动力学 (Discrete-Time Langevin Dynamics) 可以又下面的迭代方程描述:
其中,
2.2. 连续时间朗之万动力学
随着采样步长
其中,
这里的
2.3. 为什么使用朗之万采样
理解朗之万采样的一种自然的方式是从物理世界的角度去理解。EBMs通过能量方程
上面的常微分方程将粒子确定性地推向梯度下降的方向,直到去到能量方程的某个局部最小值,导致无法对整个数据分布进行全面地探索,可能会错过更优的全局最小值。
为了克服这个缺陷,朗之万动力学引入了一个由布朗运动所描述的随机扰动,得到了下面的SDE:
随机扰动可以帮助粒子跨越能量势垒以逃离局部最小值,使得粒子的轨迹形成一个随机过程,且其平稳分布将收敛止玻尔兹曼分布:
从这个角度来看,EBMs实际上学习了一个向量场,并使用朗之万采样将数据点推向高概率的区域。
然而,朗之万采样在高维空间中会面临一些问题。比如说,它对于一些超参数(如采样步长
附录
Proof on Theorem 1.
定理1提供了 score matching 训练目标的一个可解形式:
其中,
下面我们证明这一点。
首先我们展开
这里我们关注第三项,即交叉相乘的项。由于:
代入得:
其中,
下面我们将使用一个分部积分公式:
Lemma (Integration by Parts). 令
其中,
令
代入得:
因此,我们有:
其中,
得证。