【概述】
变分推断(Variational Inference)是贝叶斯统计中常用的、含有隐变量模型的推理方法,其与马尔可夫链蒙特卡罗法属于不同的技巧
MCMC 通过随机抽样的方法近似计算后验概率,变分推断通过解析的方法计算后验概率的近似值
【概率分布映射】
假设有一批数据样本 $\{X_1,X_2,\cdots,X_n\}$,整体用 $X$ 来描述,如果能够根据这些样本来得到 $X$ 的分布 $p(X)$,那么根据 $p(X)$ 进行采样,就可能得到所有可能的 $X$,这就是终极理想的生成模型
但这个理想的模型难以实现,考虑概率分布映射,从一个简单的分布(例如高斯分布)映射到分布 $p(X)$,那么有:
然而,潜在空间 $Z$ 通常是高维且包含复杂相互作用的,直接去积分来计算 $p(X)$ 几乎是不可能的,那么就需要将这个问题简化、近似化
【变分推断】
对于
考虑 $z\sim p(Z)$,可以发现其大部分采样对于 $p(X)$ 的计算都没有贡献,也就是它们的 $p(z|x)$ 都近乎为零,与 $X$ 没有什么关系,因此如果需要近似,可以从这个角度切入,剔除掉没有什么贡献的 $z$,只需要计算使得 $p(z|x)$ 更大的那部分的 $z$ 即可
在给定 $X$ 的情况下,$Z$ 的后验分布 $p(z|x)$ 约等于使得 $X$ 的生成概率最大的 $Z$ 的分布,那么问题就变为如何计算后验分布 $p(z|x)$,但是这个后验分布本身是不好求的,因此使用另一个可伸缩的近似后验分布 $q(z|x)$ 来近似 $p(z|x)$,这个过程即变分推断(Variational Inference)
【变分下界】
为使得 $p(z|x)$ 和 $q(z|x)$ 这两个分布尽可能的相似,就要最小化近似后验分布 $q(z|x)$ 和真实后验分布 $p(z|x)$ 的差距,使用 KL 散度衡量二者的差距,即优化目标是:
对于二者的 KL 散度,有:
利用贝叶斯公式对上式进行化简,有:
由于 $p(x)$ 是确定量,将其抽出:
移项化简,有:
记 $L=\log p(x),L^{VLB}=\mathbb{E}_{z\sim q(z|x)}[\log p(x|z)] - D_{KL}[q(z|x) || \log p(z)]$,有:
由于 KL 散度非负,那么显然有:
其中,$L^{VLB}$ 被称为 $L$ 的变分推断的证据下界(Evidence Lower Bound,ELBO),也称为变分下界(Variational Lower Bound,VLB)
由于 $p(x)$ 是固定的,即 $L$ 是一个定值,那么如果想要最小化近似后验分布 $q(z|x)$ 和真实后验分布 $p(z|x)$ 的差距的话,就要使变分下界 $L^{VLB}$ 最大化,即:
也就是说,在最大化 $p(x|z)$ 的期望 $\mathbb{E}_{z\sim q(z|x)}[\log p(x|z)]$ 的同时,最小化近似后验分布 $q(z|x)$ 与 $Z$ 的先验分布 $p(z)$ 的 KL 散度 $D_{KL}[q(z|x) || \log p(z)]$
因此,变分推断可以理解为求解变分下界最大化问题