变分推断的原理推导
一.原理推导
变分推断(VI)要做的事情很朴素,那就是有一个复杂的难以求解的分布,比如后验概率分布:,这里表示观测数据,表示参数或隐变量,VI就是利用一个简单可控的近似分布去逼近目标,即:
比如下图,黄色区域便是我们的目标分布,红线和绿线是我们构建的高斯分布,去近似目标分布
那么,自然地有个问题就产生了,红线近似的更好还是绿线近似的更好?显然,上面的图我们很难肉眼区分的开,所以我们需要找到一个量化的指标来评估两个分布的近似程度,我们可以使用KL距离,它的定义如下:
显然,当时,取得最小值0,所以我们接下来求解下面优化问题就可以得到最优的近似分布了:
但是公式中同样还包含有,这样我们在求解时依然会很困难,接下来我们推到一种等价的方式,我们首先可以将拆解为如下的等式:
显然,上面的等式恒成立,然后对两边取对数,有:
继续加入我们的,有:
接下里,对两边求在近似分布上的期望,由于左边与无关,求期望后还是其自身,所以:
这里,被称为证据下界(evidence lower bound,ELBO),这时,对数似然,ELBO以及KL距离三者之间具有如下的关系:
所以,对的极小化等价于对做极大化,而ELBO函数中包含的联合概率分布往往易于求解,所以,我们的最终计算目标便是:
二.对进行简化
有时候,我们为了方便计算会将划分为若干个互不相交的组,每组记作(注意,每个可能包含多个变量),同时假设这些分组变量是相互独立的,那么有:
注意,这里每个可以有不同的函数形式。接下来,我们考虑该形式下的最优解,由于上面的独立假设,我们对于的优化问题,可以转换为依次对不同的优化问题(其余的可以看做常数项,不会影响最优解),我们将上面的等式带入ELBO函数中,并分离出仅依赖于某一组因子的形式,比如:
这里,我们定义:
这里为常数项,最优解可以直接观测出来了,那就是使得为0的解,那就只有两个分布相等情况下成立,即:
消去,可以写作如下:
通常,为了方便计算,用的更多的还是下面的表达式(下面的表达式后续会反复用到):
因为对于复杂的计算,最后将多项的合并在一起处理更为方便,因为它主要起着归一化系数的作用,而这个系数可以通过观测得出(比如上面等式中的分母项),不必刻意去计算。