VAE 的前世今生:从最大似然估计到 EM 再到 VAE

点击蓝字

90680ce9c07b1c728bc75dd7283131c0.png

关注我们

AI TIME欢迎每一位AI爱好者的加入!

9dd8447400d456461fa7839ab07e6fc7.png


变分自编码器(VAE)是当下最流行的生成模型系列之一,它可以被用来刻画数据的分布。经典的期望最大化(EM)算法旨在学习具有隐变量的模型。本质上,VAE 和 EM 都会迭代式地优化证据下界(ELBO),从而最大化观测数据的似然。本文旨在为  VAE 和 EM 提供一种统一的视角,让具有机器学习应用经验但缺乏统计学背景的读者最快地理解 EM 和 VAE。

论文链接(已收录于AI open):https://www.aminer.cn/pub/6180f4ee6750f8536d09ba5b

1

引言

我们往往假设采样自某种底层分布的数据是独立同分布的。如果数据分布12af4adf2284bd042f1649d65b0c0142.png已知,我们可以利用它生成新的数据。实际上,我们的主要目标找到一个参数为9d10bebe6a2236e0954f55e0f387d419.png的分布faf204f5fd53d9097ba5d9023ca9b098.png能够最好地拟合0a32d4dde160cb4ce7892d7951552797.png。最大似然估计(MLE)是最自然的衡量拟合性能标准,它能够最大化观测到的数据被生成的概率。

对数据的了解使我们可以采用具有隐变量 z 的模型来近似数据分布,此时只有联合分布e8d8fa0170d8846bc8a99f234787e929.png被显式定义。我们感兴趣的边缘似然856579812225f5b96de21e885c9669f8.png包含在 z 上的积分。图像等高维数据需要使用复杂的基于深度学习的模型,此时积分是没有解析形式,因此难以计算其积分。这正是变分推断(VI)方法(例如,VAE)旨在解决的问题。

ELBO 是边缘似然函数对数的下界7ab48fabc3340e1e4b0c141101a03702.png,我们通过引入一个额外的分布2100aa74e330c154cd1e9ddc96a16a46.png来构造 ELBO。52277586a2461530182bd304ed0df308.png与后验概率4b8de719f24afffeb3bc7dc9b726f4c3.png越接近,则证据下界越严格。

EM 算法和 VAE 都会迭代式地优化 ELBO。具体而言,它们会交替地从20f4508de0757c0f8fa6fc5855a5856d.png和 θ 上优化 ELBO,直至收敛。区别之处在于,EM 在每一步中都会进行完美的优化,而为更加复杂的模型(例如,神经网络)设计的 VAE 通过某些近似方法执行一个梯度步。在本文中,我们将详细介绍这两种方法之间的异同之处。

2

最大似然估计

我们对满足分布的数据建模,其中 θ 是模型的参数,x 为观测到的变量,z 为隐变量。对于独立同分布的观测数据f4b62a396fbdedcfbe571e2cf0c4aea9.png,我们要计算参数的最大似然估计:

5a9b1ab54222e1ae23e9aa2bac70b87d.png

其中,71ed52664f8ddfb740a737c4e5112f39.png为 X 的边缘似然(即「证据」)。通常而言,我们计算「证据」的对数来处理独立同分布的数据:

80412c1ef64b150258656dee576eae00.png

这样一来,完整的对数似然可以被分解为每个数据点的对数似然之和。在本文接下来的部分中,我们在分析中只考虑一个数据点的对数似然6e209512f35fbb076fa8a88e380cc754.png,然而仍然会在算法描述中考虑多个数据点。

fd78acb9ad9311f58ba669bf40f4cf7d.png

图 1:基于高斯函数的三种不同 MLE 复杂度的模型

实际上, MLE 的难度会因模型c7c58d89f7de013433690a4db6703b60.png的复杂度有很大的差别。在这里,我们模型的复杂度由简单到复杂分为三个等级:

(1)等式deacad004d108a145dd9eff1eadd56e4.png具有封闭解71292d49ba3d1d743963608e6cdeb890.png。在这种情况下,我们计算每个驻点7c6bce978de7c88a23c33646a7acc61a.png上的似然462ae54dbf20872fdd2fbdd5dc0d2df7.png,并求最大值。然而,当隐变量 z 存在时,0a9196867cceef44c8a9cdf694c442c6.png包含对 的积分,通常使上述等式没有封闭解。

(2)给定20c89f78de8a6493eccacfa5c4d7a862.png,可以估计边缘似然18575bf752d6478f940f513f7fa03873.png,因此 b5fd73249f27361f5ea7b3881f8ba6ca.png也易于计算。这种情况下,利用自动微分工具(例如,Tensorflow、Ptroech)运行梯度法

594936f02822b17c7d4f23456eb5fce1.png

是最流行、最直接的方法。迭代地最大化 ELBO 的 EM 算法主要就是针对这个复杂度等级中的各种场景设计的,EM 算法通常是鲁棒的,可以很快收敛。

(3)边缘似然fb6ea2aa46fa578288e4b5f3f772778c.png无法被估计,因此难以计算e2765d018a02f1cd0345e8ab8416cbad.png。在深度学习时代,这种情况经常发生,此时我们通过神经网络对d1d272e082a24d872bdcb6642680ee7c.png1e791c4dabb47bb6b62ffce98e64659c.png建模。VAE 主要针对的就是此类问题。

3

证据下界(ELBO)

ELBO 是本文最核心的概念之一,它是72331eb51f06d419fdfaa141354d7f06.png的下界。我们通过引入一个额外的隐变量空间 Z 上的的分布来构建 ELBO。可以是任意选择的分布,但它会议影响 ELBO 的严格程度。

令观测数据点为 x,我们可以通过分解3dbe30dde336a232db75549033fade42.png推导出 ELBO:

92c0f3058055580f5a8876e54413d772.png

其中,59730ee05a9280dd3932621ca6828726.png衡量了和隐变量的后验概率561580ed6dbf41428a15b595187ddb1a.png之间的相似度。

此外,我们还可以基于 Jensen 不等式推导出 ELBO:

a3cd5c009785b1b79a17d328a946fed9.png

请注意,ELBO 可以被进一步分解为下面的形式:

0724ffcd6cbb49a6f4780b6523bd6519.png

ELBO 为我们提供了一种找到最大似然,或近似最大似然的新方法:

0335fcc081effce2f7f1487880e19323.png

公式(5)解释了 ELBO 如何最大化似然。公式(6)说明,我们可以从简单的分布族中挑选,从而近似似然,同时保证了 ELBO 易于计算。

4

期望最大算法

EM 算法已经被成功地用来学习许多著名的模型(例如,高斯混合算法——GMM 和隐马尔科夫模型 HMM),它被视为 20 世纪最重要的算法之一。EM 算法是针对9ba372a1d55ec7ec73f2dc797e98a059.png的坐标上升算法。

(E 步)首先,我们固定 θ,在上优化49d01918691369c116694d16f2e2da7c.png。由公式(2)我们可以得出:

e286ef32288a03a9484befb5c913a633.png

对于给定的 θ,我们将令 ELBO 最大化的e36368a008e79d2408dcf8904312ad31.png定义为:bd02d5cf1dcd1f55ab9ea7526b89134b.png

99d54eac3a5a2364c80b28cf587e4164.png

(M 步)接下来,我们固定0a9b42783bb81039b807ec28e87f3935.png,在 θ 上优化 ELBO。假设当前的旧参数为96580b77f09385ca1cec1aeed8f8f61c.png,我们将6c3bedc37f1a8c18abef6778f03d934e.png代入afc75bc97f1b9998f2e21858b8bde684.png,目标是找到:

79aeafd958a8122ff0f425f19ea5e9c8.png

我们可以将公式(3)分解为:

ac50e85b0968e70ddaa912b8247b7121.png

其中,4b7ca9c2f582cac8e42c8e88c6e7664b.png为分布 p 的熵。我们定义:

e52825ab0fc46849bd9d987f42aa1fd2.png

则最优的新参数da20d507aeea10c201ed4cd23aa30aa7.png

以上的 E 步和 M 步会迭代重复直至收敛。整体的算法流程如下:

