Maximum Entropy Generators for Energy-Based Models
Abstract
由于对数似然梯度的难以计算,能量模型的最大似然估计是一个具有挑战性的问题。本文中,我们提出了利用神经网络来学习能量函数和摊销(amotized)近似采样机制,这提供了对数似然梯度的有效近似。所得到的目标要求生成样本的熵最大化,我们使用最近提出的非参数互信息估计器来实现这一目标。最后,为了稳定由此产生的对抗博弈,我们使用从分数匹配文献(score matching literature)中导出的零中心梯度惩罚作为必要条件。所提出的技术可以生成具尖锐图像,IS和FID分数的与最新的GAN技术相比都具有竞争力,不会产生模式崩溃,并且与最新的异常检测技术竞争。
1 Introduction
无监督学习利用未标记数据,被视为实现人工智能的关键(Lake等人,2017)。基于能量的模型(EBMs、LeCun等人。(2006)是一系列无监督的学习方法,重点是学习能量函数,即数据的非标准化对数密度。这就不需要对数据分布进行参数化假设,以使归一化常数(Z)可处理。然而,在实践中,由于同样缺乏限制,学习高质量的基于能量的模型面临着诸多挑战。为了避免显式地计算Z或其梯度,对比散度(Hinton,2000)和依赖于马尔可夫链蒙特卡罗(MCMC)的随机最大似然(Younes,1998;Tieleman,2008a)从基于能量的模型中近似地采样。然而,基于MCMC的高维数据采样方法往往存在混合时间长的问题。因此,基于能量的模型培训与其他无监督学习技术如变分自动编码器(Kingma&Welling,2014))和生成性对抗网络(Goodfelle等人,2014))相比,并没有很大的竞争力。
在这项工作中,我们提出了最大熵产生器(MEG),在这个框架中我们训练能量函数和近似取样器,它可以是快速的(使用产生器网络G)或使用G在产生器的潜在空间中初始化马尔可夫链。适当地训练这样一个生成器需要生成器的输出分布的熵最大化,为此我们利用非参数互信息最大化的最新进展(Belghazi等人,2018;Hjelm等人,2018;Oord等人,2018;Poole等人,2018)。
为了评估该技术的有效性,我们在图像生成、精确模式表示和异常检测方面与其他最新技术进行了比较。我们证明,根据FID(Heusel et al.,2017)和IS(Salimans et al.,2016),所提出的技术能够生成与WGAN-GP(Gullajani et al.,2017)具有竞争力的CIFAR-10样品,并且能够在正确的数据频率下生成4叠加NIST的所有104个模式的样本。
我们证明,我们的技术在KDD99数据集上训练有助于异常检测的能量函数,并且它执行的异常检测技术和为该任务专门设计的最顶尖的异常检测技术可以相提并论,且远远优于其他基于能量和生成的异常检测模型。
为了总结我们的贡献,我们提出了最大熵发生器(MEG),这是一个新的框架工作,用于训练基于能量的模型,使用摊销神经发生器和互信息最大化。结果表明,所得到的能量函数可以成功地用于异常检测,并优于最近发表的基于能量模型的结果。我们表明,MEG生成了清晰的图像-具有竞争性的IS和FID分数。并且比标准GANs准确地捕获了更多的模式,同时与许多最大似然生成模型存在模型混合问题
不受导致模糊样本的的共模混合问题的影响。
2 Background
设x表示数据空间
X
\mathcal{X}
X中的一个样本,
E
θ
:
X
→
R
E_θ:\mathcal{X}→\mathbb{R}
Eθ:X→R为一个能量函数对应于非归一化的估计密度函数的负对数。
p
θ
(
x
)
e
−
E
θ
(
x
)
Z
θ
∝
e
−
E
θ
(
x
)
p_{\theta}(\bm{x})\frac{e^{-E_\theta ({\bm{x}})}}{Z_{\theta}}\propto e^{-E_\theta ({\bm{x}})}
pθ(x)Zθe−Eθ(x)∝e−Eθ(x)
其中:
Z
θ
Z_{\theta}
Zθ为归一化常数或( partition function).。令
p
D
p_D
pD为训练分布,从中提取训练集。对于优化能量函数的参数θ,最大似然参数梯度为
∂
E
x
∼
p
D
[
−
log
p
θ
(
x
)
]
∂
θ
=
E
x
∼
p
D
[
∂
E
θ
(
x
)
∂
θ
]
−
E
x
∼
p
θ
(
x
)
[
∂
E
θ
(
x
)
∂
θ
]
\frac{\partial \mathbb{E}_{\boldsymbol{x} \sim p_{D}}\left[-\log p_{\theta}(\boldsymbol{x})\right]}{\partial \theta}=\mathbb{E}_{\boldsymbol{x} \sim p_{D}}\left[\frac{\partial E_{\theta}(\boldsymbol{x})}{\partial \theta}\right]-\mathbb{E}_{\boldsymbol{x} \sim p_{\theta}(\boldsymbol{x})}\left[\frac{\partial E_{\theta}(\boldsymbol{x})}{\partial \theta}\right]
∂θ∂Ex∼pD[−logpθ(x)]=Ex∼pD[∂θ∂Eθ(x)]−Ex∼pθ(x)[∂θ∂Eθ(x)]
其中第二项是 l o g Z θ log Z_θ logZθ的梯度,当训练收敛时,两个期望的和为零,正相位(在数据采集自pD)的期望能量梯度与负相位(数据采自 p θ ( x ) p_θ(x) pθ(x)下)的期望能量梯度相匹配。因此,训练包括尝试分离两个分布:正相位分布(与数据相关)和负相位分布(模型自由运行并自行生成配置)。这一观察结果激发了Bengio(2009)提出的pre-GAN思想,即“模型样本为负样本”,如果分类器将数据分布与模型自身样本分离,则可以用来学习能量函数。在之后不久发表的GANs模型,Goodfellow(2014)也做了一个类似的联系,涉及噪声对比估计(Gutmann&Hyvarinen,2010)。还应认识到等式2与Wasserstein GANs或WGAN的目标函数之间的相似性(Arjovsky等人,2017年)
式2中的主要挑战是从与能量函数Eθ相关的分布pθ中获得样本。虽然有一个能量函数可以方便地获得分数,从而可以比较不同x的相对概率,但是很难将能量函数转换为生成过程。常用的研究方法是基于马尔可夫链蒙特卡罗,其中一个迭代更新一个候选配置,直到这些配置在分布上收敛到期望的分布pθ。对于RBM,最常用的算法是对比散度(Hinton,2000)和随机最大似然(Younes,1998;Tieleman,2008a),依赖于RBM的特定结构来执行Gibbs抽样。尽管这些基于MCMC的方法很有吸引力,但与自回归模型(van den Oord等人,2016年)、变分自动编码器(Kingma&Welling,2014年)和生成性对抗网络或GANs(Goodfelle等人,2014年)相比,近年来RBM(及其更深层的形式,深玻尔兹曼机器)没有竞争力。
3 Maximum Entropy Generators for Energy-Based Models
3.1 Improving training stability
3.2 Improving sample quality via latent space MCMC
当MEG同时训练一个发生器和一个有效的能量函数时,我们可以通过向高密度区域偏移采样来提高采样质量。此外,正如Bengio等人最初讨论的那样,在潜在空间中进行MCMC行走应该比在数据空间中更容易,因为转换后的数据流形(在潜在空间中)比在原始观测数据空间中更平坦。(2013年)。其动机也类似于Brock等人成功使用的“截断技巧”。(2018年)。然而,我们使用了一种基于MCMC的方法,这种方法适用于任意的潜在分布。
我们使用Metropolis-adjusted Langevin算法(MALA、Girolami和Calderhead(2011)),Langevin dynamics在潜在空间中生成一个建议分布,如下所示:
4 Experiments
为了了解MEG的好处,我们首先在玩具数据上可视化生成模型所获得的能量密度。接下来,我们通过运行离散模式崩溃实验来评估熵最大化器的有效性,以验证我们学习了所有模式以及相应的模式计数(频率)分布。此外,我们还评估了MEG在锐化图像生成方面的性能,因为这是用最大似然法训练的模型的常见故障模式,容易产生模糊样本(the is等人,2015)。我们还比较了在可见空间的MCMC样本和我们提出的从合成能量函数的潜在空间的MCMC样本。最后,进行异常检测实验,验证所学习的能量函数的应用。
4.1 Visualizing the learned energy function
4.2 Investigating Mode Collapse
GANs因存在模式崩溃问题而臭名昭著,其中数据分布的某些模式不由生成的分布表示。由于生成器被训练成用能量模型分布(通过最大似然法训练)最小化其KL发散,我们期望生成器忠实地捕捉数据分布的所有模式。我们的理论要求我们最大化生成分布的熵,我们相信这有助于确保全模式捕获。
为了从经验上验证MEG捕获了所有数据分布模式,我们采用了与(Metz et al.,2016)和(Srivastava et al.,2017)相同的实验设置。我们在stackednist数据集上训练生成模型,这是一个通过在不同通道上叠加MNIST创建的合成数据集。使用一个预训练的MNIST分类器计算模式数,并根据经验计算生成的模式分布和数据分布之间的KL散度。
4.3 Modeling Natural Images