全新视角:用变分推断统一理解生成模型(VAE、GAN、AAE、ALI)

640


作者丨苏剑林

单位丨广州火焰信息科技有限公司

研究方向丨NLP,神经网络

个人主页丨kexue.fm


摘要:本文从一种新的视角阐述了变分推断,并证明了 EM 算法、VAE、GAN、AAE、ALI (BiGAN) 都可以作为变分推断的某个特例。其中,论文也表明了标准的 GAN 的优化目标是不完备的,这可以解释为什么 GAN 的训练需要谨慎地选择各个超参数。最后,文中给出了一个可以改善这种不完备性的正则项,实验表明该正则项能增强 GAN 训练的稳定性。


前言


我小学开始就喜欢纯数学,后来也喜欢上物理,还学习过一段时间的理论物理,直到本科毕业时,我才慢慢进入机器学习领域。所以,哪怕在机器学习领域中,我的研究习惯还保留着数学和物理的风格:企图从最少的原理出发,理解、推导尽可能多的东西。这篇文章是我这个理念的结果之一,试图以变分推断作为出发点,来统一地理解深度学习中的各种模型,尤其是各种让人眼花缭乱的 GAN。


本文已经挂到 arXiv 上,需要读英文原稿的可以访问下方链接下载论文 Variational Inference: A Unified Framework of Generative Models and Some Revelations。 


■ 论文 | Variational Inference: A Unified Framework of Generative Models and Some Revelations

■ 链接 | https://www.paperweekly.site/papers/2117

■ 作者 | Jianlin Su


下面是文章的介绍。其实,中文版的信息可能还比英文版要稍微丰富一些,原谅我这蹩脚的英语。


近年来,深度生成模型,尤其是 GAN,取得了巨大的成功。现在我们已经可以找到数十个乃至上百个 GAN 的变种。然而,其中的大部分都是凭着经验改进的,鲜有比较完备的理论指导。


本文的目标是通过变分推断来给这些生成模型建立一个统一的框架。首先,本文先介绍了变分推断的一个新形式,这个新形式其实在本人以前的文章中就已经介绍过,它可以让我们在几行字之内导出变分自编码器(VAE)和 EM 算法。然后,利用这个新形式,我们能直接导出 GAN,并且发现标准 GAN 的 loss 实则是不完备的,缺少了一个正则项。如果没有这个正则项,我们就需要谨慎地调整超参数,才能使得模型收敛。


实际上,本文这个工作的初衷,就是要将 GAN 纳入到变分推断的框架下。目前看来,最初的意图已经达到了,结果让人欣慰。新导出的正则项实际上是一个副产品,并且幸运的是,在我们的实验中这个副产品生效了。


变分推断新解


假设 x 为显变量,z 为隐变量,p̃(x) 为 x 的证据分布,并且有:


640


我们希望 qθ(x) 能逼近 p̃(x),所以一般情况下我们会去最大化似然函数:


640


这也等价于最小化 KL 散度 KL(p̃(x))‖q(x)):


640


但是由于积分可能难以计算,因此大多数情况下都难以直接优化。 


变分推断中,首先引入联合分布 p(x,z) 使得p̃(x)=∫p(x,z)dz,而变分推断的本质,就是将边际分布的 KL 散度 KL(p̃(x)‖q(x)) 改为联合分布的 KL 散度 KL(p(x,z)‖q(x,z)) 或 KL(q(x,z)‖p(x,z)),而:


640


意味着联合分布的 KL 散度是一个更强的条件(上界)。所以一旦优化成功,那么我们就得到 q(x,z)→p(x,z),从而 ∫q(x,z)dz→∫p(x,z)dz=p̃ (x),即 ∫q(x,z)dz 成为了真实分布 p̃(x) 的一个近似。


当然,我们本身不是为了加强条件而加强,而是因为在很多情况下,KL(p(x,z)‖q(x,z)) 或 KL(q(x,z)‖p(x,z)) 往往比 KL(p̃(x)‖q(x)) 更加容易计算。所以变分推断是提供了一个可计算的方案。


VAE和EM算法


由上述关于变分推断的新理解,我们可以在几句话内导出两个基本结果:变分自编码器和 EM 算法。这部分内容,实际上在从最大似然到EM算法:一致的理解方式变分自编码器(二):从贝叶斯观点出发已经详细介绍过了。这里用简单几句话重提一下。


VAE


在 VAE 中,我们设 q(x,z)=q(x|z)q(z),p(x,z)=p̃(x)p(z|x),其中 q(x|z),p(z|x) 带有未知参数的高斯分布而 q(z) 是标准高斯分布。最小化的目标是:


640


其中 log(x) 没有包含优化目标,可以视为常数,而对

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值