2a40e4a64ea4d9216d2231e6a575a14d.png

相较于梯度法,EM 算法的优点在于其单调收敛性、低计算开销,它在一些重要的模型上有出色的性能。EM 算法天然地满足概率约束。然而,EM 算法要求后验概率649fc7ea939d4734f4e64aa3960a280c.png易于计算,且容易计算72557a6a619ae38082af91296b94eb20.png最大值。然而,上述要求对于复杂模型是十分苛刻的。

5

变分 EM、MCEM、 Generalized EM

  • a663f157e174f1c5c690bf3297b326d9.png难以计算,则无法估计后验概率9dd555fd7ce14f111cfd0e6f98a8ea0b.png。变分 EM 是一种替代方案,它通过一个简单的分布替换后验概率。例如,在平均场方法中,每个维度上的分量都是独立的,即:483c536237482ebd003dd6665a9df8df.png

  • 374880d8957df00625bb1c931f414811.png无法被简化为解析形式,我们可以进行蒙特卡洛近似,即 MCEM 算法:

856c7268cc31cdde16ac8f0dddccaa73.png

其中,25d41c0cd88afbd0169449c09dc36b03.png采样自9696022094ab35f2b48c67c75f0cda84.png

  • 当我们无法直接得到7f5e3b9ecc6589dce2ed2977118eefe3.png的最大值时,Generalized EM 会转而执行一个能够提升 ELBO 的步骤(例如,梯度步)。

6

变分自编码器

假设某个模型满足以下要求:

d4261267defa75ea9e7b51343f606be8.png

其中,Decoder 编码器为神经网络。那么估计这种模型的参数是图 1 中最困难的情况。由于神经网络的存在,我们会遇到第五章中的第三种情况。如果我们将变分 EM、MCEM、Generalized EM 结合起来,就可以得到 VAE 模型。实际上,VAE 可以看做对 EM 算法的扩展。

b4f847b86bcd1fdea290806d2a695777.png

图 2:变分自编码器

在训练编码器和解码器的过程中,我们从后验概率fb5fce9c29fc19cc43112ecdfc5020ad.png中采样隐变量 z。然而,在生成时,我们从先验概率190df60e6b55061935846b3bf8ce4ec7.png中采样隐变量 z。

VAE 与变分 EM 的联系

VAE 中的969b2132a5c1a4d45e6ae5f358dae39c.png是一种各向同性高斯分布,我们可以通过另一个神经网络编码器来生成均值和方差:

9668563802336cd273df8d7ed8190585.png

其中,μ 和 σ 为向量。在传统的变分 EM 算法中,我们需要找到最优的f8177fa72c6f0680632f2679b78c8aa5.png来为每个观测到的数据点 x 最大化8ee4800bdc38a53bf6894445bdc073dd.png。VAE 使用了一种平摊变分推断(AVI)技巧,其中f1ee39b947016b16a494e07395fd3c55.png为编码器的输出,不同的数据点be7ac37363e71f22f9175c46999a3c93.png共享参数。AVI 技巧为了训练效率牺牲了部分的空间。

VAE 与 MCEM 和 Generalized EM 的关系

Generalized EM 认为我们无需在 E 步或 M 步中最大化 ELBO。我们可以通过 SGD 来优化和,尽管这样相较于传统的 EM 算法需要更多步运算。根据公式(4),我们有:

bf0f647ec5642cacacfe4470801286f4.png

接着,我们通过梯度法优化f2e9741c35a99f3dd7d392dcd9b259b0.png

b1efbd6f93ba205c64027e361aa4f04c.png

请注意,根据模型的定义,

297e3995cc2995fedde89baeb50e3fe4.png15f24d2fcf090c1f8e0a6868384c0047.png

我们通过反向传播根据重构损失e604ed9e054cb395fab09764350f25c4.png得到 θ 的梯度,即观测数据 x 和模型输出a12242d07c87f35fe42dd238ee9bfa74.png之间的均方误差。

然而,由于0e9af678cd494507a04153df41b31857.png,我们无法在计算7bbef74cb605b37af3d9f2bf5c228c7a.png的梯度时将d77c0cf672c3ce891867ab78535c53ec.png视为常量,即采样分布依赖于98df9bd71e2888a5d6b435df15931b9d.png

