变分自编码器



Abstract: 在连续隐变量的后验分布未知的大数据集中,如何进行有效的推断和学习有向概率模型?本文提出一种随机变分推断和学习算法,可用于大数据集,只需满足温和的可导条件,甚至棘手的情况。我们有两个贡献。一,对变分下界的重参数化产生了一个下界估计,可由标准随机梯度法直接优化得到;二,对于具有连续隐变量的i.i.d.数据集,采用我们提出的下界估计来将一个近似推断模型(识别模型)拟合为棘手的后验分布,从而高效地进行后验推断。

  1. Introduction

对于连续隐变量及参数的后验分布未知的有向概率模型,如何进行有效的近似推断和学习?变分贝叶斯VB法采用对未知后验分布近似的优化方法。不幸的是,通用的mean-field方法要求对于近似后验分布期望的解析解。我们显示了如何由对变分下界的重参数化产生对下界的简单的可导的无偏估计;这种随机梯度变分贝叶斯SGVB估计器可用于任何具有连续隐变量及参数的模型的高效近似后验推断,并且可以直接使用标准随机梯度下降技术进行优化。

对于i.i.d数据集和每个样点都具有连续隐变量的情况,本文提出自编码VB算法AEVBAEVB算法通过采用SGVB估计优化一个识别模型来进行特别高效的推断和学习。该识别模型允许采用简单的ancestral采样进行非常高效的近似后验推断,从而能够高效地学习模型参数,而不需要对每个样点进行耗时的迭代推断,如MCMC. 学习到的近似后验推断模型,可用于识别、降噪、表示和可视化等诸多任务。如果在识别模型中采用神经网络,则得到变分自编码器。

  1. Method

本节对一类带连续隐变量的有向图模型推导出一个下界估计器(随机目标函数)。我们考虑每个样本带有隐层变量的i.i.d.数据集,并且采用MLMAP推断全局参数,对隐变量采用变分推断。例如,将此情形直接推广到对全局参数进行变分推断。本方法可用于在线、非平稳情况,如流数据,但此处为了简单起见采用固定数据集。

    1. Problem scenario

考虑数据集X,包含N个连续或离散的i.i.d.样点x。假定它随机产生,具有一个未知的连续随机变量z。这个随机过程包含两步:1)由先验分布产生变量2)由条件分布产生变量。假定来自一族分布,其PDFz处处可导。不幸的是,参数和隐变量是未知的。

重要的是,我们不对边缘概率或后验概率做简单化的假设,而是对如下情况采用高效的通用算法:

1Intractability: 边缘概率不可求,从而后验概率也不可得(从而EM算法不可用),从而mean-field VB算法无法进行积分。这一困难在中等复杂度似然函数中很常见,如带非线性隐层的神经网络。

2)大数据集:数据太多,优化太耗时,我们更倾向于采用minibatch或单样点的参数更新。而基于采样的方法,如Monte Carlo EM, 由于对每个样点进行采样循环,速度太慢。

以上情况与以下3种情况相关:

  1. 对参数的近似MLMAP估计。可用于模仿隐随机过程,或产生模拟真实数据的人工数据。

  2. 给定观察值x和参数,对隐变量z的近似后验推断。可用于编码或数据表示任务。

  3. 对变量x的近似边缘推断。可用于所有要求对x具有先验估计的推断任务,如图像降噪、修复和超分辨率。

为了解决上述问题,我们引入识别模型,它是对难解的真实后验分布的近似。在mean-field变分推断的近似后验概率中,采用变分且参数有闭环解,而本方法通过学习得到识别模型参数和生成模型参数

在编码理论上,未知变量z可被看成一个隐层表示或编码。因此本文亦称识别模型为概率编码器。给定一个数据点x,它产生一个可能编码值z的分布(如Gaussian),x可由z产生。同样称为概率解码器,因为对于给定的码字z,它产生可能值x的分布。

    1. 变分界

联合概率的对数为=,其中

          (1)

1RHS项是对真实后验分布的近似的KL发散。因为KL-发散是非负的,第2RHS项叫做对样点i的边缘概率的变分下界,可写为

       (2)

其中,

         (3)

该下界对的梯度难以求得。

    1. SGVB估计和AEVB算法

本节给出一种对下界及其导数的估计器。假定有一个的近似后验分布。推断后验分布的全变分贝叶斯法在附录F中给出。

在选择的近似后验分布满足2.4节的温和条件下,我们采用对噪声变量的可导变换,对随机变量进行重参数化,得

  with                           (4)

