贝叶斯变分方法:初学者指南--平均场近似

一、说明

        变分贝叶斯 (VB) 方法是统计机器学习中非常流行的一系列技术。VB 方法允许我们将 统计推断 问题(即,给定另一个随机变量的值来推断随机变量的值)重写为优化 问题(即,找到最小化某些目标函数的参数值),本文将阐述这种精妙模型。

二、文章绪论

2.1 VB的概念

        变分贝叶斯 (VB) 方法是统计机器学习中非常流行的一系列技术。VB 方法允许我们将 统计推断 问题(即,给定另一个随机变量的值来推断随机变量的值)重写为优化 问题(即,找到最小化某些目标函数的参数值)。

        这种推理-优化二元性非常强大,因为它允许我们使用最新、最好的优化算法来解决统计机器学习问题(反之亦然,使用统计技术最小化函数)。

        这篇文章是变分方法的介绍性教程。我将导出最简单的 VB 方法的优化目标,称为平均场近似。这个目标,也称为 变分下界,与变分自编码器中使用的目标完全相同(一篇简洁的论文,我将在后续文章中对其进行解释)。

 

2.2 本文目录

  1. 预备知识和符号
  2. 问题表述
  3. 平均场近似的变分下界
  4. 正向 KL 与反向 KL
  5. 与深度学习的联系

三、预备知识和符号


        本文假设读者熟悉随机变量、概率分布和期望等概念。  如果您忘记了一些东西,这里有一个回顾。机器学习和统计符号的标准化不是很好,因此在这篇文章中使用非常精确的符号会很有帮助:
  • 大写X表示随机变量
  • 大写P( X)表示该变量的概率分布
  • 小写x∼P _ _( X)表示一个值X采样(~)从概率分布磷( X)通过一些生成过程。
  • 小写p ( X)是分布的密度函数X。它是测度空间上的标量函数X。
  • p ( X= x )(速记p ( x )) 表示在特定值下评估的密度函数X。 

        许多学术论文交替使用术语“变量”、“分布”、“密度”,甚至“模型”。这本身不一定是错误的,因为X,磷( X), 和p ( X)所有这些都通过一一对应来相互暗示。 然而,将这些词混合在一起会令人困惑,因为它们的类型不同(对函数进行采样没有意义,对分布进行积分也没有意义)。 
 

        我们将系统建模为随机变量的集合,其中一些变量(X)是“可观察的”,而其他变量(Z)是“隐藏的”。我们可以通过下图来画出这种关系:
 

                                贝叶斯变分方法:初学者指南--平均场近似_第1张图片

 

        边缘绘制自Z到X通过条件分布将两个变量联系在一起磷( X| Z)。
        这是一个更具体的例子:X可能代表“图像的原始像素值”,而Z是一个二元变量,使得Z= 1“如果X是一只猫的图像”。
 

X= 

贝叶斯变分方法:初学者指南--平均场近似_第2张图片

P( Z= 1 ) = 1(肯定是猫)
X=
贝叶斯变分方法:初学者指南--平均场近似_第3张图片
P( Z= 1 ) = 0(绝对不是猫)
X= 
贝叶斯变分方法:初学者指南--平均场近似_第4张图片
P( Z= 1 ) = 0.1(有点像猫)
贝叶斯定理为我们提供了任意一对随机变量之间的一般关系:
 