所以,我们需要进行重参数化处理,通过可微的操作将无关分布中采样得到的样本投影为目标分布b9212c2ba16df46f1defcbda84995fcb.png中。在 VAE中,我们通过

051110c899af6729e853c723e839736d.png生成c883d8e6e7fc68d5e88be7fe97b8f366.png

此时,ELBO 的梯度为:

3c2642a499c77a44739c06ea0d72b321.png

其中,c314a635fbd1fa924378b51ca63d6b19.png是两个各向同性高斯分布之间的 KL 散度,其解析解为:

ce8706358720987c07705c1b8f3b441f.png

VAE 算法的流程如下:

c281605e5e71a5e067f947344bc3f51d.png

7

VAE 的前沿研究话题

(1)VAE 中的解耦

VAE 和普通的自编码器之间的最大差别在于隐变量具有先验。VAE 需要最小化d8060d05965b16fd2eacafa5dc1e0392.png,因此限制了 z 的空间。同时,VAE 也需要在模型中最大化训练数据 x 的对数似然。在这两个目标的作用下,VAE 通过学习使 z 称为 x 的最高效的表征,即 z 被解耦到不同的维度上。VAE 的简单变体 β-VAE 为 KL 损失引入了一个大于 1 的放缩因子,从而提升解耦的重要性。

(2)正向 vs 逆向 KL 散度

基于最大似然估计的生成模型实际上是在最小化正向 KL 散度3ffa02a15fb8713097d04d3277c0c153.png。此类方法的缺点在于,如果我们使用模型生成样本(例如,图片),其保真度较低,这是因为这类方法只会迫使模型为真实样本赋予高似然,但会忽视1d3503f0ba1898c94a7d4e3c51489168.png较低的区域 Z。从这些区域采样得到的样本 z 仍然可以被映射到具有较低32d73ed9c36882ed1eb10f467f3beeee.png的 上。近期,许多工作(例如,VQ-VAE)将 VAE 与自回归模型结合,成功地提升了保真度。利用大规模文本-图像对预训练的 CogView 将 VQ-VAE 扩展到了图文生成领域。

对抗生成网络(GAN)是另一种流形的生成模型,它通过对抗学习最小化 JS 散度。JS 散度是正向 KL 和逆向 KL 散度的结合。实际上,我们在函数空间中无法对生成器进行完美的优化,因此模型更加关注逆 KL 散度。逆 KL 损失倾向于在具有较高的6c488918929d19f74618502242920eb2.png的区域生成样本,这使得生成的样本相较于正向 KL 散度更加逼真,但是这种模型也会导致模式崩溃现象,即生成过程无法覆盖数据分布的所有模式。

关于AI Open

AI Open是一个可自由访问的平台,所有文章都永久免费提供给所有人阅读和下载。该期刊专注于分享关于人工智能理论及其应用的可行性知识和前瞻性观点,欢迎关于人工智能及其应用的所有方面的研究文章、综述、评论文章、观点、短篇交流和技术说明。AI Open将作为中国面向国际人工智能学术、产业界的交流渠道,传播人工智能的最新理论、技术与应用创新,提高我国人工智能的学术水平和国际影响力。AI Open目前已被DOAJ收录,目前累计下载量已经达到6w+,乐观预计1年内能进入SCI。

AI TIME欢迎AI领域学者投稿,期待大家剖析学科历史发展和前沿技术。针对热门话题,我们将邀请专家一起论道。同时,我们也长期招募优质的撰稿人,顶级的平台需要顶级的你!

请将简历等信息发至yun.he@aminer.cn!

微信联系:AITIME_HY

AI TIME是清华大学计算机系一群关注人工智能发展,并有思想情怀的青年学者们创办的圈子,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法、场景、应用的本质问题进行探索,加强思想碰撞,打造一个知识分享的聚集地。

bf5b62ca5133b7c74d139859f6881c29.png

更多资讯请扫码关注

0928deddc8e64cd5bbc2a414203e066e.png

点击 阅读原味 查看论文原文

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值