论文Autoencoding variational inference for topic models阅读笔记

Topic model回顾

经典的topic model的模型如下图所示
论文Autoencoding variational inference for topic models阅读笔记
其中
θDir(α)znMulti(θ)wnMulti(β) \theta \sim Dir(\alpha) \\ z_{n} \sim Multi(\theta) \\ w_{n} \sim Multi(\beta)
所以可以得到文档WW的似然函数:
p(Wα,β)=θp(θα)n=1Nznp(wnβ,zn)p(znθ)dθ(1)\tag{1}p(W|\alpha, \beta) = \int_{\theta} p(\theta|\alpha) \prod_{n=1}^{N}\sum_{z_{n}} p(w_{n}|\beta, z_{n})p(z_{n}|\theta) d\theta
但是由于变量之间的耦合性,要求解上式很困难,所以一般应用平均场理论(mean-field)来简化模型。简化后的模型如下图所示。
论文Autoencoding variational inference for topic models阅读笔记
这样就减少了变量之间的耦合性。

推导似然函数的变分下界(ELBO)

(1)式的对数似然函数为:
logp(Wα,β)=logθzp(θ,z,Wα,β)dθ=logθzp(θ,z,Wα,β)q(θ,zγ,ϕ)q(θ,zγ,ϕ)dθ=logEq(θ,zγ,ϕ)p(θ,z,Wα,β)q(θ,zγ,ϕ)Eqlogp(θ,z,Wα,β)q(θ,zγ,ϕ)(2) \begin{aligned} \tag{2} logp(W|\alpha, \beta) = & log \int_{\theta} \sum_{z}p(\theta, z, W|\alpha, \beta)d\theta \\ = & log \int_{\theta} \sum_{z}{p(\theta, z, W|\alpha, \beta)q(\theta, z|\gamma, \phi) \over q(\theta, z|\gamma, \phi)}d\theta \\ = & log E_{q(\theta, z|\gamma, \phi)}{p(\theta, z, W|\alpha, \beta) \over q(\theta, z|\gamma, \phi)} \\ \ge & E_{q}log{p(\theta, z, W|\alpha, \beta) \over q(\theta, z|\gamma, \phi)} \end{aligned}
(2)式的第二行引入了变分后验q(θ,zγ,ϕ)q(\theta, z|\gamma, \phi),第三行到第四行的推导使用了Jensen不等式。(2)式最后的推导结果也叫做ELBO,论文中作者令其为L(γ,ϕα,β)L(\gamma, \phi|\alpha, \beta),下面开始化简ELBO。
ELBO=L(γ,ϕα,β)=Eqlogp(θ,z,Wα,β)q(θ,zγ,ϕ)=Eqlogp(θ,zα,β)p(Wθ,z,α,β)q(θ,zγ,ϕ)=DKL[q(θ,zγ,ϕ)p(θ,zα,β)]+Eq(θ,zγ,ϕ)[logp(Wθ,z,α,β)](3) \begin{aligned} \tag{3} ELBO = L(\gamma, \phi|\alpha, \beta) = &E_{q}log{p(\theta, z, W|\alpha, \beta) \over q(\theta, z|\gamma, \phi)} \\ = & E_{q}log{p(\theta, z|\alpha, \beta)p(W|\theta, z,\alpha, \beta) \over q(\theta, z|\gamma, \phi)} \\ = & -D_{KL}[q(\theta, z|\gamma, \phi)|| p(\theta, z|\alpha, \beta)] + E_{q(\theta, z|\gamma, \phi)}[logp(W|\theta, z,\alpha, \beta)] \end{aligned}
(3)式就是最终的似然函数的下界,也就是模型的损失函数。(3)式在形式上与变分自编码器的损失函数高度一致。第一项衡量了变分后验q(θ,zγ,ϕ)q(\theta, z|\gamma, \phi)与隐变量真实的后验p(θ,zα,β)p(\theta, z|\alpha, \beta)之间的差异,第二项可以看作是通过变分后验求得的隐变量θ,z\theta, z生成的文档,相当于一个生成器。第二项也叫做重构误差。

一般在计算第二项的时候要使用重参数化技巧(reparameterization trick),由于是两个隐变量,所以要分别对zθz和\theta使用重参数化技巧。

z, θ\theta的重参数化

首先看zzzz服从多项式分布,对zz进行重参数化存在一定的困难,但是由于z很容易被求和,所以本文作者就没有考虑zz的重参数化,而是直接collapsing z(我也没有懂这是什么意思,大致就是不用考虑z的重参数化了)collapsing z之后就只需要考虑θ\theta的重参数化了,(1)式的似然函数就变成了下式:
p(Wα,β)=θp(θα)n=1Np(wnβ,θ)dθ(4) \tag{4}p(W|\alpha, \beta) = \int_{\theta} p(\theta|\alpha) \prod_{n=1}^{N} p(w_{n}|\beta, \theta) d\theta
上式中p(wnβ,θ)p(w_{n}|\beta, \theta)是多项式分布,β\beta是要求解的topic-word矩阵。
那么相应的(3)式也变成下式:
L(γα,β)=DKL[q(θγ)p(θα)]+Eq(θγ)[logp(Wθ,α,β)](5) \tag{5} L(\gamma|\alpha, \beta) = -D_{KL}[q(\theta|\gamma)|| p(\theta|\alpha)] + E_{q(\theta|\gamma)}[logp(W|\theta, \alpha, \beta)]
接下来考虑θ\theta的重参数化,由于p(θα)p(\theta|\alpha)服从DirDir分布,而DirDir分布很难进行重参数化,所以本文作者使用 laplacelaplace 近似去近似DirDir分布,(laplace近似就是使用高斯分布去近似另一个分布,高斯分布可以很好的进行重参数化)。
所以p(θα)p(\theta|\alpha)是高斯分布(p(θα)=p(θμ1,Σ1)p(\theta|\alpha)= p(\theta|\mu_{1}, \Sigma_{1})),相应的q(θγ)q(\theta|\gamma)也为高斯分布(q(θγ)=q(θμ0,Σ0)q(\theta|\gamma)=q(\theta|\mu_{0}, \Sigma_{0})),那么(5)式的第一项就是两个高斯分布的KL散度,第二项可以使用重参数化求解。(5)式变为下式:

论文Autoencoding variational inference for topic models阅读笔记
μ0=fμ0(W)Σ0=fΣ0(W)\mu_{0}=f_{\mu_{0}}(W), \Sigma_{0}= f_{\Sigma_{0}}(W)ff表示神经网络,WW表示输入文档,这两个式子表示μ0,Σ0\mu_{0},\Sigma_{0}是通过神经网络变分推断得到的。
本篇论文的大致思想就结束了。