算法速学速用大辞典 pdf_随机梯度蒙特卡洛算法-重要性采样

bba09b35bfe83e9ad103bb4a9461082c.png

大家好,借知乎宣传一篇NeurIPS 2020文章。为了少占用大家时间,我会用通俗的动图描述算法,抛砖引玉。文章的理论性质和潜力值得让数学大神加以改进并被计算机大牛发扬光大。

A Contour Stochastic Gradient Langevin Dynamics Algorithm for Simulations of Multi-modal Distributions​arxiv.org

话不多说,先放一个模拟图,一个分布有9个mode,中间一个概率最大,边上次之,角上四个最小。如果你能准确采样分布,你就能获得正确的预测分布。这在避免第二类统计错误(把不对的归为是对的)和增强学习中有巨大前景。深度学习中一个标准的采样算法是随机梯度朗之万动力学(SGLD),如图所示,粒子会在坑中逗留很久,坑越深,逗留时间指数变长。也就是说,采样这个分布是极其慢的。

33a6fb264d2a28d74a111b7a3e9f90d4.gif

有研究者尝试过一个简单实用的idea,即采用周期性cosine学习率获得不错的实验表现。大学习率explore新区域,小学习率获得局部采样。图下可见,效果比SGLD提升了不少。

e3044537-8424-eb11-8da9-e4434bdf6706.png
Zhang - ICLR 2020

当然, @Zhanxing Zhu 老师的变温tempering算法,对non-convex问题也很有潜力。对于preconditioned SGLD @Chunyuan Li,它对Hessian条件数糟糕的情况做了很好的改进。

更著名的算法是经典的并行回火(Parallel tempering/ replica exchange)算法。思想是引入两个(或多个)随机过程,高温过程探索全局(exploration),低温过程采样(exploitation)。当高温过程能量(loss)值比低温过程没差很多时,参数有一定概率去互换(swap)。利用跳跃(jump)的方式解决爬坡难的问题。

4b994d30f1325644747907996a92458e.png

由于逃脱local trap需要的代价是指数级别(和深度有关),因此这个算法用较小代价获得了指数加速。此算法如此流行且重要甚至都出现在阿里数学竞赛试题里(忘了哪一版了)。

0c3e42862cb5d868106cb22aff9ee55f.gif
Deng, ICML 2020

直观想象,如何跨越能量壁垒是加速采样的重中之中。而现实下,鱼和熊掌不可得兼,exploration and exploitation常常只能取舍。多个过程/引入跳跃无疑会很好的克服这一问题。但如果只用一个过程不带跳如何达到理论上最大的潜能呢?传统MCMC领域公认的一个答案是:重要性采样(importance sampling):


即如果
分布很难采样,但
分布容易的多,同时你还能获得分布之间的关系
(Radon nikodym导数,
importance weight)。那么你可以通过间接采样
来大大
加速
的模拟

什么样的

分布比
分布容易采样呢?Neal在Annealed Importance Sampling提出用高温的思路将分布变平。 这篇文章采用的则是统计物理里面的multicanonical ensemble和Wang-Landau里面的思路,将原分布(下图绿线)除以目标分布的
能量pdf(也将作为importance weight)来将分布变平(下图红线)。

从而降低能量壁垒。该思想已经在统计物理和生物信息学领域获得极大成功,被王永雄、刘军教授(两位COPSS奖:统计菲奖,一年一人,coadvisor的老板和师兄)评价为最适合加速蒙特卡洛的算法。

b8f6c26b81c7e46c10321b9dabdaa16e.png

尽管目标分布的能量pdf刚开始不知道,但获得能量pdf比获得分布信息要容易的多(比如一个Gaussian mixture with equal weight, 估计单个mode的能量pdf很容易,而这个信息已经足够;进一步的话,不equall weight也不是啥问题)。我们可以用stochastic approximation(可以想象成EM算法的进阶版)一边采样一边优化隐变量。均衡情况下,隐变量收敛到能量pdf,目标参数弱收敛到更容易采样的

分布。神奇的是,此算法拥有简洁的形式(比原算法只多了下面一行迭代,相比之下Adam需要额外5层迭代)

3d578396b4dea40ee66a9e17d4db25e9.png

和极佳的稳定性,隐变量可以收敛到唯一fixed point而无关凸性(EM算法常见问题就是隐变量local trap且极其不稳定)。该算法和拟牛顿算法有一丝相似。但拟牛顿不改进能量函数只是估计Hessian,因此只能获得渐进超线性的表现;而我们的算法步步改变几何形状的做法,潜在的指数加速了收敛(为啥指数阶的话,由于分析很难,我还是引一篇reference吧)。

下面是路径展示:此算法引入一个隐变量,这个隐变量代表分布的能量pdf,原始分布除以这个隐变量可以获得更平的分布因而更容易模拟,你能看出高能区似乎也有很多样本,由于他们对应的importance weight很小,因此结合importance weight

还是可以
恢复原始分布能量pdf刚开始未知,但是一些初步的学习后便可以获得巨大的加速效果。

6501716f67e5282142e740df80828c9a.gif
Deng - NeurIPS 2020

这份工作是统计物理里面Wang-Landau算法从Metropolis kernel 到Langevin kenel的拓展,为一类重要的加速技巧adaptive biasing force做了铺垫。为了能应用在深度学习领域,我们顺便把随机梯度的版本也一并做了出来。simulation比肩甚至可能超越parallel temerping的性能证明了其巨大的潜能。

此文章最大的novelty在于methodology development。如果你看到simulation的潜能不觉得新奇就可以无视后续了。本篇文章更侧重讲方法论,因而只提供了一些简单的DNN实验,实验中高loss下,能量PDF的估计会变得困难,比如

。折中去大幅提升实验性能的办法有很多,就不在这篇文章探讨了。应用的工作留给更专业的同学进行了。

改变几何形状带来的理论增益远超Hessian估计,动量,或者高阶数值离散格式。比如深度学习中的基石算法SGD with decaying learing rate其本质就是模拟退火,通过步步改变几何形状使得概率mass聚集在global minima附近,相比之下所谓ADAM/ RMSprop这类算法在大问题下基本就不work了。当然,这么大的收益也也需要更高阶的数学技巧来分析,大量PDE和黎曼几何是免不了了。既有挑战性,也有无限潜力。呼唤真

数学大神关注此问题。

用learning rate decay来实现模拟退火已经是业界公认最实用的技巧之一,而与它一样强大的parallel tempering在DNN领域如何高效的实验和调参还完全是一片空白。希望工程背景强大的同学也关注一波。

1. Max Welling, Yee Whye Teh. Bayesian Learning via Stochastic Gradient Langevin Dynamics. ICML'11

2. R. Zhang, C. Li, J. Zhang, C. Chen, A. Wilson. Cyclical Stochastic Gradient MCMC for Bayesian Deep Learning. ICLR'20

3. W. Deng, Q. Feng, L. Gao, F. Liang, G. Lin. Non-convex Learning via Replica Exchange Stochastic Gradient MCMC. ICML'20.

4. W. Deng, G. Lin, F. Liang. A Contour Stochastic Gradient Langevin Dynamics Algorithm for Simulations of Multi-modal Distributions. NeurIPS'20.

=========

Nov. 6补充: 英文blog见Dynamic Importance Sampling

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值