原题:A Beginner's Guide to Variational Methods: Mean-Field Approximation 给初学者的变分法指导:平均场近似
这种 推断-优化 的二元性,赋予我们强大的能力。我们既可以使用最新、最好的优化算法来解决统计机器学习问题,也可以反过来,使用统计技术来最小化函数。
这篇文章是关于变分方法的入门教程。 我将推导出最简单的VB方法的优化目标,称为 平均场近似 。 这个目标,也称为 变分下界 ,与变分自动编码器( VAE )中使用的技术完全相同(我将在后续文章中相信介绍它,堪称入木三分)。
1.问题的前提和符号约定 2.问题的表述 3.平均场近似的变分下界 4.前传KL与反传KL 5.与深度学习的联系
本文假设读者熟悉随机变量、概率分布和数学期望等概念。如果你忘了这些概念,可以在 这里 进行复习。机器学习和统计领域的符号约定没有被严格地标准化,因此在这篇文章中,我们约定如下符号,确定的符号将对理解文意很有帮助:
许多学术论文将术语“变量”、“分布”、“密度”,甚至“模型”互换使用。这种做法本身不一定导致错误,因为 、 和 都可以通过一对一的对应关系相互指代。但是,将这些术语混合在一起,容易让人感到困惑。因为它们的指代范畴各不相同(比如对函数进行 抽样 没有意义,对分布 积分 同样没有意义)。
我们将系统建模为随机变量的集合,其中一些变量( )是“可观察的”,而其他变量( )是“隐藏的”。 【译者按:后文称二者为“观察变量”和“隐变量”】我们可以通过下图绘制这种关系:
从 到 ,通过条件分布 这条边,将两个变量联系在一起。
说一个更形象的例子: 可能代表“图像的原始像素值”,而 是二值变量。如果 是猫的图像, 。
贝叶斯定理 给出了任意一对随机变量之间的一般关系: 其中的各项与如下常见名称相关联:
是后验概率:“给定图像,这是猫的概率是多少?” 如果我们可以从 进行采样,我们可以用它作一个猫分类器,告诉我们给定的图像是否是猫。
是似然概率:“给定 的值,计算出该图像 在该类别下的‘可能’程度({是猫/不是猫})” 如果我们可以从 进行采样,那么我们就可以生成猫的图像和非猫的图像,就像生成随机数一样容易。如果你想了解更多相关信息,请参阅我的关于生成模型的其他文章: [1] , [2] 。
是先验概率。它指代我们所知道的关于 的任何先前信息——例如,如果我们认为所有图像中,有1/3是猫,那么 并且 。
这部分是为了感兴趣的读者准备的。请直接跳到下一部分,继续学习本教程。
前面猫的示例提供了观察变量、隐变量和先验的理解角度,是传统的一个示例。 但是请注意,我们定义隐变量/观察变量之间的区别有些随意,你可以自由地将图形模型按需求进行分解。
我们可以通过交换等式的项来重写贝叶斯定理: 现在的“后验概率”是 。
从贝叶斯统计框架,隐变量可以解释为附加到观察变量的 先验信念 。 例如,如果我们认为 是多元高斯,则隐变量 可以表示高斯分布的均值和方差。 另外,参数 上的分布是 的先验分布。
你也可以自由选择 和 代表的值。 例如, 可以代之以“均值、方差的立方根、以及 ,其中 ”。 虽然有点突兀、奇怪,但只要相应地修改 ,结构仍然有效。
你甚至可以往系统中“添加”变量。先验本身可能通过 依赖于其他随机变量, 具有它们自己的 的先验分布,并且那些先验仍然是有先验的,依此类推。任何超参数都可以被认为是先验的。 在贝叶斯统计中, 先验是无穷递归的 。【译者按:1.英文中俗语“turtles all the way down”表示问题无限循环、递归,作者用了"priors all the way down"来诙谐地表达先验系统的递归性。2.先验的层次越深,对结果的影响越 小 】
我们感兴趣的关键问题是隐变量 的后验推断或密度函数。后验推断的一些典型例子:
我们通常假设,我们已知如何计算似然分布 和先验分布 【译者按:原文为“function”函数,应为讹误,后文类似情况以符号为准】。
然而,对于像上面的复杂任务,我们常常不知道如何从 采样或计算 。或者,我们可能知道 的形式,但相应的计算十分复杂,以至于我们无法在合理的时间内对其评估【译者按:“评估”的意思是给定似然函数,求出该函数在某一点上的值】。 我们可以尝试使用像 MCMC 这样的基于采样的方法求解,但这类方法很难收敛。
变分推断背后的想法是这样的:对简单的参数分布 (就像高斯分布)进行推断。对这个函数,我们已经知道如何做后验推断,于是任务变成了调整参数 使得 尽可能接近 。【译者按:“推断”在这里指的是从观察变量 的概率分布导出隐变量 的概率分布】
这在视觉上如下图所示:蓝色曲线是真实的后验分布,绿色分布是通过优化得到的拟合蓝色密度的变分近似(高斯分布)。
两个分布“接近”意味着什么? 平均场变分贝叶斯(最常见的类型)使用反向KL散度作为两个分布之间的距离度量。
反向KL散度测量出将 “扭曲(distort)”成 所需的信息量(以nat为单位或以2为底的对数bits为单位)。我们希望最小化这个量。【译者按:1.“扭曲”的意思是,把 和 贴合在一起,即通过某种映射引发函数图像的形变,使二者图像一致;2.许多研究产生式模型的论文会比较不同方法下的散度值。】
根据条件分布的定义, 。 让我们将这个表达式代入原来的KL表达式,然后使用分配律: 为了使 相对于变分参数 最小化,我们只需要最小化 ,因为 对于 来说是常数。 让我们重新写这个数量作为对分布 的期望。 最小化上面的式子等价于最大化负的式子: 在文献中, 被称为 变分下界 。如果我们能够估计 、 、 ,我们就可以计算它。我们可以继续调整式子里各项的顺序,使之更符合直觉: 如果说采样 是将观察变量 “编码”为隐变量 的过程,则采样 是从 重建观察变量 的“解码”过程。
由此得出 是预期的“解码”似然(即变分分布 能在多大程度上将样本 解码回样本 ),再减去变分近似的分布与先验 之间的KL散度【译者按:原文是“加上”,应该是减去】。如果我们假设 是条件高斯的,那么先验 通常被指定为平均值0、标准偏差1的对角高斯分布。
为什么 称为变分下界? 将 代入 ,我们有: 的含义,用大白话说就是,真实分布下的数据点 的对数似然 ,等于 ,加上 用来捕获在该特定值 处 和 之间距离的差。
由于 , 必大于(或等于) 。因此 是 的下界。 也被称为证据下界(ELBO),通过调整公式:
注意, 本身包含近似后验和先验之间的KL散度,因此 中总共有两个KL项。
KL散度函数不是对称距离函数,即 (当 时除外)第一个被称为“前向KL”,而后者是“反向KL””。 我们为什么要使用反向KL呢?因为推导的目标要求我们近似 ,所以【在 和 不能同时得到最优形式的情况下】我们要优先确保 的形式准确。
我很喜欢Kevin Murphy在 PML教科书 中的解释,我在这里尝试重新说明一下:
让我们首先考虑正向KL。正如上述推导,我们可以将KL写为,权重函数 加权下,“惩罚”函数 的期望。 只要 ,惩罚函数在任何地方都会给总KL带来损失。对于 , 。 这意味着前向KL将在 未能“掩盖” 时,将会很大。
因此,当我们确保前向KL最小化时 时, 。 优化的变分分布 被称为“避免零(zero-avoiding)”(密度 为零时 避免为零)。
如果 ,我们必须确保分母 的地方,加权功能的 ,否则KL会爆炸。这被称为“必设零(zero-forcing)”:
在机器学习问题中,使用平均场近似时,留意反向KL的后果很重要。 如果我们将单峰分布拟合到多模态分布,我们最终会得到更多的假阴性的样例(也就是说, 实际上存在概率,但我们依据 认为没有可能性)。
变分法对于深度学习非常重要。 我将在后面再写文章详细说明。这是“太长不看版”:
结合深度学习和变分贝叶斯方法,我们可以对 极其 复杂的后验分布进行推断。 事实证明,像变分自动编码器这样的现代技术,可以优化得到上文中形式完全相同的平均场变分下界!
感谢阅读,敬请期待!
鉴于标题,我们值得给出“平均场近似”这个名字背后的一些动机。
从统计物理学的观点来看,“平均场”是指忽略二阶效应,将困难的优化问题放松到更简单的问题。例如,在图模型的情境中,我们可以把估计 马尔可夫随机场 的配分函数(partition function)问题,转为最大化吉布斯自由能(对数配分函数减去相对熵)的问题。这显著地简化了全概率测量空间的全局优化的形式(参见M. Mezard和A. Montanari,Sect )。
整体分解: 平均场近似的分解:
从算法的观点来看,“平均场”是指用于计算马尔可夫随机场边缘概率的朴素平均场算法(naive mean field algorithm)。回想一下,朴素平均场算法的固定点【即最终解】是吉布斯变分问题的平均场近似的最优点。这种方法是“均值”,因为它是吉布斯采样器的平均/期望/ LLN版本,因此忽略了二阶(随机)效应(参见,和M. Jordan,()和())。
【译者按: 1.上述说明主要针对配分函数而言的。 的隐空间为标准高斯分布,协方差矩阵为对角单位阵,而不考虑非对角元素的影响。这体现了“平均场”的思想。 的实验效果显示,产生图像较为模糊或“平均”,不够锐利,也许正是平均场近似的结果】