基于近似计算解决推断问题——变分推断(一)

利用近似计算来解决难计算的概率密度估计,是现代统计学中的一个惯用手段。这一方法在贝叶斯推断统计中尤为重要,以为贝叶斯统计将所有关于未知量的推断都构建为涉及后验概率的计算。而我们今天要分享的内容,就是一个经典的近似推断方法,其名为变分推断(variational inference,VI)。

本文主要参考的文献为David M.Blei 2018发表的论文 Variational Inference: A Review for Statisticians 。该论文是关于变分推断的综述性论文,主要回顾了变分推断的主要思想:先假定一个分布族,并基于 KL 散度(Kullback-Leibler divergence)为指标,找到其中最接近目标的分布;论文还回顾了基于平均场的变分推断思想(mean-field variational),基于指数族分布(exponential family models)的特殊情况,以及列举了高斯贝叶斯混合(Bayesian mixture of Gaussians)的例子。

下面,让我们对这篇论文的内容逐一进行解剖。

我们要解决什么问题?

明确我们的目标是什么,才能更好地解决问题。因此,为了更好地描述变分推断,我们首先需要先明确,我们的问题是什么?

思考这样一个问题,假设我们现在有隐变量 和观测变量 ,思考它们的联合分布

在贝叶斯模型中,隐变量有助于控制数据分布,贝叶斯模型首先从隐变量 中获得其先验分布 ,并利用似然 来获得观测数据 。而贝叶斯推断的任务则是对观测数据进行控制,从而计算后验 。

而这一的推断有时是难以计算的,所以就需要用到近似推断。接下来要讲的近似推断方法主要是马尔科夫链马尔可夫(Markov chain Monte Carlo,MCMC)和变分推断

基于 MCMC 的近似推断

马尔科夫链马尔可夫(MCMC)是近似推断的经典方法,是现代贝叶斯统计不可或缺的工具。

MCMC 的主要步骤如下:

  1. 构建一个关于 的遍历马尔可夫链,其后验为 ;
  2. 从马尔科夫链中采样,以获得稳定分布的数据样本;
  3. 基于收集到的样本,构建经验估计(empirical estimate)来近似后验。

随着采样数据容量的增大, MCMC 模型的精度将会提高,所以在采样数据合适的情况下, MCMC 采样能够提供较高的精度。但其弊端也很明显,由于需要进行采样, MCMC 的计算速度成为其瓶颈。

主要文献:

MCMC sampling has evolved into an indispensable tool to the modern Bayesian statistician. Landmark developments include the Metropolis-Hastings algorithm (Metropolis et al., 1953; Hastings, 1970), the Gibbs sampler (Geman and Geman, 1984) and its application to Bayesian statistics (Gelfand and Smith, 1990). MCMC algorithms are under active investigation. They have been widely studied, extended, and applied; see Robert and Casella (2004) for a perspective.

基于 VI 的近似推断

所以,既然 MCMC 有这样的问题,有没有什么办法可以解决这一问题呢?

变分推断(VI)为解决这一问题,提供了思路。 VI 的主要思想是基于 KL 散度,利用一个分布 去近似后验 ,将近似推断问题转换为优化问题,一定程度上能够提高算法的性能。主要步骤是:

  1. 假定一个近似分布族 ,作为隐变量分布的候选集;

  2. 从分布族中选择合适的分布,最小化 KL 散度;

  3. 通过最优的分布 来近似后验。

变分推断将推断问题转换为优化问题,而优化问题的计算复杂性取决于我们选择的分布族 。因此,解决变分推断问题的一个重点是选择一个既能灵活近似 、又易于优化的近似分布族。

VI 与 MCMC 的比较

