Auto-Encoding Variational Bayes

博客介绍了VAE概率图模型,包括生成过程和推断过程。目标是使likelihood最大,但无法直接优化。通过引入变分后验得到ELBO,其第二部分有解析解,第一部分用MCMC方法近似,结合reparameterization trick可获较精确结果,还说明了数据集处理方式。

VAE概率图模型如下
在这里插入图片描述
实线为生成过程:pθ(z)pθ(x∣z)p_{\boldsymbol{\theta}}(\mathbf{z}) p_{\boldsymbol{\theta}}(\mathbf{x} | \mathbf{z})pθ(z)pθ(xz),虚线为推断过程:qϕ(z∣x)q_{\phi}(\mathbf{z} | \mathbf{x})qϕ(zx)近似真实后验分布pθ(z∣x)p_{\boldsymbol{\theta}}(\mathbf{z} | \mathbf{x})pθ(zx)

对于数据X={x(i)}i=1N\mathbf{X}=\left\{\mathbf{x}^{(i)}\right\}_{i=1}^{N}X={x(i)}i=1N,我们的目标是使likelihood∑i=1Nlog⁡pθ(x(i))\sum_{i=1}^{N} \log p_{\theta}\left(\mathbf x^{(i)}\right)i=1Nlogpθ(x(i))最大,但∑i=1Nlog⁡pθ(x(i))=∑i=1Nlog⁡∫z(i)pθ(x(i),z(i))dz(i)\sum_{i=1}^{N} \log p_{\theta}\left(\mathbf x^{(i)}\right)=\sum_{i=1}^{N} \log \int_{\mathbf z^{(i)}} p_{\theta}\left(\mathbf x^{(i)},\mathbf z^{(i)}\right) d \mathbf z^{(i)}i=1Nlogpθ(x(i))=i=1Nlogz(i)pθ(x(i),z(i))dz(i)是没法直接优化的。为了描述方便,先略去x,z\mathbf x,\mathbf zx,z的上标。
首先考虑引入一个变分后验qϕ(z∣x)→pθ(z∣x)q_{\phi}(\mathbf z | \mathbf x) \rightarrow p_{\theta}(\mathbf z | \mathbf x)qϕ(zx)pθ(zx),则KL(qϕ(z∣x)∥pθ(z∣x))=Eqϕ(z∣x)[log⁡qϕ(z∣x)pθ(z∣x)]=Eqϕ(z∣x)[log⁡qϕ(z∣x)pθ(z,x)]+log⁡pθ(x) \begin{aligned} K L\left(q_{\phi}(\mathbf z | \mathbf x) \| p_{\theta}(\mathbf z | \mathbf x)\right) &=E_{q_{\phi}(\mathbf z | \mathbf x)}\left[\log \frac{q_{\phi}(\mathbf z | \mathbf x)}{p_{\theta}(\mathbf z | \mathbf x)}\right] \\ &=E_{q_{\phi}(\mathbf z | \mathbf x)}\left[\log \frac{q_{\phi}(\mathbf z | \mathbf x)}{p_{\theta}(\mathbf z, \mathbf x)}\right]+\log p_{\theta}(\mathbf x) \end{aligned} KL(qϕ(zx)pθ(zx))=Eqϕ(zx)[logpθ(zx)qϕ(zx)]=Eqϕ(zx)[logpθ(z,x)qϕ(zx)]+logpθ(x)所以,log⁡pθ(x)=KL(qϕ(z∣x)∥pθ(z∣x))−Eqϕ(z∣x)[log⁡qϕ(z∣x)pθ(z,x)] \log p_{\theta}(\mathbf x)=K L\left(q_{\phi}(\mathbf z | \mathbf x) \| p_{\theta}(\mathbf z | \mathbf x)\right)-E_{q_{\phi}(\mathbf z | \mathbf x)}\left[\log \frac{q_{\phi}(\mathbf z | \mathbf x)}{p_{\theta}(\mathbf z, \mathbf x)}\right] logpθ(x)=KL(qϕ(zx)pθ(zx))Eqϕ(zx)[logpθ(z,x)qϕ(zx)]KL(⋅∥⋅)≥0K L(\cdot \| \cdot) \geq 0KL()0,那么log⁡pθ(x)≥−Eqϕ(z∣x)[log⁡qϕ(z∣x)pθ(z,x)] \log p_{\theta}(\mathbf x) \geq-E_{q_{\phi}(\mathbf z | \mathbf x)}\left[\log \frac{q_{\phi}(\mathbf z | \mathbf x)}{p_{\theta}(\mathbf z, \mathbf x)}\right] logpθ(x)Eqϕ(zx)[logpθ(z,x)qϕ(zx)]这样我们就得到了ELBOELBOELBOELBO=Eqϕ(z∣x)[log⁡pθ(z,x)qϕ(z∣x)]=Eqϕ(z∣x)[log⁡pθ(x∣z)]−KL(qϕ(z∣x)∥pθ(z)) \begin{aligned} E L B O &=E_{q_{\phi}(\mathbf z | \mathbf x)}\left[\log \frac{p_{\theta}(\mathbf z, \mathbf x)}{q_{\phi}(\mathbf z | \mathbf x)}\right] \\ &=E_{q_{\phi}(\mathbf z | \mathbf x)}\left[\log p_{\theta}(\mathbf x | \mathbf z)\right]-K L\left(q_{\phi}(\mathbf z | \mathbf x) \| p_{\theta}(\mathbf z)\right) \end{aligned} ELBO=Eqϕ(zx)[logqϕ(zx)pθ(z,x)]=Eqϕ(zx)[logpθ(xz)]KL(qϕ(zx)pθ(z))上式的第二部分可以得到解析解,而第一部分只能通过MCMC方法近似得到,再采用reparameterization trick,可以很大程度得到较为精确的近似结果ELB~O=1L∑l=1Llog⁡pθ(x∣zl)−KL(qϕ(z∣x)∥pθ(z)) E \widetilde{L B} O=\frac{1}{L} \sum_{l=1}^{L} \log p_{\theta}\left(\mathbf x | \mathbf z_{l}\right)-K L\left(q_{\phi}(\mathbf z | \mathbf x) \| p_{\theta}(\mathbf z)\right) ELBO=L1l=1Llogpθ(xzl)KL(qϕ(zx)pθ(z))其中zl=gϕ(ϵl,x),ϵl∼p(ϵ)\mathbf z_{l}=g_{\phi}\left(\epsilon_{l}, \mathbf x\right), \epsilon_{l} \sim p(\epsilon)zl=gϕ(ϵl,x),ϵlp(ϵ)。以上都是分析一个数据,对于一个数据集的数据,可以每次采样一个mini-batch近似整个数据即可L=NM∑i=1MELB~O(θ,ϕ;x(i)) L=\frac{N}{M} \sum_{i=1}^{M} E \widetilde{L B} O\left(\theta, \phi ; \mathbf x^{(i)}\right) L=MNi=1MELBO(θ,ϕ;x(i))以上就是VAE的核心内容,一般来说可以取pθ(z)∼N(0,I)pθ(x∣z)∼N(μz,Σz) or Bernulli(pz)qϕ(z∣x)∼N(μx,Σx) \begin{aligned} p_{\theta}(\mathbf z) & \sim N(0, I) \\ p_{\theta}(\mathbf x | \mathbf z) & \sim N\left(\mu_{\mathbf z}, \Sigma_{\mathbf z}\right) \text { or Bernulli}\left(p_{\mathbf z}\right) \\ q_{\phi}(\mathbf z | \mathbf x) & \sim N\left(\mu_{\mathbf x}, \Sigma_{\mathbf x}\right) \end{aligned} pθ(z)pθ(xz)qϕ(zx)N(0,I)N(μz,Σz) or Bernulli(pz)N(μx,Σx)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值