确定性模拟算法:变分推断
之前讨论了近似逼近算法中的蒙特卡洛模拟,除了蒙特卡洛模拟之外,还有一类近似逼近算法,称作变分推断。关于变分推断,我们要搞清楚以下三点:
变分推断是什么?
是一种逼近某个概率分布的算法。
1、用最大似然的下界和KL散度(一种衡量两个分布间差异大小的指标)来理解变分推断算法
2、在具有隐变量、未知参数的图模型上使用变分推断,即求P(x,z|θ),x为可以观察到的随机变量,z为未知随机变量
3、使用循环信息传播算法(Loopy Belief Propagation)来进行信息传递
回顾近似推断的中心目标:估计后验概率分布P(z|x),这里的z包含了隐变量θ。
怎么理解这个目标?
回到2,我们要使得当前观测出现的概率最大,以估计此时的模型参数值,确定我们的模型。而这个给定参数条件(未知)的当前观测的概率就是p(x,z|θ),即求使得这个概率值最大的参数值。而参数包括两部分,一是隐藏随机变量z,二是模型参数θ。
为实现此目的,最大化p(x,z|θ)等价于最大化ln(p(x,z|θ)),等价于最大化其期望,期望为 sum_z(p(z|x,θold)lnp(x,z|θ)),在之前讲过的EM算法中,分别固定z和θ,分别优化,不断迭代直到稳定,就估计出了这两个参数的值。
这个过程中为什么需要近似逼近?
因为p(z|x,θold)这个概率可能维度很高或者表达式复杂,导致非常难以直接用表达式求解的方法计算,我们就需要找到算法来合理逼近它。
近似逼近的第一类方法,是随机模拟,即蒙特卡洛采样类算法。通过生成满足目标分布的样本来逼近该分布。
第二类方法,本文的主角,确定性的模拟(Deterministic Approximation),即变分方法(Variational Approach)。不进行任何采样。我们提出一个假设分布q(z),希望它与p(z|x)越接近越好。我们已知的条件是一个联合分布p(x,z)。
怎么度量我们假设的分布和目标分布的差异?我们希望差异越小越好。
使用KL散度,
找到q(z),使得KL散度最小化
然而直接求其最小值明显不可行,因为它含有我们不能处理的p(z|x)这一项,因此我们转而最大化目标分布的下界,也就逼近了尽可能小的KL散度值,因为我们可以将对数化后的目标分布p(x)变形为此下界与KL散度的和:
P(z|x)的下界
lnP(x)=L(q)+KL(q||p) 关系式成立。通过改变q(z)来提高此L(q),等价于最小化KL散度。因此也就避开了求解p(z|x),而使用已知的联合分布p(x,z)。
那么此时的使得下界L最大的q(x)该怎么求?
使用物理学中的Mean-Field theory,均匀场理论,这是一个近似的框架。将之前的隐藏随机变量z和未知参数θ这两个需要估计的参数统一记为z,假设我们有M个样本,意思就是我们观测到了M组新z的取值情况(旧z和θ一起被观测了M次)。
再假设分布我们的假设可以被因子分解为这M组如下的联合分布,即组间是互相独立的,且满足这样的性质,当假设分布q满足下面的形式时,L是最大的:
假设分布
然后将这个q(z)带入到上面的P(z|x)的下界L(q)中,接着不断调整假设分布q,寻找下界L的最大值。这个优化问题,需要注意每次对q分布的调整都要使得q满足上面给出的联合独立性假设,并且同时作用于所有M组观测值。
完成这一步的优化过程,叫做自由形态free form(也就是变分variational)优化optimization。具体讲,代入之后对L化简,得到:
化简L(q)结果,其中 ln p_(x,zj)=Expectation_i<>j[ln p(x,Z)]
这个形式启示我们,新定义一个假设分布p_(x,zj),含义为对除了某一个观测样本j之外的所有样本,求联合分布的期望,再取对数。
这样的p_分布,恰好是q被化简后的一部分。q被化简为上式,第一项结合刚才假设的p_,构成 -KL(qj || p_(x,zj)),即对每一个观测样本j,我们需要最大化的后验概率的下界L,都可以变形为与这个j有关的一个KL值,和一个常数的和。这个KL值,衡量假设分布qj,与其对应的新假设分布p_的差异,可以最小化。当这个KL最小化到0的时候,也就是我们需要的理想状态,针对这个样本j,就实现了p(z|x)的下界的增大。
这样对一个样本j求积分,即根据假设分布qj,找到最优的新假设分布p_,使得qj=p_,更新qj。对M个样本依次进行,q=qj连乘。利用这一法则不断的固定其他的z 的坐标来更新当前的坐标对应的z值,这与Gibbs Sampling过程类似,不过Gibbs Sampling是不断的从条件概率中采样,而CAVI算法中是不断的用如下形式更新:ln qj=ln p_(x,zj)=Expectation_i<>j[ln p(x,Z)]。
这样就完成了变分推断VI的所有过程。需要注意,最终不断优化也只能提高下界,而不能得到真正的后验分布,但我们使得假设的q分布尽可能接近于真实分布了。