关于选择近似分布和函数的策略参见2.4节。这里得到对的函数f(z)的期望的Monte Carlo估计:

             (5)

其中。带入变分下界公式(2),得到通用的随机梯度变分贝叶斯SGVB估计:

              6

其中

通常式(3)中的KL-发散可解析求积分(见附录B),因此只有期望重建误差需要按抽样进行估计。KL-发散项可被解释为正则化,近似后验分布接近先验分布。这产生了SGVB估计的第2个版本,对应于式(3),它比通用估计具有更小的方差:

            (7)

其中其中

给定数据集X中的N个样点,可基于minibatch构造全体数据集边缘概率下界的估计:

                 (8)

其中minibatch . 梯度可用于随机优化算法,如SGDAdagrad

(7)中第1项(KL-发散项)的作用是正则化,第2项是期望的负重建误差。选择函数使得可将数据点和随机误差向量映射为从该数据点近似后验分布的一个抽样:,其中. 然后,抽样输入到函数,该函数等于在生成模型下的数据点PDF.

    1. 重参数化

本节提出一种从生成样点的方法,本质上是一种重参数化的技巧。设连续随机变量为一条件分布,它可表示成一确定变量,其中辅助变量具有边缘概率,函数是参数的向量值函数。

重参数化的目的是将对的期望变换为对可导的MonteCarlo估计。证明如下:给定确定性映射关系:,可知,从而. 其中。因此,可导估计为, 其中。在2.3节中我们采用这一技术得到对变分下界的一个可导估计。

以单变量Gaussian分布为例:设. 则一个有效的重参数化为,其中N(0,1) . 因此,,其中N(0,1)

对与哪个,可以选择这个可导变换和辅助变量呢?有三种基本方法:

  1. CDF求逆。令, CDF的逆。例如:Exponential, Cauchy, Logistic, Rayleigh, Pareto, Weibull,Reciprocal, Gompertz, Gumbel, Erlang分布。

  2. 模仿Gaussian例子,对任何”location-scale”类的分布,选择标准分布(location=0,scale=1)做为辅助变量,令=location+scale。例如:Laplace,Elliptical, Student’s t, Logistic, Uniform, Triangular, Gaussian分布。

  3. 组合:通常可能将随机变量表示为辅助变量的不同变换。例如:Log-Normal(正态分布变量的指数形式),Gamma(指数分布变量的和),DirichletGamma变量的加权和),Beta, Chi-squaredF分布。

如果三种方法都失败,对CDF求逆的良好近似要求与计算PDF相当的计算复杂度。

  1. Example: VariationalAuto-Encoder

本节举例说明采用神经网络做为概率编码器,以及采用AEVB算法对参数进行联合优化。

设隐变量的先验分布是中心各向同性的多变量高斯分布. 为多变量高斯分布(对实数数据)或Bernoulli分布(对二进制数据),其分布参数采用多层感知器MLPz求得。注意此处真正的后验分布是难以求得的。尽管可以有多种形式,我们仅假定真实的后验分布为近似高斯形式且具有近似对角协方差。在本案中,我们另变分近似后验分布是一个具有对角协方差的多变量高斯分布:

                       (9)

其中MLP的编码输出,即,样点和变分参数的非线性函数。

2.4节解释的,我们用从后验分布中进行抽样,其中N(0,I), 代表元素相乘。在这个模型中,前向分布和后向分布都是高斯的。在本案中,我们可以使用式(7)估计器,其中KL发散可以计算和求导,而不是估计(见附录B)。该模型和数据点的估计结果为:

   (10)

其中,且N(0,I)。如上述及附录C所述,解码项Bernoulli或高斯MLP,依数据类型而定。

  1. Related work

据我们所知,wake-sleep算法[HDFN95]是除我们之外唯一的用于同样通用连续隐变量模型的在线学习算法。同样的,该算法用一个识别模型来近似真实的后验分布,其缺点是要求两个目标函数的并发优化,其优点是可用于离散隐变量模型。Wake-sleep算法的计算复杂度与AEVB相当。

随机变分推断[HBWP13]近年来广受关注。最近[BJP12]提出一种控制可变方案来减小朴素梯度估计的高方差问题,并采用指数类的后验分布近似。在[RGB13]中提出一些通用方法,即控制可变方案来降低原始梯度估计的方差。在[SK13]中采用了同样的重参数化方法,得到一种高效的随机变分推断算法,用以学习指数类近似分布的自然参数。

