趣味小知识||基于能量的模型(Energy-Based Models)
发布时间:2023-08-09 

背  景

基于能量的模型(EBM)的原型是统计物理中用来统计粒子分布的模型。在一个密闭空间中有能量高的区域和能量低的区域,表现为能量函数中空间中的不同大小。由于热力学第二定律粒子会倾向于维持一种能量低的状态,最终达到均衡,因此这些粒子在这个空间中会形成基于能量函数的平稳分布。

EBM最早在机器学习中的应用是在1985年提出的名为玻尔兹曼机(Boltzmann machine)的概率模型,其主要思想是用能量来学习未知的概率分布。对于一个给定的数据集,如果不知道其潜在的分布形式,无法直接写出似然函数,是非常难学习的。而统计力学的结论表明,任何概率分布都可以转变成基于能量的模型,所以利用基于能量的模型的这个形式,是一种学习概率分布的通法。对于变量,其概率密度分布可以表示为:

其中,是能量函数,是归一化常数。能量越小,对应变量的概率就越大。

基于能量的生成式模型

近些年,EBM在深度学习领域重新进入大众视野,并在生成式模型中有着广泛应用。具体来说,EBM将样本服从的分布建模为一个玻尔兹曼分布,能量函数为具有复杂表示能力的神经网络。通过训练将真实样本的能量函数降低,生成样本的能量函数增加,从而通过优化能量函数达到生成合格样本的效果。

EBM通过一个神经网络的对于对随机变量x的密度进行建模

其中是能量函数,是神经网络的参数,分母是归一化常数.我们使用最大似然估计(MLE)来对EBM进行学习。

对于对数似然函数进行求导得:

其中,由于归一化项是没有解析表达式的,我们采用了蒙特卡洛采样逼近。这样操作的可行性证明如下:

在对数似然函数的梯度中x ̃代表的生成样本,一般是通过蒙特卡洛马尔科夫(MCMC)来得到的:

下面的示意图展示了采样得到的样本(synthesized data)和真实样本(observed data)实现分布逼近的。

图片

应  用

图像生成

研究Learning Latent Space Energy-Based Prior Model(Neurips 2020)中,作者在一般生成式模型的隐空间中加入了EBM作为先验模型,由于隐空间中维数较低且有较好的表示性,MCMC采样也能更有效率,从而此模型表现出了优秀的效果。

图片

异常图像的识别和修复

研究Iterative energy-based projection on a normal data manifold for anomaly localization(ICLR 2020)中,作者利用能量函数作为损失函数,实现了异常图像的识别和修复。

图片

模型预训练

将EBM作为预训练模型与其他模型结合是一类新兴的研究方向。由于EBM是生成式模型,对联合密度进行建模,所以可以利用贝叶斯公式,在给定先验的前提下,将他转化为后验。由此实现生成式模型和判别式模型的结合。具有这种思想的较早的一篇文献是Your Classifier is Secretly an Energy Based Model and You Should Treat it Like One(ICLR 2020)。

图片

作者把作为生成式模型的EBM和判别式模型的分类器结合,当样本经过神经网络后进入隐空间,此时不计算softmax,转而通过EBM计算联合分布和边际似然,以此得到后验。

最近一篇文献ENERGY-INSPIRED SELF-SUPERVISED PRETRAINING FOR VISION MODELS(ICLR 2023)将这种思想延续了下来。

图片

总  结

基于能量的模型通过将未知分布的数据,转化成能量模型进行建模学习。相较于其他的生成式模型,不仅有着丰富的统计学背景,还有训练稳定等优点。除了在样本生成的任务上有着较好的效果外,基于能量的模型还可以用于在预训练等任务上有着很好的表现。