当前位置:首页> AI教程> 什么是变分推理?变分推理的数学推导公式

什么是变分推理?变分推理的数学推导公式

释放双眼,带上耳机,听听看~!
本文介绍了变分推理(Variational Inference , VI)的工作原理和数学推导公式,以及KL散度在概率密度函数中的应用。

此篇博文主要介绍什么是变分推理(Variational Inference , VI),以及它的数学推导公式。变分推理,是机器学习中一种流行的方式,使用优化的技术估计复杂概率密度。变分推理的工作原理:首先选择一系列概率密度函数,然后采用KL散度作为优化度量找到最接近于概率密度的函数。引入evidence lower bound的方法更容易计算近似概率。

KL散度

KL散度是两个分布之间的相对熵,量化概率分布P(X)P left( X right)与候选分布Q(X)Qleft( X right)的相似程度。对于一个离散的随机变量XX,概率分布PP和分布QQ之间的KL散度的计算公式如下定义:

什么是变分推理?变分推理的数学推导公式

其中H(P)=−Σx∈XP(x)logP(x)mathbb{H}left( P right) = -Sigma_{x in X} P left( x right)log P left( x right)是分布PP的熵,H(P)=−Σx∈XP(x)logQ(x)mathbb{H}left( P right) = -Sigma_{x in X} Pleft( x right)logQleft( x right)是分布PP和分布QQ的交叉熵。

KL散度具有如下性质:1. 非负性;2. 非对称性;3. 当KL散度的取值位于(0,∞)(0,infty),越接近于0,说明分布PP和分布QQ越匹配。

此外,概率分布PP和分布QQ之间的KL散度还可以表示为两个概率密度函数ppqq之间对数差的期望。假设随机变量xx为概率分布函数PP的一个概率值,Emathbb{E}为期望,那么KL公式还可如下定义:

什么是变分推理?变分推理的数学推导公式

前向 vs 反向 KL

KL散度是非对称的,那也就是说DKL(P∥Q)≠DKL(Q∥P)D_{KL} left( P | Q right) neq D_{KL} left( Q | P right),因此根据分布PP和分布QQ的位置,可分为前向KL和后向KL。

前向KL

前向KL的公式定义如下。只要近似值不能够覆盖实际概率分布,KL散度将会变得很大,用公式表示就是lim⁡q(x)→0p(x)q(x)→∞,p(x)>0lim_{qleft(xright) to 0} frac{pleft(xright)}{qleft(xright)} rightarrow infty , pleft(xright) > 0,当p(x)>0,q(x)→0pleft(xright) > 0, qleft(xright) to 0时,p(x)q(x)frac{pleft(xright)}{qleft(xright)}的极限值将为∞infty。因此,当p(x)>0pleft(xright) > 0时,必须选择一个概率密度确保q(x)>0q left(xright) > 0。这种特殊的情况被称为”zero avoiding”,直观理解就是qq高估pp

什么是变分推理?变分推理的数学推导公式

反向KL

反向KL的公式定义如下,其中lim⁡p(x)→0q(x)p(x)→∞,q(x)>0lim_{p left(xright) to 0} frac{qleft(xright)}{pleft(xright)} rightarrow infty , qleft(xright) > 0,当p(x)=0p left(xright) = 0时,迫使q(x)=0q left(xright) = 0 ,不然KL散度值将会很大。这种被称为“zero forcing”,直观理解就是qq低估pp

什么是变分推理?变分推理的数学推导公式

可视化

下图展示了双峰分布上的正向和反向KL散度。蓝色轮廓表示实际概率密度pp,红色轮廓表示单峰近似qq。左一显示正向KL散度最小化,qq倾向于覆盖pp。中间和右一显示了反向KL散度最小化,qq倾向于锁定到两种模式中的其中一个。

什么是变分推理?变分推理的数学推导公式

问题描述

什么是变分推理?变分推理的数学推导公式

假设有两个随机变量XXZZ,其中XX为观测变量,ZZ为潜在变量。XXZZ的关系如上图所示,观测变量XX依赖于潜在变量ZZ,从ZZXX的箭头表示条件概率密度p(X∣Z)pleft( X | Z right)。依据贝叶斯公式,可计算后验概率密度p(Z∣X)pleft( Z| X right)

p(Z∣X)=p(X∣Z)p(Z)p(X)pleft( Z| X right) = frac{pleft(X|Zright)pleft( Z right)}{pleft(Xright)}

其中,分母p(X)pleft( X right)的计算公式为p(X)=∫z∈Zp(Z∣z)p(z)dzpleft( X right) = int_{z in Z} p left( Z | z right) pleft( z right)dz zz为样本空间ZZ中的一个实例。p(Z)pleft( Z right)为先验,它捕获了ZZ的先验信息。

