Auto-Encoding Variational Bayes from PGM概率图模型
1. PGM 概率图模型
AVEB(Auto-Encoding Variational Bayes)的思想可以从概率图模型来理解。它是建立在概率图模型Inference中的Variational Inference基础上的。
1.1 Variational Inference
概率图的inference,是一种从概率图模型中获取信息的方式(通俗的来说,就是向模型提问)。inference一般由两种常见的形式:
- Marginal inference : 用来得到整个系统状态的某一部分(从其他状态变量中marginalize之后)的概率。(以图像处理为例,如果扣掉图像的一块,如何使用其他的图像信息补全这一块缺失的内容)。
- MAP inference : 最大后验概率,从模型中得到结果。(以图像为例,输入一张图像,通过我们的概率模型,得到它是猫的概率和它是狗的概率)
Variational Inference是把inference问题,考虑成一个优化问题 :
我们有一组候选的概率分布Q,真实的概率分布记为p(p是未知的,但是我们有服从它的观测结果)。我们的目标则是在Q中找到一个元素q,使得q最接近于p。最后,我们使用p(完全已知的一个分布)来回答上面的inference问题。
这样的问题就涉及到了两个方面:
- 一个是如何判断p与q的相似程度。
- 如果找到这个最相似的q。
比较常用的方法是使用KL divergence衡量相似程度,并且使用gradient descent的方法找到最佳的q。
1.2 KL divergence
定义:
K L ( q ∣ ∣ p ) = ∑ x q ( x ) log q ( x ) p ( x ) KL(q||p) = \sum_{x} q(x)\log \frac{q(x)}{p(x)} KL(q∣∣p)=x∑q(x)logp(x)q(x)
重要性质:
K L ( q ∣ ∣ p ) ≥ 0 KL(q||p) \ge 0 KL(q∣∣p)≥0
K L ( q ∣ ∣ p ) = 0 , i f p = q KL(q||p) = 0 ,\ if \ p =q KL(q∣∣p)=0, if p=q
K L ( q ∣ ∣ p ) ≠ K L ( p ∣ ∣ q ) , i f p ≠ q KL(q||p) \ne KL(p||q) ,\ if \ p \ne q KL(q∣∣p)=KL(p∣∣q), if p=q
在这里,p和q都是归一化的概率分布。但是实际上我们还是不能衡量KL,因为p对我们来说是未知的(intractable)。我们考虑一个更加一般的p分布, 它可能不是归一化的,所以p的表达式为:
p ( x 1 , x 2 , . . . , x n ; θ ) = p ˉ ( x 1 , x 2 , . . . , x n ; θ ) Z ( θ ) = 1 Z ( θ ) ∏ k ϕ k ( x k ; θ ) p(x_{1}, x_{2},...,x_{n};\theta) = \frac{\bar p(x_{1}, x_{2},...,x_{n};\theta) }{Z(\theta)} = \frac{1}{Z(\theta)} \prod_{k} \phi_{k}(x_{k};\theta) p(x1,x2,...,xn;θ)=Z(θ)pˉ(x1,x2,...,xn;θ)=Z(θ)1k∏ϕk(xk;θ)
ϕ k \phi_{k} ϕk是一个factor(因子)。看这个表达式我们也可以更好的理解为什么p是intractable。这是由于 Z ( θ ) Z(\theta) Z(θ)是intractable,为了求这个归一化常数,我们需要对所有可能的状态x进行计算,但是鉴于p其实是未知的分布,我们不可能分析它对于所有x状态的可能结果(当然我们可以用monte carto的方法sampling近似)。这里也其实表达了对于一般的分布,我们无法用直接KL衡量它与另一个分布q的相似程度。
1.3 The Variational Lower bound
我们先分析下面的等式(直接把新的 p ˉ \bar p pˉ带入KL的表达式):
J ( q ) = ∑ x q ( x ) log q ( x ) p ˉ ( x ) J(q) = \sum_{x} q(x)\log \frac{q(x)}{\bar p(x)} J(q)=x∑q(x)logpˉ(x)q(x)
J ( q ) = ∑ x q ( x ) log q ( x ) p ( x ) − log Z ( θ ) = K L ( q ∣ ∣ p ) − log Z ( θ ) J(q) = \sum_{x} q(x)\log \frac{q(x)}{p(x)} - \log Z(\theta) = KL(q||p) - \log Z(\theta) J(q)=x∑q(x)logp(x)q(x)−logZ(θ)=KL(q∣∣p)−logZ(θ)
我们可以得到下面的等式不等式:
log Z ( θ ) = K L ( q ∣ ∣ p ) − J ( q ) ≥ − J ( q ) \log Z(\theta) = KL(q||p) - J(q) \ge - J(q) logZ(θ)=KL(q∣∣p)−J(q)≥−J(q)
这表示了, − J ( q ) - J(q) −J(q) 其实是 log Z ( θ ) \log Z(\theta) logZ(θ)的一个下界(lower bound)。而 K L ( q ∣ ∣ p ) KL(q||p) KL(q∣∣p)恰好是下界与真实值之间的gap。如果我们尝试最大化这个下界 − J ( q ) - J(q) −J(q) ,那么会促使 − J ( q ) - J(q) −J(q)和 log Z ( θ ) \log Z(\theta) logZ(θ)变得越来越接近,也就是说他们之间的gap越来越小,也就是达到了最小化 K L ( q ∣ ∣ p ) KL(q||p) KL(q∣∣p)的目的。
− J ( q ) - J(q) −J(q)被称作 the variational lower bound 或者 the evidence lower bound (ELBO)。
− J ( q ) = − ∑ x q ( x ) log q ( x ) + ∑ x q ( x ) log p ˉ ( x ) -J(q) = -\sum_{x} q(x)\log q(x) + \sum_{x} q(x)\log \bar p(x) −J(q)=−x∑q(x)logq(x)+x∑q(x)logpˉ(x)
− J ( q ) = E q ( x ) [ log p ˉ ( x ) − log q ( x ) ] -J(q) = E_{q(x)}[\log \bar p(x) - \log q(x)] −J(q)=E