当前位置:   article > 正文

【科研基础】VAE: Auto-encoding Variational Bayes

auto-encoding variational bayes

[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

1-什么是VAE

1.1-目标

x \mathbf{x} x:为 z \mathbf{z} z的采样,生成自条件分布 p θ ∗ ( x ∣ z ) p_{\theta^*}(\mathbf{x}|\mathbf{z}) pθ(xz) θ ∗ \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:

1.2-Intractability:

  • p θ ( x ) = ∫ p θ ( z ) p θ ( x ∣ z ) d z
    pθ(x)=pθ(z)pθ(x|z)dz
    pθ(x)=pθ(z)pθ(xz)dz
    ,因为在实际情况下,潜在变量 z \mathbf{z} z的维度可能很高,或者先验分布 p θ ∗ ( z ) p_{\boldsymbol{\theta}^*}(\mathbf{z}) pθ(z)和条件分布 p θ ∗ ( x ∣ z ) p_{\theta^*}(\mathbf{x}|\mathbf{z}) pθ(xz)可能是复杂的非线性函数。因此,直接计算这个积分是不可行的。

VAE采用了一种变分推断的方法来近似计算这个积分。具体来说,VAE使用了变分下界(ELBO),通过优化ELBO来近似计算这个积分。这种方法将原本的推断问题转化为一个优化问题,并且通过优化方法(如随机梯度下降)来求解。尽管使用ELBO进行近似推断使得VAE的训练变得可行,但这仍然是一个近似方法,其精度取决于所选的变分分布族和优化算法的选择。

  • p θ ( z ∣ x ) = p θ ( x ∣ z ) p θ ( z ) / p θ ( x ) p_{\boldsymbol{\theta}}(\mathbf{z}|\mathbf{x})=p_{\boldsymbol{\theta}}(\mathbf{x}|\mathbf{z})p_{\boldsymbol{\theta}}(\mathbf{z})/p_{\boldsymbol{\theta}}(\mathbf{x}) pθ(zx)=pθ(xz)pθ(z)/pθ(x)中的 p θ ( x ) p_{\boldsymbol{\theta}}(\mathbf{x}) pθ(x)未知 (贝叶斯公式,在观察到数据后,对事件发生概率进行推断的过程,通过计算后验概率,根据观察到的数据进行推断,并更新对事件发生概率的认识)。

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)的分布一致,此先验为共轭先验。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1.3-Approximation use NN:

p θ ( z ∣ x ) ≅ q ϕ ( z ∣ x ) p_\theta(\mathbf{z}|\mathbf{x})\cong q_\phi(\mathbf{z}|\mathbf{x}) pθ(zx)qϕ(zx),用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))=zqϕ(z∣x)log(qϕ(z∣x)pθ(z∣x))=zqϕ(z∣x)log qϕ(z∣x)pθ(x)pθ(x,z) =zqϕ(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ϕ(zx)∣∣pθ(zx))+zqϕ(zx)log(qϕ(zx)pθ(x,z))=DKL(qϕ(zx)∣∣pθ(zx))+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ϕ(zx)∣∣pθ(zx))最小化;\

1.4-最大化 L ( θ , ϕ ; x ) L(\theta,\phi;x) L(θ,ϕ;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)=zqϕ(zx)log(qϕ(zx)pθ(x,z))=zqϕ(zx)log(qϕ(zx)pθ(xz)pθ(z))=zqϕ(zx)[log(pθ(xz))+log(qϕ(zx)pθ(z))]=Eqϕ(zx)[log(pθ(xz))]DKL(qϕ(zx)∣∣pθ(z))
所以下面的目标是估计 E q ϕ ( z ∣ x ) [ log ⁡ ( p θ ( x ∣ z ) ) ] E_{q_\phi(z|x)}[\log(p_\theta(x|z))] Eqϕ(zx)[log(pθ(xz))](Reconstruction Loss,从z生成的x和输入的x尽可能接近,这一样才会变大)和 D K L ( q ϕ ( z ∣ x ) ∣ ∣ p θ ( z ) ) D_{KL}(q_\phi(z|x)||p_\theta(z)) DKL(qϕ(zx)∣∣pθ(z))(Regularization Loss,希望得到的潜在表示的分布 q ϕ ( z ∣ x ) q_\phi(z|x) qϕ(zx)和先验的分布 p θ ( z ) p_\theta(z)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/932937
推荐阅读
相关标签
  

闽ICP备14008679号