变分推断

参考:

【一文学会】变分推断及其求解方法小明的博客-CSDN博客变分推断

基本思路

在概率模型中,常常需要近似难以计算的概率分布,在贝叶斯统计中,所有的对于未知量的推断(inference)问题可以看做是对后验概率(posterior)的计算。而这一概率通常难以计算,可以利用MCMC马尔科夫链蒙特卡洛算法做近似,但是对于大量数据,MCMC算法计算较慢,变分推断(Variational Inference)提供了一种更快更简单的适用于大量数据的近似推断方法。

假定用[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图1代表我们输入的观测值,[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图2代表模型中的隐藏变量,问题即为推断输入数据的后验条件概率分布[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图3#card=math&code=p%28Z%7CX%29)。

变分法的基本思想是将这一问题转换为优化(optimization)问题。

首先,我们提出一族关于隐藏变量的近似概率分布[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图4,我们希望从这一族分布中找到一个与真实的后验分布的KL Divergence(KL散度)最小的分布[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图5#card=math&code=q%5E%2A%28X%29)。

KL Divergence(KL散度)

是指某分布q(x)被用于近似p(x)时的信息损失。

[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图6%3Dp(x)%5Csum%7Bx%5Cin%20X%7D%5Clog%5Cfrac%7Bp(x)%7D%7Bq(x)%7D%0A#card=math&code=D%28p%7C%7Cq%29%3Dp%28x%29%5Csum%7Bx%5Cin%20X%7D%5Clog%5Cfrac%7Bp%28x%29%7D%7Bq%28x%29%7D%0A)

也就是说,q(x)能在多大程度上表达p(x)所包含的信息,KL散度越大,表达效果越差。

之后,我们便可以用[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图7#card=math&code=q%5E%2A%28X%29)来近似替代真实的后验分布[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图8#card=math&code=p%28Z%7CX%29)。因此变分推断将推断问题转化为了求极值的优化问题。而[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图9的选择决定了优化问题的难易度,变分法核心问题就是要选定这一族函数使得密度分布足够灵活可以近似[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图10#card=math&code=p%28Z%7CX%29)的分布,同时又使得我们可以进行高效的优化。

变分推断详述

  1. 我们可以将隐藏变量[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图11相对于观察量[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图12的条件概率写为 [论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图13%3D%5Cfrac%7Bp(Z%2CX)%7D%7Bp(X)%7D%5Ctag%7B1%7D%0A#card=math&code=p%28Z%7CX%29%3D%5Cfrac%7Bp%28Z%2CX%29%7D%7Bp%28X%29%7D%5Ctag%7B1%7D%0A)


其中分母是观察量的边缘分布,可以通过从联合分布中边缘化隐藏变量得到,即[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图14%3D%5Cint%20p(Z%2CX)dZ#card=math&code=p%28X%29%3D%5Cint%20p%28Z%2CX%29dZ),这个函数又被称为evidence,通常这个积分需要指数级别的时间去计算,这也是为什么推断问题常常难于处理。

  1. 对于式子(1),两边取对数,并在等式右边引入Q(Z): [论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图15)%3D%5Cln(P(X%2CZ))-%5Cln(P(Z%7CX))%0A#card=math&code=%5Cln%28P%28X%29%29%3D%5Cln%28P%28X%2CZ%29%29-%5Cln%28P%28Z%7CX%29%29%0A)
    [论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图16)%3D%5Cln(%5Cfrac%7BP(X%2CZ)%7D%7BQ(Z)%7D)-%5Cln(%5Cfrac%7BP(Z%7CX)%7D%7BQ(Z)%7D)%5Ctag%7B2%7D%0A#card=math&code=%5Cln%28P%28X%29%29%3D%5Cln%28%5Cfrac%7BP%28X%2CZ%29%7D%7BQ%28Z%29%7D%29-%5Cln%28%5Cfrac%7BP%28Z%7CX%29%7D%7BQ%28Z%29%7D%29%5Ctag%7B2%7D%0A)
  1. 在Q(Z)下对上式取期望,Q(Z)即为我们用来近似的分布: [论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图17%5Cln(P(X))dZ%3D%5Cint%20Q(Z)%5Cln(%5Cfrac%7BP(X%2CZ)%7D%7BQ(Z)%7D)dZ-%5Cint%20Q(Z)%5Cln(%5Cfrac%7BP(Z%7CX)%7D%7BQ(Z)%7D)dZ%5Ctag%7B3%7D%0A#card=math&code=%5Cint%20Q%28Z%29%5Cln%28P%28X%29%29dZ%3D%5Cint%20Q%28Z%29%5Cln%28%5Cfrac%7BP%28X%2CZ%29%7D%7BQ%28Z%29%7D%29dZ-%5Cint%20Q%28Z%29%5Cln%28%5Cfrac%7BP%28Z%7CX%29%7D%7BQ%28Z%29%7D%29dZ%5Ctag%7B3%7D%0A)

期望函数[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图18

  • 离散型随机变量x,p(x)表示取到x的概率,f(x)是x的概率密度函数,则期望函数[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图19[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图20%3Dx_1p(x_1)%2Bx_2p(x_2)%2B…%2Bx_np(x_n)%5C%5C%0A%3Dx_1f(x_1)%2Bx_2f(x_2)%2B…%2Bx_nf(x_n)%0A#card=math&code=%5Cmathbb%7BE%7D%28X%29%3Dx_1%2Ap%28x_1%29%2Bx_2%2Ap%28x_2%29%2B…%2Bx_n%2Ap%28x_n%29%5C%5C%0A%3Dx_1%2Af%28x_1%29%2Bx_2%2Af%28x_2%29%2B…%2Bx_n%2Af%28x_n%29%0A)
  • 连续性随机变量x,f(x)是x的概率密度函数,则期望函数[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图21[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图22%3D%5Cint%20xf(x)dx%0A#card=math&code=%5Cmathbb%7BE%7D%28X%29%3D%5Cint%20xf%28x%29dx%0A)
  1. 等式左侧P(X)与Z无关,Q(Z)对Z的积分为1;右侧简单展开后,得到: [论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图23)%3D%5Cint%20Q(Z)%5Cln(%7BP(X%2CZ)%7D)dZ-%5Cint%20Q(Z)%5Cln(Q(Z))dZ-%5Cint%20Q(Z)%5Cln(%5Cfrac%7BP(Z%7CX)%7D%7BQ(Z)%7D)dZ%5C%5C%0A%3D%5Cint%20Q(Z)%5Cln(%7BP(X%2CZ)%7D)dZ-%5Cint%20Q(Z)%5Cln(Q(Z))dZ%2B%5Cint%20Q(Z)%5Cln(%5Cfrac%7BQ(Z)%7D%7BP(Z%7CX)%7D)dZ%5Ctag%7B4%7D%0A#card=math&code=%5Cln%28P%28X%29%29%3D%5Cint%20Q%28Z%29%5Cln%28%7BP%28X%2CZ%29%7D%29dZ-%5Cint%20Q%28Z%29%5Cln%28Q%28Z%29%29dZ-%5Cint%20Q%28Z%29%5Cln%28%5Cfrac%7BP%28Z%7CX%29%7D%7BQ%28Z%29%7D%29dZ%5C%5C%0A%3D%5Cint%20Q%28Z%29%5Cln%28%7BP%28X%2CZ%29%7D%29dZ-%5Cint%20Q%28Z%29%5Cln%28Q%28Z%29%29dZ%2B%5Cint%20Q%28Z%29%5Cln%28%5Cfrac%7BQ%28Z%29%7D%7BP%28Z%7CX%29%7D%29dZ%5Ctag%7B4%7D%0A)


其中公式(4)左侧[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图24%5Cln(%7BP(X%2CZ)%7D)dZ-%5Cint%20Q(Z)%5Cln(Q(Z))dZ#card=math&code=%5Cint%20Q%28Z%29%5Cln%28%7BP%28X%2CZ%29%7D%29dZ-%5Cint%20Q%28Z%29%5Cln%28Q%28Z%29%29dZ)是[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图25#card=math&code=ELBO%20%5C%3A%5Cmathfrak%7BL%7D%28Q%29),而公式右边是[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图26%7C%7CP(Z%7CX))#card=math&code=KL%28Q%28Z%29%7C%7CP%28Z%7CX%29%29)。
我们不知道样本X的真实分布,但是客观真理是不会改变的,所以P(X) 和lnP(X) 都是未知的常量。
等式(4)的右端,ELBO是一个泛函,是Q的函数,由于KL距离是非负的,所以ELBO的上界就是lnP(X) 。 [论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图27)%5Cgeq%20ELBO%20%5C%3A%5Cmathfrak%7BL%7D(Q)%5C%5C%0A%5Cln(P(X))%5Cgeq%20%5Cint%20Q(Z)%5Cln(%7BP(X%2CZ)%7D)dZ-%5Cint%20Q(Z)%5Cln(Q(Z))dZ%5Ctag%7B5%7D%0A#card=math&code=%5Cln%28P%28X%29%29%5Cgeq%20ELBO%20%5C%3A%5Cmathfrak%7BL%7D%28Q%29%5C%5C%0A%5Cln%28P%28X%29%29%5Cgeq%20%5Cint%20Q%28Z%29%5Cln%28%7BP%28X%2CZ%29%7D%29dZ-%5Cint%20Q%28Z%29%5Cln%28Q%28Z%29%29dZ%5Ctag%7B5%7D%0A)


我们的目标是最小化KL距离,但其中P(Z|X) 是难以得知的,但式中KL距离和ELBO是此消彼长的关系,这等价于最大化ELBO。所以我们改变优化目标为evidence lower bound(简称ELBO)[论文笔记]GMNN图马尔可夫网络—基础:变分推断、EM - 图28%5Cln(%7BP(X%2CZ)%7D)dZ-%5Cint%20Q(Z)%5Cln(Q(Z))dZ%5C%5C%0A%5Carg%5Cmax_Q%3D%5Cmathbb%7BE%7D(%5Cln(%7BP(X%2CZ)%7D)-%5Cmathbb%7BE%7D(%5Cln(Q(Z))%5Ctag%7B6%7D%0A#card=math&code=%5Carg%5Cmax_Q%3D%5Cint%20Q%28Z%29%5Cln%28%7BP%28X%2CZ%29%7D%29dZ-%5Cint%20Q%28Z%29%5Cln%28Q%28Z%29%29dZ%5C%5C%0A%5Carg%5Cmax_Q%3D%5Cmathbb%7BE%7D%28%5Cln%28%7BP%28X%2CZ%29%7D%29-%5Cmathbb%7BE%7D%28%5Cln%28Q%28Z%29%29%5Ctag%7B6%7D%0A)