结构随机变分推理

简介

在《Structured Stochastic Variational Inference》中,作者关注变分推理。特别是估计具有多种后验的高维度贝叶斯模型的参数,例如混合模型,主题模型( topic models)和因子模型(factor models)。

SSVI更少关注不确定性估计,在这种情况下难以获得置信和解释。平均场变分推断近似难以处理的后验分布,这是根据所有参数都是独立的分解近似分布来计算的。调整该平均场分布以最小化Kullback-Leibler偏差。这相当于最大化数据边际概率的下限。对分解分布的限制使问题易于处理,但降低了近似的保真度,并引入了局部最优(Wainwright和Jordan,2008)。一些补救措施是通过恢复一些依赖性来削弱平均场分解,从而产生“结构化”平均场近似(Saul和Jordan,1996)。

标准结构化平均场算法的适用性,速度,有效性和易于实施是受到限制的,因为结构化分布所暗示的下限必须以封闭形式提供。最近的工作使用随机优化来管理这些难以处理的变分下界,这种方式允许人们优化近似计算的函数即可。例如,Ji(2010)对“崩溃collapsed”模型的后验使用平均场近似,其中一些参数已经被分析边缘化,Salimans和Knowles(2013)对随机波动率模型的后验应用了结构化近似,并且Mimno(2012)对折叠模型的后验使用结构化近似。与此同时,霍夫曼等人(2013)提出了随机变分推理(stochastic variational inference,SVI)框架,该框架使用随机优化将平均场变分推理应用于海量数据集。 SVI将层次模型中未观察到的变量分成全局参数β(在所有观察中共享)和局部隐藏变量组z_1 ... ,z_n(每个都特定于一小组观察y_n)。目标是最小化在局部和全局参数上易处理的近似分布q(z,β),与这些参数上的真实后验p(z,β| y)之间的Kullback-Leibler(KL)偏差。 SVI比传统的批量变分推理算法更快地逼近后验。

与批量变分推理一样,SVI依赖于平均场近似,这要求q因子分解为

(\prod k q (\beta_k))\prod{n,m}q(z_n,m)

Image.jpg

也就是说,SVI近似于联合后验p(z,β| y),其分布q不能表示随机变量之间的任何依赖关系。 Mimno (2012)提出了潜在Dirichlet分配的变体,它恢复了局部隐藏变量z_{n,1:M}的集合之间的依赖关系,使得近似分布具有

q(z,\beta)=(\prod_kq(\beta_k))\prod_n q(z_{n,1:M})

Image.jpg 的形式,提高q近似后p(z,β| y)的能力。但是他们的方法仍然打破了全局和局部变量β和z之间的依赖关系。

结构化随机变分推理(SSVI),这是SVI框架的一般化,可以恢复全局变量和局部变量之间的依赖关系。 SSVI近似于一类广泛模型的后验p(z,β| y),其分布形式为

q(z,\beta)=(\prod_kq(\beta_k))\prod_n q(z_n|\beta})

Image.jpg

允许任意依赖关系β和z——n。

将介绍两种SSVI算法。我们首先回顾可以应用SSVI的模型类别及其使用的变分分布。

2.1模型假设

与SVI(Hoffman等,2013)一样,假设有N组观测值y_{1:N}和概率模型,其概率为

p(y,z,\beta) = p(\beta)\prod_np(y_n,z_n|\beta)

Image.jpg

这种模型的独立结构在图1中可视化。全局参数β在所有观察中共享,并且局部隐藏变量z_{1:N}在给定全局参数β的情况下在条件上彼此独立。

image.png 图一:左:图形模型,显示框架中模型的独立结构。这里不假设Z_n的元素之间有依赖关系,所以Z_n的元素都是连通的。 这里只显示了三个局部z变量,但可以有更多或更少。 中间的图:在框架中可能的结构化变分分布Q(β,z)的图形模型。 右图:平均场变分分布的图解模型。

我们将把注意力限制在条件共轭模型上。具体来说,我们假设

p(\beta) = h(\beta)exp{\eta \cdot t(\beta)-A(\eta)}

p(y_n,z_n|\beta) = exp{t(\beta\cdot \eta_n(y_n,z_n)+g_n(y_n,z_n))}

