起因
当时看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
计算结果如下,写的不清楚请参考其他博客,证明很多,实在懒得敲了见谅。