franztao
2023/01/09阅读:12主题:默认主题
系列32 Variational_AutoEncoder
Introduction
本小节主要介绍的是变分自编码器(Variational AutoEncoder),VAE在之前的变分推断中就有介绍,具体在“随机梯度变分推断(SGVI)”中已进行描述。其中采用了重参数化技巧,也就是Amortized Inference。VAE在很多blog中都有详细的解释,这里只是很简单的描述其思想,希望可以抛转引玉。
VAE中的V指的是变分推断,这个概念是来自于概率图模型。而AE的概念是来自于神经网络。所以,VAE实际上是神经网络和概率图的结合模型。
从GMM到VAE
VAE是一个Latent Variable Model(LVM)。我们之前介绍的最简单的LVM是高斯混合模型(GMM),那么GMM是如何一步一步演变成VAE的呢?GMM是k个高斯分布(Gaussian Dist)的混合,而VAE的思想是无限个Gaussian Dist的混合。在GMM中, Categorical Distribution,如下表所示,

并且,其中 ,在给定 的情况下,满足 。很容易可以感觉到,这个GMM顶多就用来做一做聚类分布,复杂的任务根本做不了。比如,目标检测,GMM肯定就做不了,因为 只是离散的类别,它太简单了。下面举一个例子,假设 是人民群众,我们想把他们分成工人,农民和反动派。由于, 是一个一维的变量,那么我们获得的特征就很有限,所以分类就很简单。

那么,怎样才可以增加 的特征信息呢?因为 是离散的一维的隐变量,那么把它扩展成离散的高维的随机变量,不就行了。那么,变化就来了,大家看好了。GMM中 是离散的一维变量,那么在VAE被扩展为 维的高斯分布 。而在给定 的条件下, 。这里采用神经网络来逼近均值和方差,而不通过重参数化技巧这些直接去算(太麻烦了)。那么均值和方差是一个以 为自变量, 为参数的函数。那么,假设条件可以总结为:
其中
推导到了这里有个什么问题呢?因为
实际上这里就是贝叶斯推断中一个很常见的现象,即为归一化因子计算困难。
本小节主要从建模的角度介绍了VAE,实际上这就是一个Latent Variable Model。而GMM是
VAE的推断和学习
上一小节中简要的描述了VAE的模型表示,下图则是VAE的模型图。

假设

前面已经讲过很多遍了,通常方法可以将
然后采用EM算法求解,EM算法是一种基于时间的迭代算法,之前已经做了详细的解释,大家可以自行查阅,
E-step为:当
M-step为:
但是,肯定EM算法是用不了的,原因很简单
然后,关于

其中,
实际上大家会发现,所谓的VAE不过是“新瓶装旧酒”。只不过是用之前的技术对当前的概念进行了包装而已。大家可以关注一下这两项,
而
以上就是对公式(6)中结果的详细解释。
小结
本节只是对VAE的简单描述,更深层次的思想可以参考苏建林的blog。本节主要介绍了VAE的模型表示和推断学习过程。有关变分推断的部分,请大家自行阅读“变分推断”中的SGVI方法和“近似推断”那一小节,其中都做了详细的描述。我觉得本章的可读点在,1.从GMM模型中引出了VAE,VAE不过是GMM的进阶版。2.进阶以后发现维度太高,后验分布
其实VAE不过是“新瓶装旧酒”,本身并没有什么技术的革新,用到的算法和思想都是比较老的。
分类:
人工智能标签:
人工智能作者介绍