Image.jpg 其中基础测量h和对数标准化器A是标量值函数,η是自然参数的向量,t(β)是向量值足够的统计函数,g_n是标量值函数和η_n是向量值函数。 p(y_n,z_n,β)的这种形式包括所有p(β),p(y_n,z_n |β)的共轭分布对(Gelman等,2013);也就是说,它是最普遍的分布族,条件p(β| y,z)与先前的p(β)在同一族中。该条件是

p(\beta|,y,z) = h(\beta)exp{(\eta+\sum_n \eta_n(y_n,z_n))\cdot t(\beta)-A(\eta+\sum_n \eta_n(y_n,z_n))}

Image.jpg

这些限制是霍夫曼等人(2013)强加的限制。 不同之处在于我们没有假设条件分布p(zn | yn,β)或

p(z_n|y_n,\beta) ; p(z_{n,m}|y_n,z_{n,\m},\beta)

Image.jpg 的易处理性。因此,这项工作适用于任何适合SVI框架的模型,包括混合模型,LDA,隐马尔可夫模型(HMM),factorial HMM,卡尔曼滤波器,因子分析器,概率矩阵因子分解,分层线性回归,分层概率回归和许多其他分层模型。与SVI不同,它还可以解决没有易处理局部条件的模型。

2.2近似分布

我们的目标是在一些受限制的,易处理的家族中使用q(z,β)分布近似顽固性后验p(z,β| y)。我们从该族中选择q分布,通过求解优化问题那样,最小化q(z,β)和后验p(z,β| y)之间的Kullback-Leibler(KL)偏差。最简单的方法是进行平均场近似,将q限制为因式分解,使得

q(z,β)=

Image.jpg

q(z,\beta)=q(\beta)\prod_n\prod_mq(z_{n,m})

这种限制大大简化了q和后验之间的KL离散,但这种简单性是有代价的。我们为了使q更容易使用而破坏的每个依赖性,使q更不能接近后验p(z,β| y)。打破依赖关系也可能会在q和后验之间的KL离散中引入额外的局部最小值;结构化平均场部分地放松了平均场独立性限制(Saul和Jordan,1996)。传统的结构化平均场算法要求从业者识别和利用某些特定于模型的结构;例如,Ghahramani和Jordan(1997)利用HMM的动态编程算法来推导出因子HMM的结构化平均场算法。 Mimno (2012)提出了一种用于潜在Dirichlet分配的结构化随机变分推理算法,该算法较少依赖于模型特定结构,对关节分布q(zn,1:M)没有限制,因此q(z,β)被分解为

q(z,\beta)=(\prod_kq(\beta_k))\prod_nq(z_n)

Image.jpg

最优q(z_n)可能不易于归一化,但它仍然可以使用Markov chain Monte Carlo (MCMC)进行采样,这是生成随机变分推理算法的随机自然梯度所必需的。 结果是推理算法获得模型参数的高质量估计的能力的质量显着提高。 然而,Mimno等人的近似后验(2012)仍然打破了全局参数β和局部隐变量z之间的依赖关系。 因此,结构化随机变分推理(SSVI)算法的框架,该算法恢复了β和z之间的依赖关系。 我们的变分分布q的形式为

q(z,\beta)=(\prod_kq(\beta_k))\prod_nq(z_n|\beta)

Image.jpg

2.3 The Structured Variational Objective

我们施加的唯一剩余因子分解是与β的元素之间的;给定β的z_ns之间的条件独立性由方程2中的模型得到。算法将q(β)限制在与先验p(β)相同的指数族中,因此

q(\beta)=h(\beta)exp{\lambda \cdot t(\beta)-A(\lambda)}

Image.jpg

λ是控制q(β)的自由参数的向量。算法要求z_n和β之间的q下的任何依赖性都由一些向量值函数γn(β)介导,因此可以写q(z_n |β)= q(z_n |γ_n(β))。 q的这种形式允许几乎所有模型变量之间存在丰富依赖性。然而,这需要付出代价。在平均场变分推断中,我们最大化数据边际概率的下限;这相当于最小化从q到后验的KL离散(Bishop,2006)。然而,当允许z_n依赖于q中的β时,这个下限期望是无法计算的。这个问题似乎无法克服,但即使无法计算界限,仍然可以使用随机优化来优化它。

