变分推理(variational inference)是贝叶斯学习中常用的、含有隐变量模型的学习和推理方法。变分推理和马尔可夫链蒙特卡罗法(MCMC)属于不同的技巧。MCMC通过随机抽样的方法近似地计算模型的后验概率,变分推理则通过解析的方法计算模型的后验概率的近似值。变分推理的基本想法如下。假设模型是联合概率分布p(x,z),其中x是观测变量(数据),z是隐变量,包括参数。目标是学习模型的后验概率分布p(z|x),用模型进行概率推理。但这是一个复杂的分布,直接估计分布的参数很困难。所以考虑用概率分布q(z)近似条件概率分布p(z|x),用KL散度D(q(z)||p(z|x))计算两者的相似度,q(z)称为变分分布(variational distribution)。如果能找到与p(z|x)在KL散度意义下最近的分布q^{*}(z),则可以用这个分布近似p(z|x)。
\begin{equation}p(z|x) \approx q^{}(z)\end{equation}图1给出了q^{*}(z)与p(z|x)的关系。

KL散度可以写成以下形式
\begin{equation}\begin{aligned}D(q(z) \| p(z \mid x)) &=E_{q}[\log q(z)]-E_{q}[\log p(z \mid x)] \\&=E_{q}[\log q(z)]-E_{q}[\log p(x, z)]+\log p(x) \\&=\log p(x)-\left\{E_{q}[\log p(x, z)]-E_{q}[\log q(z)]\right\}\end{aligned}\end{equation}注意到KL散度大于等于零,当且仅当两个分布一致时为零,由此可知式(2)右端第一项与第二项满足关系
\begin{equation}\log p(x) \geqslant E_{q}[\log p(x, z)]-E_{q}[\log q(z)]\end{equation}
不等式右端是左端的下界,左端称为证据(evidence) ,右端称为证据下界(evidence lower bound, ELBO),证据下界记作
\begin{equation}L(q)=E_{q}[\log p(x, z)]-E_{q}[\log q(z)]\end{equation}KL散度(2)的最小化可以通过证据下界(4)的最大化实现,因为目标是求q(z)使KL散度最小化,这时logp(x)是常量。因此,变分推理变成求解证据下界最大化的问题。
变分推理可以从另一个角度理解。目标是通过证据\log p(x)的最大化,估计联合概率分布p(x, z)。因为含有隐变量z,直接对证据进行最大化困难,转而根据式(3)对证据下界进行最大化。
对变分分布q(z)要求是具有容易处理的形式,通常假设q(z)对z的所有分量都是互相独立的 (实际是条件独立于参数),即满足
\begin{equation}q(z)=q\left(z_{1}\right) q\left(z_{2}\right) \cdots q\left(z_{n}\right)\end{equation}
这时的变分分布称为平均场 (mean filed)。\mathrm{KL}散度的最小化或证据下界最大化实际是在平均场的集合,即满足独立假设的分布集合Q=\{q(z) \mid q(z)=\prod_{i=1}^{n} q\left(z_{i}\right)\}之中进行的。
总结起来,变分推理有以下几个步骤: 定义变分分布q(z);推导其证据下界表达式;用最优化方法对证据下界进行优化,如坐标上升,得到最优分布q^{*}(z),作为后验分布p(z \mid x)的近似。
文献说明
本文摘自统计学习方法第二版(李航),仅供研究学习使用。