Bayesian Learning via Stochastic Gradient Langevin Dynamics

Bayesian Learning via Stochastic Gradient Langevin Dynamics

在本文中,我们提出了一个新的框架,用于从大规模数据集中学习,基于从small mini-batches中迭代学习。通过在标准的随机梯度优化算法中加入适量的噪声,我们表明,当我们anneal the stepsize,迭代将收敛到真实后验分布的样本。这种优化和贝叶斯后验抽样之间的无缝过渡提供了一个内在的保护,防止过度拟合。我们还提出了一种实用的后验统计蒙特卡罗估计方法,它可以监控 “抽样阈值”,并在超过该阈值后收集样本。我们将该方法应用于三种模型:高斯混合模型、逻辑回归模型和自然梯度的ICA模型。

1. Introduction

本文提出了一种基于大规模数据集的贝叶斯学习方法。我们的方法将随机优化似然的Robbins-Monro型算法与Langevin动态相结合,Langevin动态在参数更新中注入噪声,使得参数的轨迹收敛到完全后验分布,而不仅仅是最大后验分布。由此产生的算法开始类似于随机优化,然后自动过渡到使用Langevin动力学模拟后验样本的算法。

在第二节中,我们介绍了我们方法的两个组成部分:随机优化和Langevin动力学。第3节描述了我们的算法以及它是如何收敛到后验分布的。第4节介绍了一种估计我们的算法何时从随机优化过渡到Langevin动力学的实用方法。第5节在一些模型上演示了我们的算法,第6节进行了总结。

2. Preliminaries

让 θ \theta θ代表参数向量, p ( θ ) p(\theta) p(θ)是先验分布, p ( x ∣ θ ) p(x|\theta) p(x∣θ)是给出了用θ参数化的模型,数据项x的概率。

Bayesian Learning via Stochastic Gradient Langevin Dynamics

在优化文献中,先验正则化了参数,而似然项构成了待优化的代价函数,其任务是寻找最大后验(MAP)参数θ*。

一种流行的称为随机优化的方法(Robbins&Monro,1951)的操作如下。在每次迭代t中,给定数据项的子集 X t = { x t 1 , . . . , x t n } X_t=\{x_{t1},...,x_{tn}\} Xt​={xt1​,...,xtn​},参数更新如下:

Bayesian Learning via Stochastic Gradient Langevin Dynamics

式中, ϵ t ϵ_t ϵt​是步长序列。其基本思想是,在子集上计算的梯度被用来逼近整个数据集的真实梯度。在多次迭代中,整个数据集被使用,而使用子集而不是整个数据集所引起的梯度噪声被平均化。对于大型数据集,如果子集梯度近似足够准确,这比使用整个数据集在每次迭代时计算梯度可以大大节省计算量。

为了确保收敛到局部最大值,除了其他技术假设外,一个主要的要求是步长大小要满足以下特性。

Bayesian Learning via Stochastic Gradient Langevin Dynamics

直观地讲,第一个约束条件保证了无论初始化到多远,参数都会到达高概率区域,而第二个约束条件则保证了参数会收敛到模式上,而不是仅仅在模式上跳动(will converge to the mode instead of just bouncing around it.)。通常,步长大小 ϵ t = a ( b + t ) − γ ϵt=a(b+t)^{-γ} ϵt=a(b+t)−γ呈多项式衰减, γ ∈ ( 0.5 , 1 ] γ∈(0.5,1] γ∈(0.5,1]。

与随机优化一样,ML或MAP估计的问题在于,它们不能捕捉参数的不确定性,并且可能会过度拟合数据。贝叶斯方法捕捉参数不确定性的典型方法是通过马尔可夫链蒙特卡罗(MCMC)技术(Robert&Casella,2004)。在本文中,我们将考虑一类称为Langevin dynamics(Neal,2010)的MCMC技术。如前所述,它们采取梯度步骤,但也会向参数更新中注入高斯噪声,这样它们就不会只坍塌到MAP解(so that they do not collapse to just the MAP solution:):

Bayesian Learning via Stochastic Gradient Langevin Dynamics