2.3结构变分目标

我们的目标是找到一个与后验p(β,z | y)具有低KL离散的分布q(β,z)。q与完全先验之间的KL离散度是:

KL(q_{z,\beta}||p_{z,\beta|y})=-E_q[logp(y,z,\beta)]+E_q[logq(z,\beta)]+logp(y)

Image.jpg

因为KL散度必须是非负的,这就产生证据下界(ELBO)

L=\int \beta q(\beta)(log\frac{p(\beta)}{q(\beta)}+\sum_n \int{z_n}q(z_n|\beta)log\frac{p(y_n,z_n|\beta)}{q(z_n|\beta)}dz_n)d\beta\leq logp(y)

Image.jpg

我们使用2.1节中假设的条件独立结构来破坏log p (y,z |β)成为n的和。算法目标是受q的一些限制下最大化ELBO。

在描述我们为γ_n(β)选择的形式之前,首先注意到等式5中的第二个积分本身是第n组观测的边际概率的下界:

\int_{z_n}q(z_n|\beta)log\frac{p(y_n,z_n|\beta)}{q(z_n|\beta)}dz_n)d\beta = -KL(q_{z_n}|\beta||p_{z_n|y_n,\beta}+logp(y_n|\beta) \le logp(y_n|\beta)

Image.jpg

因此,对于β的任何特定值,我们可以通过最小化q(z_n |β)和p(z_n | y_n,β)之间的KL散度来最大化全局ELBO,而不是q(z_n |β)。假设控制q(z_n |β)= q(z_n |γ_n(β))的函数γ_n(β)被定义为这样,因此γ_n(β)处于这个“局部的局部最大值” ELBO“,即,

\triangledown {\gamma_n} \int{z_n}q(z_n|\beta)log\frac{p(y_n,z_n|\beta)}{q(z_n|\gamma_n(\beta))}dz_n)d\beta =0

Image.jpg

函数γ_n(β)可以是隐含的;例如,可以通过优化算法来评估它。

2.4 算法

在算法1中总结了从等式5优化ELBO的算法。每次迭代,从q(β)中采样全局参数β。然后计算参数γ_n(β)到每个局部变分分布q(z_n |γ_n(β)),使局部ELBO

E_q[log p(y_n,z_n|\beta) - log q(z_n|\beta)|\beta]

Image.jpg

最大化。并且计算关于最大化局部ELBO的η_n(y_n,z)的期望值的无偏估计η_n。最后,我们用一些步长ρ更新λ,使得:

\lambda ' #ERROR! )\lambda +\rho(\eta +V(\beta,\lambda )\sum_n \widehat{\eta}_n)

Image.jpg 其中V(β,λ)是根据q(β)的累积分布函数(CDF)分位数函数(逆CDF)定义的矩阵。定义CDF Qk(βk)和分位数函数R_k(Qk(βk))\equiv βk,V(β,λ)定义为两个矩阵的乘积: q的对数归一化器A的二阶导数的倒数,以及t(R(Q(β)))的可比关于λ:

V(\beta,\lambda ) \equiv \triangledown \lambda ^2A(\lambda )^{-1}  \triangledown \lambda R(Q(\beta))  \triangledown _\beta t(\beta)^T

Image.jpg

V(β,λ)≡∇2λA(λ)-1∇λR (Q(β))∇βt(β)>。 (9)等式8在附录A中导出,作为SSVI ELBO的随机自然梯度更新。它类似于标准SVI更新,有两个不同之处:我们在估计ηn时使用q(β)的样本而不是Eq [t(β)],并且我们将ηn乘以矩阵V(β,λ)。由于β和η之间的依赖性,出现矩阵V. V的期望值是单位矩阵,因为

V_{\widehat{\eta}_n} = (V-E_q[V])(\widehat{\eta})-E_q[\widehat{\eta}])+\widehat{\eta}])

Image.jpg

