https://zhuanlan.zhihu.com/p/434394556
此总结首次完成于2021年4月25日,今日再次遇到vae模型推导问题,翻出一看,豁然开朗,故想分享于知乎社区,与大家共同分享,如有错误或不同见解请多多批评指正与交流。
摘要
VAE 模型 loss 的详细推导过程,变分自编码器的理解。
01
1.1 VAE模型基本网络结构
变分自编码器 (VAE) 由编码器和解码器两个部分组成。特征 x 输入编码器 生成编码特征 z,z 输入解码器 生成重构的 ; 通过生成角度来理解,该网络又可以分成推理网络和生成网络两部分。
1.2 与 的理解
是编码器/推理网络, 该分布是真实的、复杂的,也是我们想去逼近的;而 是我们自己定的,用来逼近或者约束 的一个分布, 是简单的,可主观决定的。
1.3 说明
变分自编码器所谓变分,指的是该模型存在泛函 ,解决该泛函问题需要采用变分法,也就是寻找一个函数/参数 。
02
首先需要明确VAE模型的目的就是为了使得似然函数 最大。
2.1 使得似然函数 最大,为什么转化成使得 (变分下界)最大?
由贝叶斯定理:
公式1变形有:
公式2左右对 取 有:
变形有,其中 为任一分布
公式3两端对 求期望:
将公式4期望展开有:
由kl散度定义, 有:
令 ,并且由定义知道 有:
当且仅当 时, ,否则, ,将 视为一个以 为参数的泛函有:
改变 并不能影响 的大小,而且 大于 ,那么欲似然 更大,可从 下手,当 越大的情况下,似然 就会更大
所以可以来最大化 使得似然最大,使用神经网络的时候要注意,对 进行优化,优化目标使得 最小即可
2.2 对 再推导
因为对于 , 与 独立,所以为了与encoder 接近,故将 ,修改为 ,有:
设重构的x服从于高斯分布( ),则有
设 服从于多元高斯分布 ,另 (认为设定的)服从于 的分布,有(15)式:
二阶矩为 ,所以有:
根据重构项和KL散度项的约束,我们可以得出(19)式
!!!!注意, 我们想让他越大越好,但在神经网络优化中,我们对 先取负,转化成- 再优化,此时,- 越小越好
03
根据以往经验,容易犯错误的地方有,使用神经网络时候,一定要对ELBO先取负再优化!
很久之前发布的文件与代码
https://gitee.com/sulei_ustb/vae-model
猜您喜欢:
一顿午饭外卖,成为CV视觉的前沿弄潮儿!
超110篇!CVPR 2021最全GAN论文汇总梳理!
超100篇!CVPR 2020最全GAN论文梳理汇总!
拆解组新的GAN:解耦表征MixNMatch
StarGAN第2版:多域多样性图像生成
附下载 | 《可解释的机器学习》中文版
附下载 |《TensorFlow 2.0 深度学习算法实战》
附下载 |《计算机视觉中的数学方法》分享
《基于深度学习的表面缺陷检测方法综述》
《零样本图像分类综述: 十年进展》
《基于深度神经网络的少样本学习综述》