p ( Z| X)=p ( X| Z) p ( Z)p ( 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 作为先验的隐藏变量


        这是感兴趣的读者的旁白。跳到下一部分继续学习本教程。

        前面的猫示例展示了观察变量、隐藏变量和先验的非常传统的示例。然而,重要的是要认识到隐藏变量/观察变量之间的区别有些任意,并且您可以随意分解图形模型。

我们可以通过交换术语来重写贝叶斯定理:

 
p ( Z| X) p ( X)p ( Z)= p ( X| Z)



        所讨论的“后”是现在磷( X| Z)。隐藏变量可以从贝叶斯统计

        框架 解释  为  附加到观察到的变量的先验信念。例如,如果我们相信X是多元高斯分布,隐藏变量Z可能代表高斯分布的均值和方差。参数分布磷( Z)那么 先验 分布为磷( X)。

        您还可以自由选择哪些值X和Z代表。例如,Z可以改为“平均值、方差的立方根,以及X+ Y在哪里是∼ N( 0 , 1 )”。这有点不自然和奇怪,但结构仍然有效,只要磷( X| Z)进行相应修改。

        您甚至可以向系统“添加”变量。先验本身可能依赖于其他随机变量磷( Z| θ),它们有自己的先验分布磷( θ ),并且那些仍然有先验,等等。任何超参数都可以被认为是先验。在贝叶斯统计中, 先验一直向下。

贝叶斯变分方法:初学者指南--平均场近似_第5张图片

 

3.2 问题表述


        我们感兴趣的关键问题是后验推理,或者隐藏变量的计算函数。Z。后验推理的一些典型例子:
  • 鉴于这段监控录像X,嫌疑人出现在其中吗?
  • 鉴于此推特提要X,作者郁闷吗?
  • 鉴于历史股价X1 : t − 1,什么会Xt是?
         我们通常假设我们知道如何计算似然函数上的函数磷( X| Z)和先验磷( Z)。

        问题是,对于上面这样的复杂任务,我们通常不知道如何从中采样磷( Z| X)或计算p ( X| Z)。或者,我们可能知道以下形式p ( Z| X),但相应的计算非常复杂,我们无法在合理的时间内对其进行评估。我们可以尝试使用基于采样的方法,例如MCMC,但这些方法收敛速度很慢。

 

四、平均场近似的变分下界


        变分推理背后的想法是这样的:让我们对一个简单的参数分布进行推理问φ( Z| X)(如高斯)我们知道如何进行后验推理,但调整参数φ以便问φ是一样接近磷尽可能。

        下面直观地说明了这一点:蓝色曲线是真正的后验分布,绿色分布是我们通过优化拟合到蓝色密度的变分近似(高斯)。

贝叶斯变分方法:初学者指南--平均场近似_第6张图片

 
         分布“接近”意味着什么?平均场变分贝叶斯(最常见的类型)使用反向 KL 散度作为两个分布之间的距离度量。
KL(Q_\phi(Z|X)||P(Z|X)) = \sum_{z \in Z}{q_\phi(z|x)\log\frac{q_\phi(z|x)}{p(z|x)}}
  
 

        反向 KL 散度衡量信息量(以 nat 或单位为单位\frac{1}{\log(2)})需要“扭曲”P(Z)使其适应Q_\phi(Z)。我们希望最大限度地减少这个数量\phi

        根据条件分布的定义,p(z|x) = \frac{p(x,z)}{p(x)} 。让我们把这个表达式替换成我们原来的表达式KL表达式,然后分布:

贝叶斯变分方法:初学者指南--平均场近似_第7张图片

尽量减少KL(Q||P) 关于变分参数φ,我们只需最小化\sum_{z}{q_\phi(z|x)\log{\frac{q_\phi(z|x)}{p(z,x)}}}   , 因为 \log{p(x)}相对于固定φ。让我们将这个数量重写为分布的期望 Q_\phi(Z|X) 。

贝叶斯变分方法:初学者指南--平均场近似_第8张图片

        最小化这个相当于 最大化 这个函数的负数:
贝叶斯变分方法:初学者指南--平均场近似_第9张图片



在文学中,\mathcal{L}被称为变分下界,并且如果我们可以评估,则在计算上是易于处理的p ( x | z) , p ( z) , q( z| x)。我们可以进一步重新排列术语,产生直观的公式:

贝叶斯变分方法:初学者指南--平均场近似_第10张图片



        如果抽样z \sim Q(Z|X) 是一个转换观察结果的“编码”过程X到潜在代码z,然后采样x \sim Q(X|Z) 是一个“解码”过程,从z。

        它遵循L是预期“解码”可能性的总和(我们的变分分布可以解码样本的效果如何)Z回到样本X),加上变分近似与先验之间的 KL 散度Z。如果我们假设Q (Z| X)是条件高斯的,然后先验Z通常选择均值为 0、标准差为 1 的对角高斯分布。

        为什么L称为变分下界?替代L回到方程。(1),我们有:

