Eric Jang: A Beginner's Guide to Variational Methods: Mean-Field Approximation (evjang.com)
一、说明
变分贝叶斯 (VB) 方法是统计机器学习中非常流行的一系列技术。VB 方法允许我们将 统计推断 问题(即,给定另一个随机变量的值来推断随机变量的值)重写为优化 问题(即,找到最小化某些目标函数的参数值),本文将阐述这种精妙模型。
二、文章绪论
2.1 VB的概念
这种推理-优化二元性非常强大,因为它允许我们使用最新、最好的优化算法来解决统计机器学习问题(反之亦然,使用统计技术最小化函数)。
这篇文章是变分方法的介绍性教程。我将导出最简单的 VB 方法的优化目标,称为平均场近似。这个目标,也称为 变分下界,与变分自编码器中使用的目标完全相同(一篇简洁的论文,我将在后续文章中对其进行解释)。
2.2 本文目录
- 预备知识和符号
- 问题表述
- 平均场近似的变分下界
- 正向 KL 与反向 KL
- 与深度学习的联系
三、预备知识和符号
本文假设读者熟悉随机变量、概率分布和期望等概念。 如果您忘记了一些东西,这里有一个回顾。机器学习和统计符号的标准化不是很好,因此在这篇文章中使用非常精确的符号会很有帮助:
- 大写X表示随机变量
- 大写P( X)表示该变量的概率分布
- 小写x∼P _ _( X)表示一个值X采样(~)从概率分布磷( X)通过一些生成过程。
- 小写p ( X)是分布的密度函数X。它是测度空间上的标量函数X。
- p ( X= x )(速记p ( x )) 表示在特定值下评估的密度函数X。
许多学术论文交替使用术语“变量”、“分布”、“密度”,甚至“模型”。这本身不一定是错误的,因为X,磷( X), 和p ( X)所有这些都通过一一对应来相互暗示。 然而,将这些词混合在一起会令人困惑,因为它们的类型不同(对函数进行采样没有意义,对分布进行积分也没有意义)。
我们将系统建模为随机变量的集合,其中一些变量(X)是“可观察的”,而其他变量(Z)是“隐藏的”。我们可以通过下图来画出这种关系:
边缘绘制自Z到X通过条件分布将两个变量联系在一起磷( X| Z)。
X=
其中的各个部分都与通用名称相关联:
p ( Z| X)是后验概率:“给定图像,这是一只猫的概率是多少?” 如果我们可以从z∼ P( Z| X),我们可以用它来制作一个猫分类器,告诉我们给定的图像是否是猫。
p ( X| Z)是可能性:“给定值为Z 这计算了该图像的“可能性”X属于该类别({“is-a-cat”/“is-not-a-cat”})。如果我们可以从x∼P _ _( X| Z),然后我们生成猫的图像和非猫的图像就像生成随机数一样容易。如果您想了解更多信息,请参阅我关于生成模型的其他文章:[1]、[2]。
p ( Z)是先验概率。这捕获了我们所知道的任何先前信息Z- 例如,如果我们认为现有的所有图像中有 1/3 是猫,那么p ( Z= 1 ) =13和p ( Z= 0 ) =23。
3.1 作为先验的隐藏变量
这是感兴趣的读者的旁白。跳到下一部分继续学习本教程。
前面的猫示例展示了观察变量、隐藏变量和先验的非常传统的示例。然而,重要的是要认识到隐藏变量/观察变量之间的区别有些任意,并且您可以随意分解图形模型。
我们可以通过交换术语来重写贝叶斯定理:
所讨论的“后”是现在磷( X| Z)。隐藏变量可以从贝叶斯统计
框架 解释 为 附加到观察到的变量的先验信念。例如,如果我们相信X是多元高斯分布,隐藏变量Z可能代表高斯分布的均值和方差。参数分布磷( Z)那么 先验 分布为磷( X)。
您还可以自由选择哪些值X和Z代表。例如,Z可以改为“平均值、方差的立方根,以及X+ Y在哪里是∼ N( 0 , 1 )”。这有点不自然和奇怪,但结构仍然有效,只要磷( X| Z)进行相应修改。
您甚至可以向系统“添加”变量。先验本身可能依赖于其他随机变量磷( Z| θ),它们有自己的先验分布磷( θ ),并且那些仍然有先验,等等。任何超参数都可以被认为是先验。在贝叶斯统计中, 先验一直向下。
3.2 问题表述
我们感兴趣的关键问题是后验推理,或者隐藏变量的计算函数。Z。后验推理的一些典型例子:
- 鉴于这段监控录像X,嫌疑人出现在其中吗?
- 鉴于此推特提要X,作者郁闷吗?
- 鉴于历史股价X1 : t − 1,什么会Xt是?
问题是,对于上面这样的复杂任务,我们通常不知道如何从中采样磷( Z| X)或计算p ( X| Z)。或者,我们可能知道以下形式p ( Z| X),但相应的计算非常复杂,我们无法在合理的时间内对其进行评估。我们可以尝试使用基于采样的方法,例如MCMC,但这些方法收敛速度很慢。
四、平均场近似的变分下界
变分推理背后的想法是这样的:让我们对一个简单的参数分布进行推理问φ( Z| X)(如高斯)我们知道如何进行后验推理,但调整参数φ以便问φ是一样接近磷尽可能。
下面直观地说明了这一点:蓝色曲线是真正的后验分布,绿色分布是我们通过优化拟合到蓝色密度的变分近似(高斯)。
反向 KL 散度衡量信息量(以 nat 或单位为单位)需要“扭曲”使其适应。我们希望最大限度地减少这个数量。
根据条件分布的定义, 。让我们把这个表达式替换成我们原来的表达式KL表达式,然后分布:
尽量减少 关于变分参数φ,我们只需最小化 , 因为 相对于固定φ。让我们将这个数量重写为分布的期望 。
在文学中,被称为变分下界,并且如果我们可以评估,则在计算上是易于处理的。我们可以进一步重新排列术语,产生直观的公式:
如果抽样 是一个转换观察结果的“编码”过程X到潜在代码z,然后采样 是一个“解码”过程,从z。
它遵循L是预期“解码”可能性的总和(我们的变分分布可以解码样本的效果如何)Z回到样本X),加上变分近似与先验之间的 KL 散度Z。如果我们假设Q (Z| X)是条件高斯的,然后先验Z通常选择均值为 0、标准差为 1 的对角高斯分布。
为什么L称为变分下界?替代L回到方程。(1),我们有:
自从KL ( Q | | P) ≥ 0,日志p ( x )必须大于L。所以L是下界_日志p ( x )。L也称为证据下界 (ELBO),通过替代公式:
注意L本身包含近似后验和先验之间的 KL 散度项,因此总共有两个 KL 项日志p ( x )。
4.1 正向 KL 与反向 KL
KL散度不是对称 距离函数,即 (除非当Q = P)第一种称为“正向KL”,而后者则称为“反向KL”。那么为什么我们要使用Reverse KL呢?这是因为由此产生的推导需要我们知道如何计算,这就是我们首先想做的。
我真的很喜欢 Kevin Murphy 在PML 教科书中的解释,我将尝试在这里重新表述:
让我们首先考虑前锋 KL。正如我们从上面的推导中看到的,我们可以将 KL 写成“惩罚”函数的期望通过权重函数p ( z)。
因此,当我们确保 无论在哪里。优化的变分分布 被称为“避免零”(当密度避免为零时p ( Z)为零)。
最小化 Reverse-KL 具有完全相反的行为:
如果p ( Z) = 0,我们必须保证权重函数q( Z) = 0无论分母在哪里p ( Z) = 0,否则 KL 就会爆炸。这称为“迫零”:
总而言之,最小化前向 KL 会“拉伸”你的变分分布Q (Z)覆盖整个P( Z)就像防水布一样,同时最大限度地减少反向KL“挤压”Q (Z) 在下面 P( Z)。
在机器学习问题中使用平均场近似时,请务必牢记使用反向 KL 的含义。如果我们将单峰分布拟合到多峰分布,我们最终会得到更多的假阴性(实际上有概率质量P( Z)我们认为没有的地方Q (Z))。
4.2 与深度学习的联系
变分方法对于深度学习非常重要。我将在后面的文章中详细阐述,但这里有一个快速剧透:
- 深度学习非常擅长使用大量数据对非常大的参数空间进行优化(特别是梯度下降)。
- 变分贝叶斯为我们提供了一个框架,通过它我们可以将统计推理问题重写为优化问题。
感谢您的阅读,敬请关注!