AEVB算法揭示了有向概率模型(由变分目标训练)和自编码器之间的联系。线性自编码器和某种生成线性高斯模型之间的关系早就为人所知。在[Row98]中表明,PCA对应于一种特殊的线性高斯模型(p(z)=N(0,I))和一种条件分布p(x|z)=N(x; Wz, )ML算法,尤其对于无限小的

最近[VLL+10]指出,非正则化自编码器的训练准则对应于输入X和隐表示Z之间的互信息的下界的最大化。互信息的最大化等效于条件熵的最大化,条件熵的下界由自编码器模型下的数据的期望对数似然率决定,即负重建误差。然而,这一重建准则对于学习有用的表示是不充分的[BCV13]。正则化技术被提出使自编码器学习有用的表示,如降噪,收缩和稀疏自编码变量。SGVB目标包含一个表示为变分界的正则化项(式10),缺少用于学习有用表示的通常的麻烦的正则化超参数。其它相关工作还包括预测稀疏分解(PSD[KRL08]等编解码架构。此外还有最近提出的生成随机网络[BTL13], 带噪声的自编码器学习从数据分布中抽样的Markov链的转换操作。在[SL10]中采用识别模型来有效地学习深度Boltzmann机。这些方法的目标是非正规化模型(即无向模型如Boltzmann机)或限于稀疏编码模型,而我们的算法是学习一类通用的有向概率模型。

最近提出的DARN方法[GMW13],也采用自编码结构学习一个有向概率模型,但是它用于二进制隐变量。再最近,[RMW14]也采用了我们提到的重参数化技术来考察自编码器、有向概率模型和随机变分推断之间的联系。

  1. Experiments

我们从MNISTFrey Face数据集(http://www.cs.nyu.edu/˜roweis/data.html)训练了图像的生成模型,并从变分下界和估计边缘似然率上与其他学习算法做了比较。

采用了第3节的生成模型(编码器)和变分近似(解码器),它们具有同样多的隐层单元。因为FreyFace是连续的,我们采用了一个带有Gaussian输出的解码器,它与编码器相同,除了在解码器输出端通过一个sigmoidal激活函数将其均值限于(0,1)之间。此处隐层单元指的是编解码器神经网络的隐层。

参数更新采用随机梯度下降,通过对下界估计进行求导得到梯度(算法1),加上一个小的权重衰减项对应于先验概率。对该目标的优化等效于近似MAP估计,其中似然率梯度近似为下界梯度。

我们将AEVBwake-sleep算法进行了比较。我们在wake-sleep算法中采用了同样的编码器(也叫识别模型)。变分模型和生成模型的所有参数都由N(00.01)分布的随机抽样进行初始化,按MAP准则进行联合随机优化。步长自适应于Adagrad[DHS10]; Adagrad全局步长从{0.01, 0.02, 0.1} 中选取,基于对训练集的前面几次迭代的表现。Minibatch大小为M=100,每个数据点L=1个抽样。

似然率下界。我们训练了生成模型(解码器)和相应的编码器(识别模型),它们对于MNIST500个隐单元,对FreyFace数据集有200个隐单元(防止过拟合,因为它小)。图2实处下界的比较结果。有趣的是,过多的隐变量不会造成过拟合,原因是变分下界的正则化性质。

边缘似然率。对于甚低维隐空间,可以采用MCMC估计学习生成模型的边缘似然率。我们再次采用神经网络做为编解码器,100个隐层单元和3个隐变量;对于高维隐空间,估计变得不可靠。采用MNIST数据集,我们将AEVBwake-sleep算法与带HybridMonte CarloHMC)的Monte Carlo EMMCEM[DKPR87]做了比较。结果示于图3.

高维数据可视化。如果选择低维隐空间(如2D),我们可用学习到的编码器(识别模型)对数据进行高维到低维的映射。。见附录A

  1. Conclusion

本文对连续隐变量的高效近似推断提出一种变分下界估计——随机梯度VBSGVB),可直接求导并采用标准随机梯度法进行优化。对于i.i.d.数据集和每个数据点的连续隐变量,我们提出了高效的推断和学习算法——自编码VBAEVB),采用SGVB估计器学习近似推断模型。实验结果证实了理论的优越。

  1. Future work

SGVB估计和AEVB算法可用于几乎任何连续隐变量的推断和学习问题:(1) 采用深度神经网络(如CNN)的编解码器;(2)时间序列模型(即动态贝叶斯网络);(3SGVB用于全局参数;(4)带隐变量的监督模型,用于学习复杂的噪声分布。

猜你喜欢

转载自blog.csdn.net/u014195530/article/details/69525520