变分推断

TIP

这一节里有的公式似乎没有区分积分和求和,那就不区分了吧反正意思对了就行 2333。

EM 算法中有:

在 E 步中,我们需要找到一个 ,从而使得 。这里假设 是可以计算的,但这个假设有可能是不成立的,后验可能是 intractable 的。


这里解释一下为啥 intractable。由贝叶斯定理:

也就是说这里需要算输入数据的分布

而在很多情况下这是没法算的(不然还要 GAN 这种调参调到死的玩意儿干啥)。


因此有了变分推断(Variational Inference),也称变分贝叶斯(Variational Bayesian),变分推断可以看作 EM 算法的扩展版,主要处理不能精确求出 的情况。

变分推断的思想是,在 E 步中,寻找一个简单分布 来近似

其中 为候选的概率分布族。当 无限接近于 0 时, 就无限接近。但如刚刚所说, 难以直接计算,因此我们不能直接优化这个 KL 散度。

结合式 (1) 和式 (2),有:

所以最小化 KL 散度被转化为了最大化 ELBO。这里 ELBO 是一个以函数 为自变量的函数,即泛函。

这里的公式都没有写参数 ,因为变分推断中的参数都是随机变量,可以直接算进隐变量 里。

ELBO

上一节中算出 为:

则 ELBO 为:

EM 算法中:

可以看到变分推断中的 ELBO 相比 EM 算法中的 ELBO 大概多了 这一项。这是因为 EM 算法中 是常数项,而在变分推断中并不是。

btw, 就是 的熵,可以表示为

平均场分布族

候选分布族 的复杂性决定了优化问题的复杂性。我们选 的时候可以选我们知道到的、简单的、最好是独立同分布的概率分布。通常会选平均场(mean-field)分布族,即 可以分拆为多组相互独立的变量,概率密度 可以分解为:

其中 是隐变量的子集,可以是单变量,也可以是一组多元变量。

那么 可以写为:

对于 part1:

如果只对隐变量的某个子集 感兴趣:

再令:

可以看作一个关于 的未归一化的分布。

最终有:

对于 part2:

同样,如果只对隐变量的某个子集 感兴趣:

其中,const 为一个常数,即所有与 无关的项。

现在 可以写为:

坐标上升法

也就是说,如果我们固定除了 以外的其他隐变量 不变,那么 ELBO 可以被看做一个负 KL 散度加上一个常数。因此最小化 KL 散度 就等于最大化 ELBO。

因此最优的 正比于对数联合概率密度 的期望的指数(由式 (3) 推出):

可以用**坐标上升法(Coordinate Ascent Variational Inference,CAVI)**来迭代优化每个 (同时会假设其他隐变量固定不变)。坐标上升法流程为:

cavi

其他

我们通常会选择一些比较简单的分布 来近似 。但当 比较复杂时,往往很难用简单的 去近似。这时可以用神经网络的强大拟合能力来近似 ,这种思想被应用在了变分自编码器中

参考