(最后一个同一性来自q(β)在指数族中。)因此我们可以将V_η分解为V_η=(V-Eq [V])(η-Eq [η])+η。 (10)如果协方差表达式(V -Eq [V])(η-Eq [η])很小(或者因为V或η的方差很小,或者因为V和η不相互依赖),我们可以在不引入太多偏见的情况下忽略它。这表明更简单的更新(在算法1中标记为SSVI-A)

\lambda'=(1-\rho )\lambda+\rho(\eta+\sum_n \widehat{\eta}_n)

Image.jpg 这避免了计算分位数导数的难度和(适度)费用和log-normalizers。

2.5方法矩阵

自由选择q(z_n |β)的任何形式和想要的任何无偏估计η;不同的选择具有不同的属性:精确条件:q(zn|β) = p(zn|yn, β)。将q(z_n|β)设置为局部条件分布可以得到最佳的局部ELBO。但是这个条件可能是难以处理的,在这种情况下,可以使用MCMC来估计Eq[η_n(y_n, z_n)|β]。通过这种选择,SSVI最小化q(β)和边缘后验 p(β|y),之间的KL偏差,从而积累了“讨厌参数nuisance parameters”z。

平均场:q(z_n|\beta) = \prod_m q(z_n,m|\beta)。这种选择可能在计算上话费更小,并且通常可以以封闭形式计算E_q [\eta_n(y_n,z_n |\beta)],但它算法1结构化随机变分推断(SSVI)。

直到收敛降低了算法近似边缘后验 p(β|y)的能力。也就是说,这仍然比完全平均场方法更好,因为它打破了z和β之间的依赖关系。

非约束保留方法(Non-bound-preserving approaches:):尽管假设选择q(z_n |β)来最大化本地ELBO L_n,但我们得出SSVI,但是可以通过其他方式获得z_n上的分布。例如,对于潜在的Dirichlet分配,可以适应Asuncion(2009)的CVB0方法, 使用固定值β,得到类似于Foulds(2013年)的算法。所有这些局部变分分布的选择也可以用于传统的均值场设置,其中q(β,z)= q(β)q(z),或者作为变分最大后验(MAP)估计算法的一部分。 因此,对于任何享受条件共轭的模型,我们都有一个可能的变分推理算法矩阵:可以匹配用于近似p(z_n | y_n,β)的任何“E-step”(例如,平均场或来自精确条件的采样)使用任何“M步”(例如MAP,平均场,SSVI,SSVI-A)来更新我们对p(β| y)的近似。

2.6扩展

有几种方法可以扩展上面介绍的基本算法:

子数据采样。与在SVI中一样,SSVI可以通过仅计算S观测值的一些随机采样子集的ηn来计算等式8中n的和的无偏估计,从而导致更新

\lambda'=(1-\rho )\lambda+\rho(\eta+V(\beta,\lambda) \frac{N}{S} \sum_n \widehat{\eta}_n)

Image.jpg

对于大型数据集,仅仅查看一小部分数据的减少的计算工作量远远超过该子采样引入的噪声。从Broderick等人最近的工作中得到启示。 Wang和Blei(2012),作者建议在第一次扫描数据集的过程中逐渐增加乘数N。超参数更新和参数层次结构。正如霍夫曼等人的平均场随机变分推理框架一样(2013)。我们可以通过在ELBO的梯度方向上采取相对于那些超参数的步骤来优化我们模型中的任何超参数。我们还可以将本文开发的框架扩展到具有全局参数层次结构的模型,如(Hoffman等,2013)。

【出处:http://proceedings.mlr.press/v38/hoffman15.pdf   】

2. 发展历史

描述

先前已经在几种情况下提出了从全局变分分布中采样以优化难以处理的变分推理问题的想法。( Ji等 , 2010); (Nott, 2012); (Gerrish, 2013);(Paisley, 2012),和(Ranganath, 2014)提出了不改变变量的抽样作为应对非共轭的方法。

Kingma和Welling(2014)以及Titsias和Lazaro-Gredilla(2014)提出了使用“变量变化change of variables”的方法,他们的方法更多地关注速度和/或处理非共轭而不是提高变分近似的准确性。

Salimans和Knowles(2013)也使用变量的变化来显着减少随机梯度的方差。尽管上述一些方法使用随机优化来改善平均场近似的质量,但这些方法与SSVI之间存在重大差异。