VI 与 MCMC 基于不同的思想解决推断问题。 MCMC 基于马尔科夫链采样来近似后验,而 VI 则是基于 KL 散度将问题转化为优化问题来近似后验。这两种方法各有优劣:

  • MCMC 相比于 VI 需要更多的计算,但随着采样次数增加, MCMC 能为精度提供保证。
  • VI 无法提供精度的保证,但速度快于 MCMC ,且 VI 解决的是优化问题,所以能够发挥随即优化算法和分布式优化的优势

所以, VI 更使用于大规模数据、需要快速训练模型的场景, MCMC 使用于小规模数据、但我们需要用计算代价换取精度的情况。

除了数据集规模,另一个值得思考的因素是后验分布的几何特性。如,当后验为多种模式的混合模型,每个对应的标签排列的组件。对于 Gibbs sampling 来说,它能专注于目标的一个模型,但在应对混合模型时,就显得力不从心了,而 VI 在混合模型的表现明显比 MCMC 好得多。

变分推断的相关研究:

The development of variational techniques for Bayesian inference followed two parallel, yet separate, tracks. Peterson and Anderson (1987) is arguably the first variational procedure for a particular model: a neural network. This paper, along with insights from statistical mechanics (Parisi, 1988), led to a flurry of variational inference procedures for a wide class of models (Saul et al., 1996; Jaakkola and Jordan, 1996, 1997; Ghahramani and Jordan, 1997; Jordan et al., 1999). In parallel, Hinton and Van Camp (1993) proposed a variational algorithm for a similar neural network model. Neal and Hinton (1999) (first published in 1993) made important connections to the expectation maximization (EM) algorithm (Dempster et al., 1977), which then led to a variety of variational inference algorithms for other types of models (Waterhouse et al., 1996; MacKay, 1997).

变分推断(VI)具体怎么做?

变分推断(VI)的主要目标是近似给定观测数据时,隐变量的条件分布 ,主要做法时基于 KL 散度找到一个近似的分布 。

近似推断问题

回顾近似推断问题

回顾一下前面近似对端的问题,假设又观测变量集 和隐变量集合 ,它们的联合分布为 。

推断问题的主要任务时计算给定观测数据时,隐变量的条件分布 ,这个条件分布可以用来产生潜在变量的点或区间估计,形成新数据的预测密度,等等。

我们可以将条件分布写作

这一公式的分母为观测数据 的边缘分布,通称为证据(evidence),可以由边缘化隐变量 来获得

对于大多数模型,这个证据积分是不可用的封闭形式或需要指数时间来计算。

注意,我们将所有未知的兴趣量都表示为潜在随机变量,其中包括可能控制所有数据的参数,如在贝叶斯模型中发现的(global variable),以及对单个数据点“局部”的潜在变量(lacal variable)。

高斯贝叶斯混合模型(Bayesian mixture of Gaussians)

思考关于单位方差单变量高斯的贝叶斯混合(Bayesian mixture of unit-variance univariate Gaussians)

现有 个混合组件,对应 个均值为 的高斯分布。均值参数由公共分布 独立采样得到,公共分布为高斯分布 ,其中 为超参数。(全局参数)

为了由模型生成观测数据 ,我们首先选择一个聚类分配 ,它表示 的隐聚类来自 的哪个分类分布。( 是一个 维向量,除了 所属的聚类为 1 ,其他值均为 0)所以我们由高斯分布 获得数据 。(局部参数)

完整的层次模型可以表示为

当样本量为 ,隐变量和观测变量的联合分布为

隐变量为 ,包含 个类均值和 个配分参数。

证据可以化为联合分布的积分的形式

公式(8)中的积分函数并不包含每个 的单独因子。而事实上,每个 出现在积分中的所有 个因子。因此,公式(8)中的积分不化简为一维积分在 上的连乘。数值计算 维积分的时间复杂度为 。

如果我们在公式(8)中,将连乘因子除以加和因子,可以将证据转换为在所有聚类配分 的加和

以为高斯后验和高斯似然的共轭性,这里的每个独立积分都是可计算的。但由于积分的数量为 个,每个对应于每个聚类配分的一个配置。所以其计算量于 而言是指数级的

证据下界(ELBO)

在变分推断中,我们选取了一个分布组 作为隐变量分布的候选集,我们的目标是找到最优的候选集,使得和目标分布的 KL 散度最小,从而将问题转换为最优化问题

看起来好像把问题变简单了,但仔细一看,你会发现,问题好像还是没有得到解决——这个目标函数是难以计算的,因为这个目标函数的计算要求计算公式(3)中证据的对数 。

让我们回顾一下 KL 散度

将公式展开,我们会得到

可见,KL 散度的计算依赖于 ,这样 KL 散度就变得难以计算。

所以,为了使得计算可行,我们在公式(12)对 KL 散度进行变化,得到证据下界(the Evidence Lower BOund,ELBO)

ELBO 是由 KL 散度的负数与 相加得到,由于 对于 来说是常数,所以最大化 ELBO 等价于最小化 KL 散度

我们可以将 ELBO 重写为数据的平均对数似然和后验 和 的 KL 散度的加和

这个目标函数会让 把重心放在 的哪个值上呢?让我们这个目标函数作何解释:

  • 第一项是似然的期望,它激励分布把重心放在可解释观测数据的隐变量上;
  • 第二项是变分密度和后验概率的 KL 散度的负数,它激励分布尽量靠近后验分布。

ELBO 的另一个特性是它规定了证据(的对数)的下界。根据 ELBO 的定义,我们有

由于 ,所以对于任何 ,都有 。这也是“证据下界”这一名字的由来。

ELBO 和 的关系使得我们能够利用变分下界作为模型的度量 。

相关研究

The relationship between the ELBO and has led to using the variational bound as a model selection criterion. This has been explored for mixture models (Ueda and Ghahramani, 2002; McGrory and Titterington, 2007) and more generally (Beal and Ghahramani, 2003). The premise is that the bound is a good approximation of the marginal likelihood, which provides a basis for selecting a model. Though this sometimes works in practice, selecting based on a bound is not justified in theory. Other research has used variational approximations in the log predictive density to use VI in cross-validation based model selection (Nott et al., 2012).

最后, 公式(13)的第一项是完全对数似然期望,可利用 EM 算法进行优化。

平均场变分族

最后,让我们再把目光放到变分族 上。分布族的复杂性决定了优化问题的复杂性,所以变分推断问题的一个重点是选择适合的分布族。

下面我们重点描述平均场变分族(mean-field variational family)。

什么是平均场变分族

在平均场变分族中,各隐变量之间是相互独立的,每个隐变量都受变分密度分解公式中的一个因子控制。

通用的平均场变分族公式为

公式中的每个隐变量 都由对应的变分因子 控制。

我们认为,分布族不是关于观测数据的模型,事实上,再公式(15)中 并未出现任何关于 的值。相反,是 ELBO 和相应的 KL 最小化问题,将相应的变分密度与模型和数据连接起来。

当个变分因子可以是任何参数形式,如,一个连续变量可能是高斯因子;一个分类变量可以是分类因子。

平均场推断的相关文献:

Finally, though we focus on mean-field inference in this review, researchers have also studied more complex families. One way to expand the family is to add dependencies between the variables (Saul and Jordan, 1996; Barber and Wiegerinck, 1999); this is called structured variational inference. Another way to expand the family is to consider mixtures of variational densities, i.e., additional latent variables within the variational family (Bishop et al., 1998). Both of these methods potentially improve the fidelity of the approximation, but there is a trade off. Structured and mixture-based variational families come with a more difficult-to-solve variational optimization problem.

连续的高斯贝叶斯混合

回顾一下前面提到的高斯贝叶斯混合,假设现在我们有包含这种分布的平均场变分族,其形式为

根据平均场的性质,每个隐变量都是由相应的变分因子控制,在上面的公式中:

  • 因子 为基于第 个混合组件的均值参数的高斯分布,高斯分布的均值为 ,方差为 ;
  • 因子 为第 个观测值的混合分配,它的分配概率为 维向量 。

所以,对于这一模型,我们有以下参数:

  • 对于第 个聚类,其混合组件为高斯分布,相应的变分参数为均值和方差(mean and variance);
  • 对于第 个数据点,其聚类分配为分类分布,相应的变分参数为分类概率(cluster probabilities)。

解释了上面是变分族,我们已经完全确定了混合高斯的变分推理问题。 于是,高斯贝叶斯混合的 ELBO 可以由公式(7)的模型定义和公式(16)中的平均场分布族定义。

平均场近似的问题

由于平均场近似可以捕捉任何隐变量的边缘密度,基于平均场近似的变分推断表现是杠杠的。但由于其假设各隐变量之间是相互独立的,它无法识别出隐变量之间的关系。如 Figure 1 所示

image-20210930211718578.png

当隐变量之间存在相关性时,平均场近似估计往往会低估隐变量的方差。

坐标上升变分推断(CAVI)

雄赳赳,气昂昂,跨过鸭绿江。

基于上述的描述,我们可以对变分推断有了一个大概的概念。正所谓“往事俱备,只欠东风”,针对这一优化问题,我们现在所缺的就是一个优化方法。所以这一小节,重点放在描述优化算法——坐标上升变分推断(coordinate ascent variantional,CAVI)。

坐标上升变分推断,简称 CAVI ,是解决变分推断问题的一个通用算法,其主要思想为:迭代地对平均场变分密度的每个因子进行优化,优化某个参数时,都固定其他参数。它将 ELBO 的优化变为一个局部优化问题。

算法原理

对于第 个隐变量 ,其 complete conditional 为给定其他隐变量和观测数据时,它的条件密度,即 。固定其他变分因子 。 的优化值是与 complete conditional 的期望成正比

公式(17)的期望是相对于(当前固定的) 的变分密度,即 。公式(17)正比于联合分布的指数对数,所以

由于平均场的猜想,即所有隐变量是相互独立的,所以公式(18)右边不涉及第 个变分因子。

算法步骤

CAVI 算法的伪代码如 Algorithm 1 所示

image-20210930214554195.png

CAVI 沿着公式(13)的 ELBO 上移,找到一个局部最优解。

CAVI 可以被看作是一个信息传播算法,它基于变量地马尔可夫毯,迭代地更新每个随机变量地变分参数。

CAVI can also be seen as a “message passing” algorithm (Winn and Bishop, 2005), iteratively updating each random variable’s variational parameters based on the variational parameters of the variables in its Markov blanket. This perspective enabled the design of automated software for a large class of models (Wand et al., 2011; Minka et al., 2014). Variational message passing connects variational inference to the classical theories of graphical models and probabilistic inference (Pearl, 1988; Lauritzen and Spiegelhalter, 1988). It has been extended to nonconjugate models (Knowles and Minka, 2011) and generalized via factor graphs (Minka, 2005).

算法推导

参考原论文和相关文献,由于不是本文重点,这里不多赘述。

例子:高斯贝叶斯混合

回顾前面关于高斯贝叶斯混合的内容,隐变量和观测数据的联合密度如公式(7),分布族如公式(16)。

结合联合分布和平均场分布族,我们可以得到高斯混合的 ELBO 公式
\begin{aligned} ELBO(\boldsymbol m,\boldsymbol s^2,\boldsymbol\psi)=&\sum^K_{k=1}\mathbb E[\log p(\mu_k);m_k,s^2_k]\\ &+\sum^n_{i=1}(\mathbb E[\log p(c_i);\psi_i]+\mathbb E[\log p(x_i|c_i,\boldsymbol\mu);\psi_i,\boldsymbol m,\boldsymbol s^2])\\ &-\sum^n_{i=1}\mathbb E[\log q(c_i;\psi_i)]-\sum^K_{i=1}\mathbb E[\log q(\mu_k;m_k,s^2_k)] \end{aligned}\tag{21}
在每一项中,我们都明确了对变分参数的依赖性,每个期望都是可以以封闭形式计算的。

接下来,让我们把 CAVI 应用到高斯贝叶斯混合中。我们需要对变分聚类分配因子的更新和变分混合组件因子的更新进行推导。

混合分配的变分密度

让我们对聚类分配 的变分更新进行推导,利用公式(18),我们可以得到局部参数的更新公式

其中,指数的组件为依赖于 的联合密度,第二项的期望是基于混合组件 。

公式(22)的第一项为 的对数似然,它对于所有 的可能值相同,即 ;第二项为 的高斯密度的对数期望,将 所以一个指示向量,我们可以写出

于是我们可以计算对数期望概率
\begin{aligned} \mathbb E[\log p(x_i|c_i,\boldsymbol\mu)]&=\sum_kc_{ik}\mathbb E[\log p(x_i|\mu_k);m_k,s^2_k]\\ &=\sum_kc_{ik}\mathbb E[-\frac{(x_i-\mu)^2}{2};m_k,s^2_k]+const\\ &=\sum_kc_{ik}(\mathbb E[\mu_k;m_k,s^2_k]x_i-\frac{\mathbb E[\mu^2_k;m_k,s^2_k]}{2})+const\\ \end{aligned}\tag{23-25}
在这一公式中,我们删去了和 无关的项,放到 const 中。而每个混合组件的参数 和 则是可计算的。因此,我们可以将第 个聚类分配的变分更新公式写为

混合组件均值的变分密度

接下来,让我们再分析一些第 个混合组件的变分密度 。同样是利用公式(18),我们可以得到全局参数的更新公式

现在我们计算这个坐标最优 的非归一化对数,设 为的第 个观测来自第 个聚类的可能性,由于 是一个指示向量,我们认为 ,于是
\begin{aligned} \log q(\mu_k)&=\log p(\mu_k)+\sum_i\mathbb E[\log p(x_i|c_i,\boldsymbol\mu);\psi_i,\boldsymbol m_{-k},\boldsymbol s^2_{-k}]+const\\ &=\log p(\mu_k)+\sum_i\mathbb E[c_{ik}\log p(x_i|\mu_k);\psi_i]+const\\ &=-\frac{\mu^2_k}{2\sigma^2}+\sum_i\mathbb E[c_{ik};\psi_i]\log(x_i|\mu_k)+const\\ &=-\frac{\mu^2_k}{2\sigma^2}+\sum_i\psi_{ik}(-\frac{(x_i-\mu_k)^2}{2})+const\\ &=-\frac{\mu^2_k}{2\sigma^2}+\sum_i\psi_{ik}x_i\mu_k-\frac{\psi_{ik}\mu_k^2}2+const\\ &=(\sum_i\psi_{ik}x_i)\mu_k-(\frac12\sigma^2+\frac{\sum_i\psi_{ik}}2)\mu^2_k+const \end{aligned}\tag{28-33}
经过这一通猛如虎的操作,我们可以发现 的坐标最优密度是指数族分布的,其充分统计量为 ,自然参数为 ,根据指数族分布的性质(下一篇博客将会介绍到指数族分布的性质),我们可以得到高斯分布中均值和方差的更新公式为

基于 CAVI 的混合高斯

我们利用 ELBO 作为衡量 CAVI 收敛的条件,完整步骤如 Algorithm 2

image-20210930231909328.png

当我们学习到合适的变分密度时,我们可以用它来帮助我们使用后验,如我们可以获得数据的后验分解。我们给他们最可能的混合分配点 并估计基于它们变分均值 的聚类均值。

我们也可以利用它来近似新数据的预测密度。这样的近似预测是高斯混合的

其中, 是基于均值 和单位方差的高斯分布。

你可能感兴趣的:(基于近似计算解决推断问题——变分推断(一))