对梯度步长和注入噪声的方差进行了均衡,使得样本的方差与后验方差相匹配。朗之万动力学最初是作为一个离散化的随机微分方程,其平衡分布是后验分布。为了修正离散化误差,我们可以将(3)仅仅作为一个提案分布,并使用Metropolis-Hastings进行修正。有趣的是,随着ϵ的降低,离散化误差也会降低,因此rejection rate接近零。然而,典型的MCMC实践是允许一个初始的适应阶段,在该阶段步长被调整,然后固定步长以确保此后的平稳马尔可夫链。

更复杂的技术使用哈密顿动力学和动量变量,以允许参数在更大的距离上移动,而不存在Langevin动力学的低效随机游走行为(Neal,2010)。然而,据我们所知,迄今为止提出的所有MCMC方法都需要在每次迭代时对整个数据集进行计算,这导致了对大型数据集的非常高的计算成本。

3. Stochastic Gradient Langevin Dynamics

考虑到随机梯度算法(1)和Langevin动力学(3)之间的相似性,自然会考虑将这两种方法的思想结合起来。这样可以有效地使用大型数据集,同时允许以贝叶斯的方式捕捉参数的不确定性。该方法是直接的:使用Robbins-Monro随机梯度,添加一定量的高斯噪声,与使用的步长大小平衡,并允许步长大小为零。提出的更新方法很简单:

Bayesian Learning via Stochastic Gradient Langevin Dynamics

其中,步长大小在满足(2)的情况下向零递减。这允许平均化梯度中的随机性,以及渐变为零的MH rejection rates,因此我们可以简单地忽略MH acceptance步骤,这需要对整个数据集的概率进行评估。

在本节的其余部分,我们将给出一个直观的论证,说明为什么θt会以t → ∞的方式接近后验分布的样本。特别是,我们将证明,对于大的t,更新(4)将接近Langevin动力学(3),后者收敛到后验分布。让

Bayesian Learning via Stochastic Gradient Langevin Dynamics

为θ处对数概率的真实梯度,并且

Bayesian Learning via Stochastic Gradient Langevin Dynamics

则随机梯度为 g ( θ ) + h t ( θ ) g(θ)+h_t(θ) g(θ)+ht​(θ), h t ( θ ) h_t(θ) ht​(θ)为零均值随机变量(由于步骤t所选数据项的随机性),其方差为有限方差(finite variance) V(θ),(4)为。

Bayesian Learning via Stochastic Gradient Langevin Dynamics

(7)中的随机性有两个来源:注入的高斯噪声,方差为,随机梯度中的噪声,其方差为 ( ϵ t 2 2 ) V ( θ t ) (\frac{ϵ_t}{2}^2)V(\theta_t) (2ϵt​​2)V(θt​)。首先观察到,对于大的t, ϵ t ϵ_t ϵt​ → 0,注入的噪声将主导随机梯度噪声,所以(7)将有效地成为Langevin动力学(3) (so that (7) will be effectively Langevin dynamics
(3) )。第二个观察点是,当 ϵ t ϵ_t ϵt​ → 0时,Langevin动力学的离散误差将可以忽略不计,所以MH rejection probability将接近0,我们可以直接忽略这一步。

学的离散误差将可以忽略不计,所以MH rejection probability将接近0,我们可以直接忽略这一步。

换言之,(4)、(7)有效地定义了一个非平稳马尔可夫链,使得对于所有的大t,第t步转移算子(transition operator)的平衡分布为θ上的后验分布。接下来我们要解决的问题是,参数序列θ1,θ2,…是否会收敛到后验分布。因因为马尔可夫链是非平稳的,步长减小到0,所以并不能立即看出这是事实。为了证明这一点,我们将证明一个子序列θt1 , θt2 , … …将按预期收敛到后验,所以整个序列也将收敛。

上一篇:图神经网络(十):FASTGCN: FAST LEARNING WITH GRAPH CONVOLUTIONAL NETWORKS VIA IMPORTANCE SAMPLING


下一篇:Jenkins 节点配置中没有Launch agent via Java Web Start 选项