赞
踩
[1]Kingma, Diederik P., and Max Welling. “Auto-encoding variational bayes.” arXiv preprint arXiv:1312.6114 (2013).
[2] [论文简析]VAE: Auto-encoding Variational Bayes[1312.6114]
[3] The Reparameterization Trick
[4] 变分法的基本原理是什么?
[5] 变分自编码器(一):原来是这么一回事
[6].VAE 复现 https://github.com/wiseodd/generative-models
x \mathbf{x} x:为 z \mathbf{z} z的采样,生成自条件分布 p θ ∗ ( x ∣ z ) p_{\theta^*}(\mathbf{x}|\mathbf{z}) pθ∗(x∣z)( θ ∗ \theta^* θ∗表示ground truth而 θ \theta θ表示解码器参数),;
z \mathbf{z} z: x \mathbf{x} x更本质的描述(不可直接观测),来自先验分布 p θ ∗ ( z ) p_{\boldsymbol{\theta}^*}(\mathbf{z}) pθ∗(z);
目标是是根据 x \mathbf{x} x能够得到 z \mathbf{z} z:
VAE采用了一种变分推断的方法来近似计算这个积分。具体来说,VAE使用了变分下界(ELBO),通过优化ELBO来近似计算这个积分。这种方法将原本的推断问题转化为一个优化问题,并且通过优化方法(如随机梯度下降)来求解。尽管使用ELBO进行近似推断使得VAE的训练变得可行,但这仍然是一个近似方法,其精度取决于所选的变分分布族和优化算法的选择。
p ( θ ∣ x ) = p ( θ ) p ( x ∣ θ ) / p ( x ) p(\theta | x)=p(\theta)p(x|\theta)/p(x) p(θ∣x)=p(θ)p(x∣θ)/p(x)
什么是后验概率?有了新的观测数据x后,对先验 θ \theta θ的更新,当先验 p ( θ ) p(\theta) p(θ)与后验 p ( θ ∣ x ) p(\theta | x) p(θ∣x)的分布一致,此先验为共轭先验。
p θ ( z ∣ x ) ≅ q ϕ ( z ∣ x ) p_\theta(\mathbf{z}|\mathbf{x})\cong q_\phi(\mathbf{z}|\mathbf{x}) pθ(z∣x)≅qϕ(z∣x),用KL散度评估两个分布的相似程度:
D K L ( q ϕ ( z ∣ x ) ∣ ∣ p θ ( z ∣ x ) ) = − ∑ z q ϕ ( z ∣ x ) log ( p θ ( z ∣ x ) q ϕ ( z ∣ x ) ) = − ∑ z q ϕ ( z ∣ x ) log ( p θ ( x , z ) p θ ( x ) q ϕ ( z ∣ x ) ) = − ∑ z q ϕ ( z ∣ x ) [ log ( p θ ( x , z ) q ϕ ( z ∣ x ) ) − log ( p θ ( x ) ) ] DKL(qϕ(z∣x)∣∣pθ(z∣x))=−z∑qϕ(z∣x)log(qϕ(z∣x)pθ(z∣x))=−z∑qϕ(z∣x)log
qϕ(z∣x)pθ(x)pθ(x,z)
=−z∑qϕ(z∣x)[log(qϕ(z∣x)pθ(x,z))−log(pθ(x))]
log ( p θ ( x ) ) \log(p_\theta(\mathbf{x})) log(pθ(x))与 z \mathbf{z} z无关是常数,所以和 q ϕ ( z ∣ x ) q_\phi(\mathbf{z|x}) qϕ(z∣x)相乘可以提到求和符号外面,而 q ϕ ( z ∣ x ) q_\phi(\mathbf{z|x}) qϕ(z∣x)对 z \mathbf{z} z求和结果为1,等号左右换项:
log ( p θ ( x ) ) = K L ( q ϕ ( z ∣ x ) ∣ ∣ p θ ( z ∣ x ) ) + ∑ z q ϕ ( z ∣ x ) log ( p θ ( x , z ) q ϕ ( z ∣ x ) ) = D K L ( q ϕ ( z ∣ x ) ∣ ∣ p θ ( z ∣ x ) ) + L ( θ , ϕ ; x ) \end{aligned} log(pθ(x))=KL(qϕ(z∣x)∣∣pθ(z∣x))+z∑qϕ(z∣x)log(qϕ(z∣x)pθ(x,z))=DKL(qϕ(z∣x)∣∣pθ(z∣x))+L(θ,ϕ;x)
左边是常数,KL散度非负,所以最大化 L ( θ , ϕ ; x ) L(\theta,\phi;x) L(θ,ϕ;x)(称之为Variational lower bound)就可以实现 D K L ( q ϕ ( z ∣ x ) ∣ ∣ p θ ( z ∣ x ) ) D_{KL}(q_\phi(z|x)||p_\theta(z|x)) DKL(qϕ(z∣x)∣∣pθ(z∣x))最小化;\
L ( θ , ϕ ; x ) = ∑ z q ϕ ( z ∣ x ) log ( p θ ( x , z ) q ϕ ( z ∣ x ) ) = ∑ z q ϕ ( z ∣ x ) log ( p θ ( x ∣ z ) p θ ( z ) q ϕ ( z ∣ x ) ) = ∑ z q ϕ ( z ∣ x ) [ log ( p θ ( x ∣ z ) ) + log ( p θ ( z ) q ϕ ( z ∣ x ) ) ] = E q ϕ ( z ∣ x ) [ log ( p θ ( x ∣ z ) ) ] − D K L ( q ϕ ( z ∣ x ) ∣ ∣ p θ ( z ) ) L(θ,ϕ;x)=z∑qϕ(z∣x)log(qϕ(z∣x)pθ(x,z))=z∑qϕ(z∣x)log(qϕ(z∣x)pθ(x∣z)pθ(z))=z∑qϕ(z∣x)[log(pθ(x∣z))+log(qϕ(z∣x)pθ(z))]=Eqϕ(z∣x)[log(pθ(x∣z))]−DKL(qϕ(z∣x)∣∣pθ(z))
所以下面的目标是估计 E q ϕ ( z ∣ x ) [ log ( p θ ( x ∣ z ) ) ] E_{q_\phi(z|x)}[\log(p_\theta(x|z))] Eqϕ(z∣x)[log(pθ(x∣z))](Reconstruction Loss,从z生成的x和输入的x尽可能接近,这一样才会变大)和 D K L ( q ϕ ( z ∣ x ) ∣ ∣ p θ ( z ) ) D_{KL}(q_\phi(z|x)||p_\theta(z)) DKL(qϕ(z∣x)∣∣pθ(z))(Regularization Loss,希望得到的潜在表示的分布 q ϕ ( z ∣ x ) q_\phi(z|x) qϕ(z∣x)和先验的分布 p θ ( z ) p_\theta(z)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。