机器学习-白板推导系列笔记(三十二)-VAE

此文章主要是结合哔站shuhuai008大佬的白板推导视频:变分自编码器_44min

全部笔记的汇总贴:机器学习-白板推导系列笔记

涉及到变分推断和重参数化技巧的内容,建议回顾一下白板推导系列笔记(十二)-变分推断

一、模型表示

VAE实质是一个隐变量模型(Latent Variable Model),我们通过GMM(混合高斯模型)来对比。

GMM VAE
k k k个高斯分布混合 无限个高斯分布的混合
z ∼ C a t e g o r i c a l    D i s t z\sim Categorical\;Dist zCategoricalDist z ∼ N ( 0 , I )        P θ ( x / z ) ∼ N ( μ θ ( z ) , Σ θ ( z ) ) z\sim N(0,I)\;\;\;P_\theta(x/z)\sim N(\mu_\theta(z),\Sigma_\theta(z)) zN(0,I)Pθ(x/z)N(μθ(z),Σθ(z))

所以VAE的分布为:
P θ ( x ) = ∫ z P θ ( x , z ) d z = ∫ z P θ ( z ) ⋅ P θ ( x ∣ z ) d z P_\theta(x)=\int_z P_\theta(x,z){d}z=\int_z P_\theta(z)\cdot P_\theta(x|z){d}z Pθ(x)=zPθ(x,z)dz=zPθ(z)Pθ(xz)dz
这个 P θ ( x ) P_\theta(x) Pθ(x)是intractable的,又因为 P θ ( z ∣ x ) = P θ ( z ) ⋅ P θ ( x ∣ z ) P θ ( x ) P_\theta(z|x)=\frac{P_\theta(z)\cdot P_\theta(x|z)}{P_\theta(x)} Pθ(zx)=Pθ(x)Pθ(z)Pθ(xz),所以它也是intractable的。

Categorical Dist:

z z z 1 2 ⋯ \cdots k k k
p p p p 1 p_1 p1 p 2 p_2 p2 ⋯ \cdots p k p_k pk

∑ i = 1 K p i = 1                      x ∣ z = i ∼ N ( x ∣ μ i , Σ i ) \sum_{i=1}^K p_i=1\;\;\;\;\;\;\;\;\;\;x|z=i\sim N(x|\mu_i,\Sigma_i) i=1Kpi=1xz=iN(xμi,Σi)

二、推断学习

在这里插入图片描述

P ( z ) = N ( 0 , I ) P(z)=N(0,I) P(z)=N(0,I)
P θ ( x ∣ z ) = N ( μ θ ( z ) , Σ θ ( z ) ) P_\theta(x|z)= N(\mu_\theta(z),\Sigma_\theta(z)) Pθ(xz)=N(μθ(z),Σθ(z))
P θ ( z ∣ x )    i s    i n t r a c t a b l e      我 们 用 q ϕ ( z ∣ x ) 来 逼 近 它 P_\theta(z|x) \;is\;intractable\;\;我们用q_\phi(z|x)来逼近它 Pθ(zx)isintractableqϕ(zx)

回顾一下EM:

log ⁡ P ( x ) = E L B O + K L ( q ϕ ( z ∣ x ) ∣ ∣ p θ ( z ∣ x ) ) \log P(x)=ELBO+KL(q_\phi(z|x)||p_\theta(z|x)) logP(x)=ELBO+KL(qϕ(zx)pθ(zx))
E-Step:当 q = p θ ( z ∣ x ) q=p_\theta(z|x) q=pθ(zx)时,KL=0,expectation is ELBO
M-Step: θ = arg max ⁡ E L B O = arg max ⁡ E p θ ( z ∣ x ) [ log ⁡ p θ ( x , z ) ] \theta=\argmax ELBO=\argmax E_{p_\theta(z|x)}[\log p_\theta(x,z)] θ=argmaxELBO=argmaxEpθ(zx)[logpθ(x,z)]

所以,

< θ ^ , ϕ ^ > = arg min ⁡ K L ( q ϕ ( z ∣ x ) ∣ ∣ p θ ( z ∣ x ) ) = arg max ⁡ E L B O = arg max ⁡ E q ϕ ( z ∣ x ) [ log ⁡ p θ ( x , z ) ] + H [ q ϕ ] = arg max ⁡ E q ϕ ( z ∣ x ) [ log ⁡ ( p θ ( x ∣ z ) + p θ ( z ) ) ] + H [ q ϕ ] = arg max ⁡ E q ϕ ( z ∣ x ) [ log ⁡ p θ ( x ∣ z ) ] − K L ( q ϕ ( z ∣ x ) ∣ ∣ p ( z ) ) <\hat \theta,\hat\phi>=\argmin KL(q_\phi(z|x)||p_\theta(z|x))\\=\argmax ELBO\\=\argmax E_{q_\phi(z|x)}[\log p_\theta(x,z)] +H[q_\phi]\\=\argmax E_{q_\phi(z|x)}[\log (p_\theta(x|z)+p_\theta(z))] +H[q_\phi]\\=\argmax E_{q_\phi(z|x)}[\log p_\theta(x|z)] -KL(q_\phi(z|x)||p(z)) <θ^,ϕ^>=argminKL(qϕ(zx)pθ(zx))=argmaxELBO=argmaxEqϕ(zx)[logpθ(x,z)]+H[qϕ]=argmaxEqϕ(zx)[log(pθ(xz)+pθ(z))]+H[qϕ]=argmaxEqϕ(zx)[logpθ(xz)]KL(qϕ(zx)p(z))

采用SGVI/SGVB/SVI/Amortized Inference,也就是利用神经网络和重参数化技巧来解决这个优化问题。

ε ∼ N ( 0 , I ) z ∣ x ∼ N ( μ ϕ ( x ) , Σ ϕ ( x ) ) \varepsilon \sim N(0,I)\\z|x\sim N(\mu_\phi(x),\Sigma_\phi(x)) εN(0,I)zxN(μϕ(x),Σϕ(x))
z = μ ϕ ( x ) + Σ ϕ 1 2 ( x ) ⋅ ε z=\mu_\phi(x)+\Sigma_\phi^{\frac12}(x)\cdot\varepsilon z=μϕ(x)+Σϕ21(x)ε
                                               \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; 在这里插入图片描述                                                  \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; 在这里插入图片描述

   \;
   \;
   \;
   \;

下一章传送门:白板推导系列笔记(三十三)-流模型

猜你喜欢

转载自blog.csdn.net/qq_41485273/article/details/112397121