解析Variational AutoEncoder(VAE) |
您所在的位置:网站首页 › 高斯分布kl散度在哪本书上 › 解析Variational AutoEncoder(VAE) |
数月前听在做推荐系统的同事提了一下VAE这个模型,因为以前没用过,出于好奇便稍微研究了一下.虽然从深度学习的角度去看并不复杂,但是发现从贝叶斯概率的视角去理解并不是那么显然。 鉴于这是备受推崇的两大深度生成模型之一,想必会有可取之处。加之从我个人的思维习惯和直觉来看,这东西十分颇有深意,于是早就想来说道说道这个东西,然后因为前段时间一直一回家就提不起劲什么的,在拖了这么久之后总算有了这篇文章. 模型总览 AutoEncoder在说VAE之前,先来看一下它的前身AutoEncoder(AE). AE是非常知名的自编码器,它通过自监督的训练方式,能够从原始特征获得一个潜在的特征编码,实现了自动化的特征工程,并且达到了降维和泛化的目的。 它的网络结构很简单,有编码和解码两个部分组成: 容易看出,之所以是自监督就是因为网络的target即是input本身,因此不需要额外的标签工作,虽然它由编码器和解码器两个部分组成,但是,显然从自编码器这个名字就可以看出,AE的重点在于编码,即得到这个隐藏层的向量,作为input的潜在特征,这是常见的一种embedding的一种方式。而解码的结果,基于训练目标,如果损失足够小的话,将会与input相同,从这一点上看解码的值没有任何实际意义,除了通过增加误差来补充平滑一些初始的零值或有些许用处。因为,从输入到输出的整个过程,都是基于已有的训练数据的映射,尽管隐藏层的维度通常比输入层小很多,但隐藏层的概率分布依然只取决于训练数据的分布,这就导致隐藏状态空间的分布并不是连续的,于是如果我们随机生成隐藏层的状态,那么它经过解码将很可能不再具备输入特征的特点,因此想通过解码器来生成数据就有点强模型所难了。 Variational AutoEncoder正是因为以上的这些原因,有大佬就对AE的隐藏层做了些改动,得到了VAE。 VAE将经过神经网络编码后的隐藏层假设为一个标准的高斯分布,然后再从这个分布中采样一个特征,再用这个特征进行解码,期望得到与原始输入相同的结果,损失和AE几乎一样,只是增加编码推断分布与标准高斯分布的KL散度的正则项,显然增加这个正则项的目的就是防止模型退化成普通的AE,因为网络训练时为了尽量减小重构误差,必然使得方差逐渐被降到0,这样便不再会有随机采样噪声,也就变成了普通的AE。 没错,我们先抛开变分,它就是这么简单的一个假设... 仔细想一下,就会觉得妙不可言。 它妙就妙在它为每个输入 读了上面的内容之后,你应该对VAE模型有了一个较为直观和感性的认知,但是可能会疑惑所谓的变分到底在哪里? 放心,变分并没有被作者吃掉,接下来,我们就从变分推断的角度,对VAE进行一个理性的推导。有了上面的基础,再读下面的内容时就会轻松愉快很多。 变分推断变分自编码器(VAE)的想法和名字的由来便是变分推断了,那么什么是变分推断呢?
变分推断是MCMC搞不定场景的一种替代算法,它考虑一个贝叶斯推断问题,给定观测变量 有了变分推断的认知,我们再回过头去看一下VAE模型的整体框架,VAE就是将AE的编码和解码过程转化为了一个贝叶斯概率模型:
我们的训练数据即为观测变量 接下来,基于上面变分推断的思想,我们假设变分分布 正如前面所提到的AE潜变量的局限性,我们希望VAE的潜变量分布 我们先来看一下编码部分,我们希望拟合一个分布 值得一提的是,很多地方实际使用的 解码,即从潜变量 知道了分布类型,那计算 高斯分布
伯努利分布
假设伯努利的二元分布是 然后,将编码和解码部分组合到一起,就形成了完整的VAE网络。 一点微不足道的技巧训练的时候似乎出了点问题。从编码得到的分布 都推到这了你跟我说没法训练??? 差点喷出一口老血... 好在这里可以使用一个叫做重参数(reparametrisation trick) 的技巧:
真是妙呀,这样一来将采样变成了一个数值变换,整个过程便可导了~~~ 这样,训练好模型之后,我们可以直接将解码部分拿出来,通过标准高斯分布随机采样源源不断的生成数据了。 延伸的一些思考下面仅代表我个人的一些直觉和思考,姑且一看,或代表了一种发展的方向。 VAE中使用神经网络来拟合高斯分布的想法独树一帜,对很多任务能带来启发。神经网络在特征化训练数据的过程无异于海量数据的管中窥豹,但是想要让模型超脱于豹,而像人一样产生对相似的猫、老虎...之类的概念,VAE的这种思想颇有一些意味。 参考资料 Auto-Encoding Variational Bayes Understanding Variational Autoencoders |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |