Deep Learning Book 学习笔记(19)

Approximate Inference

Posted by Wenlong Shen on July 14, 2018

把推断视作优化问题

精确推断问题可以描述为一个优化问题,有许多方法正是由此解决了推断的困难。通过近似这样一个潜在的优化问题,我们往往可以推导出近似推断算法。

为了构造这样一个优化问题,假设我们有一个包含可见变量\(v\)和潜变量\(h\)的概率模型。我们希望计算观察数据的对数概率\(log p(v; \theta)\)。有时候如果边缘化消去\(h\)的操作很费时,我们会难以计算\(log p(v; \theta)\)。作为替代,我们可以计算一个\(log p(v; \theta)\)的下界\(L(v, \theta, q)\)。这个下界被称为证据下界(evidence lower bound, ELBO),这个下界的另一个常用名称是负变分自由能(variational free energy)。

期望最大化

我们介绍的第一个最大化下界的算法是期望最大化(expectation maximization, EM)算法。在潜变量模型中,这是一个非常常见的训练算法。EM 并不是一个近似推断算法,而是一种能够学到近似后验的算法。

EM算法由交替迭代,直到收敛的两步运算组成:expectation step;maximization step。尽管E步采用的是精确推断,我们仍然可以将EM算法视作是某种程度上的近似推断。

EM算法包含了学习过程的一个基本框架,就是我们通过更新模型参数来提高整个数据集的似然,其中缺失变量的值是通过后验分布来估计的。这种特定的性质并非EM算法独有的。例如,使用梯度下降来最大化对数似然函数的方法也有相同的性质。计算对数似然函数的梯度需要对隐藏单元的后验分布求期望。EM算法另一个关键的性质是当我们移动到另一个\(\theta\)时候,我们仍然可以使用旧的分布\(q\)。在传统机器学习中,这种特有的性质在推导大M步更新时候得到了广泛的应用。在深度学习中,大多数模型太过于复杂以致于在最优大M步更新中很难得到一个简单的解。所以EM算法的第二个特质,更多为其所独有,较少被使用。

最大后验推断和稀疏编码

最大后验推断并不被视作是一种近似推断,它只是精确地计算了最有可能的一个。如果我们希望设计一个最大化下界的学习过程,那么把MAP推断视作是输出一个q值的学习过程是很有帮助的。在这种情况下,我们可以将MAP推断视作是近似推断,因为它并不能提供一个最优的。

MAP推断作为特征提取器以及一种学习机制被广泛地应用在了深度学习中。它主要用于稀疏编码模型中。稀疏编码是一种在隐藏单元上加上了诱导稀疏性的先验知识的线性因子模型。一个常用的选择是可分解的Laplace先验。其分布的难处理性导致了对数似然及其梯度也很难得到。因此我们不能使用精确的最大似然估计来进行学习。取而代之的是,我们通过MAP推断以及最大化由以\(h\)为中心的Dirac 分布所定义而成的ELBO来学习模型参数。

变分推断和变分学习

变分学习的核心思想就是在一个关于\(q\)有约束的分布族上最大化下界。我们可以通过选择分布\(q\)的形式来选择任何图模型的结构,通过选择变量之间相互作用的多少来灵活地决定近似程度的大小。这种完全通用的图模型方法被称为结构化变分推断。

变分方法的优点是我们不需要为分布\(q\)设定一个特定的参数化形式。我们设定它如何分解,之后通过解决优化问题来找出在这些分解限制下最优的概率分布。对离散型潜变量来说,这意味着我们使用传统的优化技巧来优化描述分布\(q\)的有限个变量。对连续型潜变量来说,这意味着我们使用一个被称为变分法的数学分支工具来解决函数空间上的优化问题。然后决定哪一个函数来表示分布\(q\)。变分法是“变分学习”或者“变分推断”这些名字的来因,尽管当潜变量是离散时变分法并没有用武之地。当遇到连续型潜变量时,变分法不需要过多地人工选择模型,是一种很有用的工具。我们只需要设定分布\(q\)如何分解,而不需要去猜测一个特定的能够精确近似原后验分布的分布\(q\)。

学成近似推断

我们已经看到了推断可以被视作一个增加函数\(L\)值的优化过程。显式地通过迭代方法(比如不动点方程或者基于梯度的优化算法)来进行优化的过程通常是代价很高且耗时巨大的。通过学习一个近似推断,许多推断算法避免了这种代价。