贝叶斯变分方法:初学者指南--平均场近似_第11张图片

        等式的含义 (4),用通俗的语言来说,就是p ( x ),数据点的对数似然X在真实分布下,是 \mathcal{L},加上一个误差项KL(Q||P) 捕获之间的距离Q(Z|X=x) 和 P(Z|X=x) 在该特定值X

        自从KL ( Q | | P) ≥ 0,日志p ( x )必须大于L。所以L是下界_日志p ( x )。L也称为证据下界 (ELBO),通过替代公式:
 
L =对数p ( x ) − KL ( Q ( Z| X) | | 磷( Z| X) ) =乙问[日志p ( x | z) ] −KL ( Q ( Z| X) | | 磷( Z) )


注意L本身包含近似后验和先验之间的 KL 散度项,因此总共有两个 KL 项日志p ( x )。
 

4.1 正向 KL 与反向 KL


        KL散度不是对称 距离函数,即KL(P||Q) \neq KL(Q||P) (除非当Q = P)第一种称为“正向KL”,而后者则称为“反向KL”。那么为什么我们要使用Reverse KL呢?这是因为由此产生的推导需要我们知道如何计算p(Z| X),这就是我们首先想做的。


        我真的很喜欢 Kevin Murphy 在PML 教科书中的解释,我将尝试在这里重新表述:

        让我们首先考虑前锋 KL。正如我们从上面的推导中看到的,我们可以将 KL 写成“惩罚”函数的期望\log \frac{p(z)}{q(z)}通过权重函数p ( z)。

贝叶斯变分方法:初学者指南--平均场近似_第12张图片

        无论何时p(Z) > 0,惩罚函数都会对总 KL 造成损失。因为p(Z)>0,\lim_{q(Z) \to 0} \log \frac{p(z)}{q(z)} \to \infty 。这意味着无论在哪里,前向 KL 都会很大Q(Z) 未能“掩盖”P(Z)


        因此,当我们确保q(z) > 0 无论在哪里p ( z) > 0。优化的变分分布Q(Z) 被称为“避免零”(当密度避免为零时p ( Z)为零)。

贝叶斯变分方法:初学者指南--平均场近似_第13张图片



最小化 Reverse-KL 具有完全相反的行为:

贝叶斯变分方法:初学者指南--平均场近似_第14张图片

KL ( Q | | P)=Σzq( z)记录q( z)p ( z)=乙p ( z)[日志q( z)p ( z)]
 

如果p ( Z) = 0,我们必须保证权重函数q( Z) = 0无论分母在哪里p ( Z) = 0,否则 KL 就会爆炸。这称为“迫零”:

贝叶斯变分方法:初学者指南--平均场近似_第15张图片


        总而言之,最小化前向 KL 会“拉伸”你的变分分布Q (Z)覆盖整个P( Z)就像防水布一样,同时最大限度地减少反向KL“挤压”Q (Z) 在下面 P( Z)。

        在机器学习问题中使用平均场近似时,请务必牢记使用反向 KL 的含义。如果我们将单峰分布拟合到多峰分布,我们最终会得到更多的假阴性(实际上有概率质量P( Z)我们认为没有的地方Q (Z))。

 

4.2 与深度学习的联系


        变分方法对于深度学习非常重要。我将在后面的文章中详细阐述,但这里有一个快速剧透:
  1. 深度学习非常擅长使用大量数据对非常大的参数空间进行优化(特别是梯度下降)。
  2. 变分贝叶斯为我们提供了一个框架,通过它我们可以将统计推理问题重写为优化问题。
        深度学习和 VB 方法的结合使我们能够对极其复杂的后验分布 进行推理。事实证明,像变分自动编码器这样的现代技术优化了本文中导出的完全相同的平均场变分下界!

        感谢您的阅读,敬请关注!

你可能感兴趣的:(#,贝叶斯理论,人工智能,人工智能,数学模型)