观察的边缘概率密度(marginal probability density)p(X)pleft( X right)被成为evidence,对于很多模型,evidence的积分依赖于所选模型,要么在闭合形式下不可用,要么需要指数时间计算。

变分推理的目的是为潜在变量的统计推断提供后验概率密度p(Z∣X)pleft( Z| X right) 的近似解析,它从可处理的概率密度族中选择潜在变量ZZ的概率密度函数qq解决近似问题。变分推理能够有效地计算边缘概率密度(或者evidence)的下界,其基本思想是:一个更高的边缘相似性指示所选统计模型更好地拟合观察到的数据。

变分推理

变分推理VI的目的是从可处理的概率密度族Qmathcal{Q}中选择一个近似的概率密度qq。潜在变量ZZ的每一个在Qmathcal{Q}中的概率密度q(Z)∈Qqleft( Z right) in mathcal{Q}都是后验的一个近似候选,VI的目的就是从这些候选中选择最优的那一个。依据KL散度的性质,两个分布的KL值越小,两个分布越匹配。假设近似概率密度于观测变量于观测变量条件不相关,那么推理问题就可以看作一个优化问题,公式如下所示。

什么是变分推理?变分推理的数学推导公式

优化上述公式,就可从所选的概率家族中得到后验的最佳近似值q∗(⋅)q^{*}left( cdot right),优化的复杂性取决于概率密度族的选择。计算上述公式中的KL散度,需要知道后验PP,但是后验的计算是棘手的。

一个替代的方案是用反向KL散度,这样后验和近似的平均交叉熵可以通过期望计算。因此上述公式可以重新被定义为如下公式。

什么是变分推理?变分推理的数学推导公式

然而,由于仍然需要知道后验PP,优化反向KL仍然是不可行的。但是可以最小化一个等于它的函数直到一个常数,这就是evidence lower bound,ELBO。

ELBO: Evidence Lower Bound

设上述公式中的KL散度为DD,依据下述推导可得到ELBO的公式。

D=DKL(Q(Z)∥P(Z∣X))=Ez∈Q(Z)logq(z)p(z∣x)=E[logq(z)]−E[logp(z∣x)]    =E[logq(z)]−E[logp(z,x)]+E[logp(x)]      =E[logq(z)]−E[logq(z,x)]+logp(x)⇓−D+logp(x)=E[logq(z,x)]−E[logq(z)]=ELBQ(Q)begin{matrix}
D &= D_{KL} left( Qleft( Z right) | P left( Z | X right)right) = mathbb{E}_{z in Qleft( Z right) } log frac{qleft( z right)}{p left( z | x right)}
&= mathbb{E} [ log q left( z right)] – mathbb{E} [ log p left( z | x right)] qquad qquad qquad ; ;
&= mathbb{E} [ log q left( z right)] – mathbb{E} [ log p left( z , x right)] + mathbb{E} [ log p left( x right)] ; ; ;
&= mathbb{E} [ log q left( z right)] – mathbb{E} [ log q left( z , x right)] + log p left( x right) qquad
end{matrix}
Downarrow
-D + log p left( x right) = mathbb{E} [ log q left( z , x right)] – mathbb{E} [ log q left( z right)] = ELBQleft( Q right)

ELBO等于KL散度的负值于常量log(x) logleft( x right)的和。从上述公式可以看出,最大化ELBO等价于最小化KL散度。依据贝叶斯概率p(z,x)=p(z)⋅p(z∣x)=p(x)⋅p(x∣z)pleft( z, x right) = pleft( z right) cdot pleft( z | x right) = pleft( x right) cdot pleft( x | z right) ,ELBO公式又可做如下推导。

什么是变分推理?变分推理的数学推导公式

从上述公式可以看出,ELBO是数据的对数似然期望与先验和近似后验概率密度的KL散度之和。对数似然期望描述了所选统计模型与数据的拟合程度。KL散度促使变分概率密度接近于先验,因此,ELBO可看作对数据的正则拟合。

使用Jensen不等式(f(E[x])≥E[f(X)]fleft( E[x] right) ge E[fleft( X right)])可推到出ELBO和p(x)的关系,pleft( x right)的关系,ELBO值是要低于logp(x)log pleft( xright)。问题描述中,我们也提到evidence的积分依赖于所选模型,要么在闭合形式下不可用,要么需要指数时间计算。ELBO和logp(x)log pleft( xright)的这种关系,促使研究人员使用变分下界作为模型选择的标准。

什么是变分推理?变分推理的数学推导公式

参考

  1. An Introduction to Variational Inference
  2. Variational Inference
本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

图像卷积:从全连接层到卷积

2023-12-15 9:50:14

AI教程

数据科学家的管道优势及Melbourne Housing 数据集示例

2023-12-15 10:07:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索