变分边界详解

起因

当时看VAE论文时有这么一段,但是看完直接一头雾水,这都那跟哪,第一个公式咋做的变换就变出那么一堆。网上搜了很多博客都语焉不详,只好自己来写一篇,希望能解答后来人的疑惑。

公式1

参考文章:证据下界(ELBO)、EM算法、变分推断、变分自编码器(VAE)和混合高斯模型(GMM)

解释一下,我们之前都是用MLE计算损失, l o g p ( x ∣ θ ) logp(x|\theta) logp(x∣θ)和 l o g p θ ( x ) logp_{\theta}(x) logpθ(x)是一样的,数分和统计学写法习惯不同。第一种理解同上,可以结合VAE模型理解他的解释,这个解释比较抽象。

第二种理解是以信息论的角度,信息熵= E [ − l o g p θ ( x ) ] E[-logp_{\theta}(x)] E[−logpθ(x)]。信息熵越小,说明系统越稳定,不确定程度越低。
L [ θ ] = a r g m i n θ E [ − l o g p θ ( x ) ] = a r g m a x θ E [ l o g p θ ( x ) ] L[\theta]=argmin_\theta E[-logp_{\theta}(x)]=argmax_\theta E[logp_{\theta}(x)] L[θ]=argminθE[−logpθ(x)]=argmaxθE[logpθ(x)]

推导公式1:(引入一个隐变量z,z可以想象成VAE编码器计算出来的均值和方差的随机变量,对应分布q(z))
l o g p θ ( x ) = l o g p θ ( x , z ) − l o g p θ ( z ∣ x ) = l o g p θ ( x , z ) q ( z ) − l o g p θ ( z ∣ x ) q ( z ) logp_\theta(x) = logp_\theta(x,z) - logp_\theta(z|x)= log\frac{p_\theta(x,z)}{q(z)} - log\frac{p_\theta(z|x)}{q(z)} logpθ(x)=logpθ(x,z)−logpθ(z∣x)=logq(z)pθ(x,z)−logq(z)pθ(z∣x)

方程两边同时求期望:
具体推到过程看大佬的,白板机器学习

公式2

证明如下:

DK >= 0,所以可证公式2。

DK >= 0证明结果如下,写的不清楚请参考其他博客,证明很多,实在懒得敲了见谅。

公式3

计算结果如下,写的不清楚请参考其他博客,证明很多,实在懒得敲了见谅。

相关推荐
Dizzy.51717 分钟前
数据结构(查找)
数据结构·学习·算法
分别努力读书3 小时前
acm培训 part 7
算法·图论
武乐乐~3 小时前
欢乐力扣:赎金信
算法·leetcode·职场和发展
'Debug3 小时前
算法从0到100之【专题一】- 双指针第一练(数组划分、数组分块)
算法
Fansv5874 小时前
深度学习-2.机械学习基础
人工智能·经验分享·python·深度学习·算法·机器学习
yatingliu20195 小时前
代码随想录算法训练营第六天| 242.有效的字母异位词 、349. 两个数组的交集、202. 快乐数 、1. 两数之和
c++·算法
uhakadotcom5 小时前
Google DeepMind最近发布了SigLIP 2
人工智能·算法·架构
三年呀6 小时前
计算机视觉之图像处理-----SIFT、SURF、FAST、ORB 特征提取算法深度解析
图像处理·python·深度学习·算法·目标检测·机器学习·计算机视觉
淡黄的Cherry6 小时前
istio实现灰度发布,A/B发布, Kiali网格可视化(二)
java·算法·istio
Onlooker1296 小时前
LC-单词搜索、分割回文串、N皇后、搜索插入位置、搜索二维矩阵
算法·leetcode