Preliminary
变分推断其实就是当似然度有隐变量z的时候不好算,所以用一个分布q(z)去近似真实的分布p(z|x)
log p ( x ) = E q ( z ) log p ( z , x ) q ( z ) ⎵ ELBO [ q ( z ) ∥ p ( z , x ) ] + KL [ q ( z ) ∥ p ( z ∣ x ) ] ⎵ divergence \log p(\mathbf{x} )=\underbrace{\underset{q(\mathbf{z} )}{\mathbb{E}}\log\frac{p(\mathbf{z} ,\mathbf{x} )}{q(\mathbf{z} )}}_{\text{ELBO } [q(\mathbf{z} )\| p(\mathbf{z} ,\mathbf{x} )]} +\underbrace{\operatorname{KL} [q(\mathbf{z} )\| p(\mathbf{z} |\mathbf{x} )]}_{\text{divergence }} logp(x)=ELBO [q(z)∥p(z,x)] q(z)Elogq(z)p(z,x)+divergence KL[q(z)∥p(z∣x)]
左边一项就是ELBO下界,首先p(x),当x固定的时候,这就是一个常数,这时候,如果q发生变化,那么ELBO和divergence这两个部分的相对大小就会发生变化,当 q ( z ) = p ( z ∣ x ) \displaystyle q(\mathbf{z} )=p(\mathbf{z} |\mathbf{x} ) q(z)=p(z∣x)的时候,我们就得到准确的似然度的值。
目前变分大致有两个方向,一个是用各种方法加强q的拟合能力,典型代表就是normalizing flow,另一个方向就是用各种方法收窄下界的bound,提出一系列新的下界。接来下介绍的就是结合重要采样的思想来收紧下界的方法。
Important Sampling
先介绍一下importance sampling,他的核心思想其实就是当从分布p抽样本不好抽的时候,我把他变成从分布q中抽样本,考虑计算期望的积分:
E x ∼ p ( x ) ( f ( x ) ) = ∫ f ( x ) p ( x ) d x = ∫ f ( x ) p ( x ) q ( x ) q ( x ) d x = E x ∼ q ( x ) ( p ( x ) q ( x ) f ( x ) ) ≈ 1 S ∑ i = 1 S w s f ( x s ) E_{x\sim p( x)}( f( x)) =\int f( x) p( x) dx=\int f( x)\frac{p( x)}{q( x)} q( x) dx=E_{x\sim q( x)}\left(\frac{p( x)}{q( x)} f( x)\right) \approx \frac{1}{S}\sum ^{S}_{i=1} w_{s} f( x_{s}) Ex∼p(x)(f(x))=∫f(x)p(x)dx=∫f(x)q(x)p(x)q(x)dx=Ex∼q(x)(q(x)p(x)f(x))≈S1i=1∑Swsf(xs)
我们称 w s = p ( x s ) q ( x s ) \displaystyle w_{s} =\frac{p( x_{s})}{q( x_{s})} ws=q(xs)p(xs)为important weight。那important sampling的important是什么意思呢?首先这个期望其实是很大部分是取决于p(x)中概率比较大的部分的,所以如果我们能够在这样“重要”的部分集中力量采样,那么这个积分的计算其实也是非常准且高效的,所以一个好的q函数,应该让他尽可能覆盖分布p高概率的部分。
讲到这里,或许你会想到,其实我们本质上就是想要找到一个q尽可能近似分布p,而这不就是变分的思想吗?设
f ( x , z ) = p ( x ∣ z ) , w = p ( z ) q ( z ) f(\mathbf{x} ,\mathbf{z}) =p(\mathbf{x|z} ),\displaystyle w=\frac{p(\mathbf{z})}{q(\mathbf{z} )} f(x,z)=p(x∣z),w=q(z)p(z)
于是
p ( x ) = ∫ f ( x , z ) p ( z ) q ( z ) q ( z ) d z = E z ∼ q ( z ) [ p ( z ) q ( z ) f ( x , z ) ] \displaystyle p(\mathbf{x}) =\int f(\mathbf{x} ,\mathbf{z})\frac{p(\mathbf{z})}{q(\mathbf{z} )} q(\mathbf{z} )d\mathbf{z} =E_{z\sim q(\mathbf{z} )}\left[\frac{p(\mathbf{z})}{q(\mathbf{z} )} f(\mathbf{x} ,\mathbf{z})\right] p(x)=∫f(x,z)q(z)p(z)q(z)dz=Ez∼q(z)[q(z)p(z)f(x,z)]
从这个公式可以看出其实 p ( x ) \displaystyle p(\mathbf{x}) p(x)的本质上可以看做是一个important weight的结果,而这个结果我们可以用一个下界去近似:
log p ( x ) = log E z ∼ q ( z ) [ p ( z ) q ( z ) f ( x , z ) ] = log E z ∼ q ( z ) [ p ( x , z ) q ( z ) ] ⩾ E z ∼ q ( z ) [ log p ( x , z ) q ( z ) ] ⎵ E L B O \log p(\mathbf{x} )\ =\log E_{z\sim q(\mathbf{z} )}\left[\frac{p(\mathbf{z})}{q(\mathbf{z} )} f(\mathbf{x} ,\mathbf{z})\right] =\log E_{z\sim q(\mathbf{z} )}\left[\frac{p(\mathbf{x,z} )}{q(\mathbf{z} )}\right] \geqslant \underbrace{E_{z\sim q(\mathbf{z} )}\left[\log\frac{p(\mathbf{x,z} )}{q(\mathbf{z} )}\right]}_{ELBO} logp(x) =logEz∼q(z)[q(z)p(z)f(x,z)]=logEz∼q(z)[q(z)p(x,z)]⩾ELBO Ez∼q(z)[logq(z)p(x,z)]
所以变分, 本质上是一个用important sampling来计算的某个期望的下界,所以,一个最直观提升的方法那就是我先对 p ( x , z ) q ( z ) \displaystyle \frac{p(\mathbf{x,z} )}{q(\mathbf{z} )} q(z)p(x,z)多抽几次样,不就行了,即
E z ∼ q ( z ) [ p ( x , z i ) q ( z i ) ] = E z 1 , z 2 , . . . , z k ∼ q ( z ) [ 1 k ∑ i = 1 k p ( x , z i ) q ( z i ) ] E_{z\sim q(\mathbf{z} )}\left[\frac{p(\mathbf{x,z}_{i} )}{q(\mathbf{z}_{i} )}\right] =E_{z_{1} ,z_{2} ,...,z_{k} \sim q(\mathbf{z} )}\left[\frac{1}{k}\sum ^{k}_{i=1}\frac{p(\mathbf{x,z}_{i} )}{q(\mathbf{z}_{i} )}\right] Ez∼q(z)[q(zi)p(x,zi)]=Ez1,z2,...,zk∼q(z)[k1i=1∑kq(zi)p(x,zi)]
这两个其实是等价的,那么对应的变分下界就变成
log E z 1 , z 2 , . . . , z k ∼ q ( z ) [ 1 k ∑ i = 1 k p ( x , z i ) q ( z i ) ] ⩾ E z 1 , z 2 , . . . , z k ∼ q ( z ) [ log 1 k ∑ i = 1 k p ( x , z i ) q ( z i ) ] \log E_{z_{1} ,z_{2} ,...,z_{k} \sim q(\mathbf{z} )}\left[\frac{1}{k}\sum ^{k}_{i=1}\frac{p(\mathbf{x,z}_{i} )}{q(\mathbf{z}_{i} )}\right] \geqslant E_{z_{1} ,z_{2} ,...,z_{k} \sim q(\mathbf{z} )}\left[\log\frac{1}{k}\sum ^{k}_{i=1}\frac{p(\mathbf{x,z}_{i} )}{q(\mathbf{z}_{i} )}\right] logEz1,z2,...,zk∼q(z)[k1i=1∑kq(zi)p(x,zi)]⩾Ez1,z2,...,zk∼q(z)[logk1i=1∑kq(zi)p(x,zi)]
而这个正是Importance weighted autoencoders论文中所用的目标函数!显然,随着 k → ∞ \displaystyle k\rightarrow \infty k→∞,这个下界一定收敛到最大值,因为 1 k ∑ i = 1 k p ( x , z i ) q ( z i ) ≈ E z ∼ q ( z ) [ p ( x , z ) q ( z ) ] = p ( x ) \displaystyle \frac{1}{k}\sum ^{k}_{i=1}\frac{p(\mathbf{x,z}_{i} )}{q(\mathbf{z}_{i} )} \approx E_{z\sim q(\mathbf{z} )}\left[\frac{p(\mathbf{x,z} )}{q(\mathbf{z} )}\right] =p(\mathbf{x} ) k1i=1∑kq(zi)p(x,zi)≈Ez∼q(z)[q(z)p(x,z)]=p(x),并且如果我们比较两个界,那个可以证明,多采几次样的界肯定能更小:
GLBO
接下来我们可以进一步推广这下界,注意到,变分下界都是基于Jensen不等式的,而这个不等式则是基于log这个凹函数才成立的,那么如果我们不用log,而用一个一般的凹函数来表达,于是可以得到
G L B O ( x ; K ) ≜ ψ − 1 ( E Z 1 : K ∼ q β [ h ( 1 K ∑ k = 1 K p α ( x , Z k ) q β ( Z k ∣ x ) ) ] ) GLBO(x;K)\triangleq \psi ^{-1}\left(\mathbb{E}_{Z_{1:K} \sim q_{\beta }}\left[ h\left(\frac{1}{K}\sum ^{K}_{k=1}\frac{p_{\alpha }( x,Z_{k})}{q_{\beta }( Z_{k} |x)}\right)\right]\right) GLBO(x;K)≜ψ−1(EZ1:K∼qβ[h(K1k=1∑Kqβ(Zk∣x)pα(x,Zk))])
其中 h ( u ) ≜ ψ ( ϕ ( u ) ) \displaystyle h(u)\triangleq \psi (\phi (u)) h(u)≜ψ(ϕ(u))表示某个凹函数,并且 ϕ \displaystyle \phi ϕ也是凹函数, ψ \displaystyle \psi ψ则是某个单调增的凸函数。
这个更一般界可以用于进行模型选择,因为当我们用q去近似p的时候,因为我们是对隐变量进行积分,所以其实有很多个等价的q有着等价的近似程度,也就是他们的目标函数的值是一样的。那么这里的模型选择是希望在这些一样的模型中,选择q的熵最大的那个,也就是最大熵。于是我们希望拟合的模型的likelihood在evidence小的时候,梯度更大,而在evidence大的时候梯度相对小,从而使得学习出来的模型的likelihood更加的均衡,可以证明,这种带权重的优化本质上就是GLBO,考虑以下梯度:
∇ α ϕ ( p α ( x ) ) = ϕ ′ ( p α ( x ) ) p α ( x ) ⎵ ( a ) ∇ α log p α ( x ) ⎵ ( b ) \nabla _{\alpha } \phi ( p_{\alpha } (x)) =\underbrace{\phi ^{\prime }( p_{\alpha } (x)) p_{\alpha } (x)}_{(a)}\underbrace{\nabla _{\alpha }\log p_{\alpha } (x)}_{(b)} ∇αϕ(pα(x))=(a) ϕ′(pα(x))pα(x)(b) ∇αlogpα(x)
显然(b)部分是普通ELBO似然的梯度,而(a)部分就可以看做是一种权重,于是,我们只需要在evidence较低的时候设置 ϕ \displaystyle \phi ϕ较大的斜率,在在evidence较大的时候设置更小的斜率,就可以达到目的。
参考资料
Burda, Y., Grosse, R., & Salakhutdinov, R. (2015). Importance Weighted Autoencoders, 1–14. https://doi.org/http://dx.doi.org/10.1634/theoncologist.2013-0268
Domke, J., & Sheldon, D. (2018). Importance weighting and variational inference. Advances in Neural Information Processing Systems, 2018–Decem(NeurIPS), 4470–4479.
Tao, C., Chen, L., Zhang, R., Henao, R., & Carin, L. (2018). Variational inference and model selection with generalized evidence bounds. 35th International Conference on Machine Learning, ICML 2018, 2, 1419–1435.