Skip to content

Theory of Variational Inference

variational就是把问题转化为一个优化问题的方法。 在graphical model中,inference或者说partition function往往特别难算,经常是指数级别的复杂度,因此我们尝试把partition function写成variational的形式

这个时候我们可以接触exponential family的性质,因为exponential的表达中就有一个现成的normalization term,A

其中θ要保证不会使A趋于无穷,因此θ在一个有限的集合之内


为什么要选exponential family? 因为μ=sufficient statistic的期望=x的margin,而margin正是我们想算的。

此外normalization term也有所对应


为什么不能直接对着X求期望得到μ就好了? 因为通常为指数级运算,我们想要用一个incremental的方法解决这个问题,因此接下来我们要把这个问题写成variational的形式。

注意上面这个表达式其实在PRML中已经见过:

接下来的所有工作,都是要把A(θ)写成dual of dual的形式 但是我们要知道怎么求A*(μ),否则没法算


下面举一个求Bernoulli的A*(μ)的例子: 如果通过正常的inference,我们会得到下面的结果: 下面通过conjugate,求stationary condition: 但是注意这里的μ是有值域的: 然后我们就得出了conjugate的完整式子: 有了conjugate,我们就能把原本的A写成dual of dual,然后求解,最后求得的结果跟直接算inference是一样的:


接下来我们推广到整个exponential family: 类比刚才Bernoulli的例子,这里的μ其实是有值域的,因此我们现在就来确定一下推广之后值域怎么找。

现在假设μ在值域内,是valid的 观察这个式子,实际上是原本distribution的negative entropy。


至此,我们把求μ的问题转化为了求A*(μ)、进而求A(μ)的问题。 但这样也没有完全减少他的计算量,原本是积分计算量大,现在求inverse of gradient和求entropy的时候计算量也很大。

接下来关注两个问题: 1. μ什么时候有解? 2. 如何approximate μ的解空间,使得我们求解整个问题时更好算?


μ什么时候有解? μ可以看作是φ的加权求和,然后概率又满足一定的约束, 事实上,μ是φ的Convex combination(凸组合指点的线性组合,要求所有系数都非负且和为1). 因此这个marginal polytope就是extreme points of sufficient statistics的Convex hull

根据这个定理,这个polytope可以写成finite个linear inequality的组合 看下面这个例子, 这里我们把sufficient statistics设为singleton和pairwise的拼接,可以看到最终结果是φ的极值点所构成的convex hull,而且可以进一步写成4个不等式。 但是现在的问题是,之前那个定理只保证linear inequality有finite个,然而这个个数其实是很大的。 可以看到下图中的结论,tree graphical model的约数个数是随着graph size线性增长的(这也解释了tree结构的好处)

因此下面就来看如何approximate这个polytope


如何approximate μ的解空间?

Mean field approximation

我们呢可以去掉graph中的一些边,或者所有边,然后用新的μ空间来近似真正的μ空间。

去掉所有边时,\(\theta_{ij}=0\), \(\mu_{ij}=P(x_i,x_j)=P(x_i)P(x_j)=\mu_i\mu_j\)

从这个视角,我们可以把marginal的approximation转化为对θ的集合的近似或者对μ的集合(polytope)的近似.

可以看到,由于这时的θ只是真正的θ集合的子集(因为增加了约束),因此对应到polytope上就变成了inner approximation。

当我们去掉了所有的边,我们就是用所有变量在Q上的margin的连乘去近似整个joint,由此我们可以直接写出A*,也就是这个近似的entropy,其实等于所有变量在Q上的margin的extropy之和。 而在原本的P上,我们是求不出来整个joint的entropy的。

Bethe Approximation and Sum-Product

对于任意一个graph, 注意上图中的这两个条件:singleton的margin和为1;pairwise potential在对于其中一个变量sum之后得到另一个变量的margin 我们的μ要保证local consistency,但是我们丢掉global consistency和其他的各种约束。 因此我们的集合其实是比marginal polytope大,是一个outer bound。 在求A*(μ)时,我们用tree的entropy来近似任意graph的entropy