Ji( 2010)的论文中将他们的方法应用于某些参数已被分析边缘化的模型中,但不考虑明确的结构化变分分布。此外,在2015年《Sructured Stochastic Variational Inference》的非正式实验中,发现它们的梯度估计的方差对于高维问题来说是不可接受的。 Salimans和Knowles(2013)将其随机线性回归方法应用于结构变分分布,其中较低级变分分布的自然参数是来自较高级变分分布的抽取的显式函数。相比之下,SSVI的条件分布q(z |β)的隐式形式允许β和z之间更复杂的依赖性。

但是上面提到的论文没有利用共轭关系,这对于SSVI-A的易于实施和效率至关重要。其他两个相关算法归功于(Mimno等人,2012)(SSVI概括)和Wang 和 Blei(2012)。 Wang和Blei(2012)的算法也使用抽样和共轭关系来尝试恢复平均场算法中破坏的依赖关系,但是他们的方法缺乏收敛性或正确性的保证。

因此2015年,提出了《Structured Stochastic Variational Inference》算法来解决上述所存在的问题。

【出处:http://proceedings.mlr.press/v38/hoffman15.pdf      】

主要事件

年份事件相关论文
2013Hoffman, M. D.等人提出SVIHoffman, M. D., Blei, D. M., Wang, C., & Paisley, J. (2013). Stochastic variational inference. The Journal of Machine Learning Research, 14(1), 1303-1347.
2014Bes, J. F.对SVI进行回顾Bes, J. F. (2014). Stochastic Variational Inference. Machine Learning.
2015Hoffman, M. D., & Blei, D. M.提出SSVIHoffman, M. D., & Blei, D. M. (2015). Structured stochastic variational inference. In Artificial Intelligence and Statistics.
2017Blei, D. M., Kucukelbir, A., & McAuliffe, J. D. 对变分结构随机网络回顾Blei, D. M., Kucukelbir, A., & McAuliffe, J. D. (2017). Variational inference: A review for statisticians. Journal of the American Statistical Association, 112(518), 859-877.

3. 发展分析

瓶颈

分层贝叶斯建模是一个从丰富数据源学习的强大框架。不幸的是,丰富模型后代的难以驾驭的特性驱使开发者采用近似推理算法,例如平均场变分推理(mean-field variational inference)或马尔可夫链蒙特卡罗(Markov chain Monte Carlo,MCMC)。

这些类型的方法具有互补的优点和缺点 - MCMC方法具有无偏性的强渐近的保证,但是通常较慢,而平均场变分推断通常较快但往往歪曲了后验的重要信息,更容达到局部最优。已经开发了基于随机优化的两种方法的版本,其适用于大型数据集(Welling和Teh,2011; Hoffman等人,2013)。

未来发展方向

变分推理算法得到发展,它几乎与MCMC同样灵活,但是更快。这些算法拟合后验的分布(比如正态分布),将采样问题转换为优化问题,而不是从后验中采样。 ADVI ——自动微分变分推理(Automatic Differentation Variational Inference)

理解如何将变分推理和MCMC这两种策略结合起来进行近似推理是未来研究的领域。 对变分推理和MCMC何时使用(并结合使用)进行原则性的分析,将在该领域有理论和实践上的影响。

【来源:https://arxiv.org/pdf/1601.00670.pdf  】

不幸的是,当面临传统的机器学习问题时,比如分类或(非线性)回归,与集成学习(比如随机森林或梯度提升回归树)这样的算法相比,概率编程不能胜任(精度和可扩展性方面)。

所以将深度学习和概率编程两部分相互结合也是以后未来发展的方向,一方面,概率编程可以让我们以原则化和易于理解的方式构建比较小的,集中的模型来深入了解数据;在另一方面,使用深度学习的启发式方法来训练大量和高度复杂的模型,这些模型的预测效果惊人。如VAE(变分自编码器) 和 ADAM 优化算法是深度学习使用率极高的方法。二者的发明者之一、OpenAI 的研究科学家 Durk Kingma 日前公布了自己的博士论文《变分推理和深度学习:一种新的综合方法》

【来源:https://blog.csdn.net/Together_CZ/article/details/73824111  】

Contributor: Ruiying Cai

简介