优化│随机梯度蒙特卡洛算法-重要性采样
cac55 2024-10-03 17:49 22 浏览 0 评论
『运筹OR帷幄』转载
作者:邓伟
编者按
改变几何形状带来的理论增益远超Hessian估计,动量,或者高阶数值离散格式。比如深度学习中的基石算法SGD with decaying learing rate其本质就是模拟退火,通过步步改变几何形状使得概率mass聚集在global minima附近,相比之下所谓ADAM/ RMSprop这类算法在大问题下就很难work了。当然,这么大的收益也也需要更高阶的数学技巧来分析,大量PDE和黎曼几何是免不了了。既有挑战性,也有无限潜力。此文章最大的novelty在于methodology development。如果你看到simulation的潜能不觉得新奇就可以无视后续了。
大家好,借平台宣传一篇NeurIPS 2020文章。为了少占用大家时间,我会用通俗的语言和demo描述算法,抛砖引玉。文章的理论性质和潜力值得让数学大神加以改进并被计算机大牛发扬光大。
A Contour Stochastic Gradient Langevin Dynamics Algorithm for Simulations of Multi-modal Distributions
话不多说,先放一个模拟图,一个分布有9个mode,中间一个概率最大,边上次之,角上四个最小。如果你能准确采样分布,你就能获得正确的预测分布。这在避免第二类统计错误(把不对的归为是对的)和增强学习中有巨大前景。深度学习中一个标准的采样算法是随机梯度朗之万动力学(SGLD),如图所示,粒子会在坑中逗留很久,坑越深,逗留时间指数变长。也就是说,采样这个分布是极其慢的。
有研究者尝试过一个简单的idea,即采用周期性cosine学习率获得不错的实验表现。大学习率explore新区域,小学习率获得局部采样。图下可见,效果比SGLD提升了一些。
当然, @Zhanxing Zhu 老师的变温tempering算法,对non-convex问题也很有潜力。对于流行的preconditioned SGLD算法 @Chunyuan Li,它对Hessian条件数糟糕的情况做了一定的改进。
更著名的算法是经典的并行回火(Parallel tempering/ replica exchange)算法。思想是引入两个(或多个)随机过程,高温过程探索全局(exploration),低温过程采样(exploitation)。当高温过程能量(loss)值比低温过程没差很多时,参数有一定概率去互换(swap)。利用跳跃(jump)的方式解决爬坡难的问题。
由于逃脱local trap需要的代价是指数级别(和深度有关),因此这个算法用较小代价获得了指数加速。此算法如此流行且重要甚至都出现在阿里数学竞赛试题里(忘了哪一版了)。
直观想象,如何跨越能量壁垒是加速采样的重中之中。而现实下,鱼和熊掌不可得兼,exploration and exploitation常常只能取舍。多个过程/引入跳跃无疑会很好的克服这一问题。但如果只用一个过程不带跳如何达到理论上最大的潜能呢?传统MCMC领域公认的一个答案是:重要性采样(importance sampling):
即如果分布很难采样,但分布容易的多,同时你还能获得分布之间的关系 (Radon nikodym导数,importance weight)。那么你可以通过间接采样来大大加速的模拟。
什么样的分布比分布容易采样呢?Neal在Annealed Importance Sampling提出用高温的思路将分布变平。这篇文章采用的则是统计物理里面的multicanonical ensemble和Wang-Landau里面的思路,将原分布(下图绿线)除以目标分布的**能量pdf(也将作为importance weight)**来将分布变平(下图红线)。
从而降低能量壁垒。该思想已经在统计物理和生物信息学领域获得极大成功,被王永雄、刘军教授(两位COPSS奖:统计菲奖,一年一人,coadvisor的老板和师兄)评价为最适合加速蒙特卡洛的算法。
尽管目标分布的能量pdf刚开始不知道,但获得能量pdf比获得分布信息要容易的多(比如一个Gaussian mixture with equal weight, 估计单个mode的能量pdf很容易,而这个信息已经足够;进一步的话,不equall weight也不是啥问题)。我们可以用stochastic approximation(可以想象成[EM算法](http://www.csuldw.com/2015/12/02/2015-12-02-EM-algorithms/#:~:text=EM算法,全称Expectation Maximization,大后验概率估计。)的进阶版)一边采样一边优化隐变量。均衡情况下,隐变量收敛到能量pdf,目标参数弱收敛到更容易采样的
\nu(x) 分布。神奇的是,此算法拥有简洁的形式(比原算法只多了下面一行迭代,相比之下Adam需要额外5层迭代)
和极佳的稳定性,隐变量可以收敛到唯一fixed point而无关凸性(EM算法常见问题就是隐变量local trap且极其不稳定)。该算法和拟牛顿算法有一丝相似。但拟牛顿不改进能量函数只是估计Hessian,因此只能获得渐进超线性的表现;而我们的算法步步改变几何形状的做法,潜在的指数加速了收敛(为啥指数阶的话,由于分析很难,我还是引一篇reference吧)。
下面是路径展示:此算法引入一个隐变量,这个隐变量代表分布的能量pdf,原始分布除以这个隐变量可以获得更平的分布因而更容易模拟,你能看出高能区似乎也有很多样本,由于他们对应的importance weight很小,因此结合importance weight 还是可以恢复原始分布。能量pdf刚开始未知,但是一些初步的学习后便可以获得巨大的加速效果。
这份工作是统计物理里面Wang-Landau算法从Metropolis kernel 到Langevin kenel的拓展,为一类重要的加速技巧adaptive biasing force做了铺垫。为了能应用在深度学习领域,我们顺便把随机梯度的版本也一并做了出来。simulation比肩甚至超越parallel temerping的性能证明了其巨大的潜能。
此文章最大的novelty在于methodology development。如果你看到simulation的潜能不觉得新奇就可以无视后续了。虽然提供了一些简单的DNN实验,但实验中高loss下,概率分布的估计会变得困难,比如在数值难估计。折中的办法有很多,就不在此文一一探讨了。应用的工作留给更专业的同学进行了。
改变几何形状带来的理论增益远超Hessian估计,动量,或者高阶数值格式。但也需要更高阶的数学技巧(大量PDE和黎曼几何袭来)。既有挑战性,也有无限潜力。呼唤数学大神关注此问题。
相关推荐
- 服务器用的CPU和个人电脑用的CPU有什么区别?一篇文章告诉你!
-
服务器cpu和普通cpu的区别你的电脑CPU是‘短跑健将’,服务器CPU却是‘铁人三项选手’——它不追求瞬间爆发力,而要7×24小时扛住千军万马的数据洪流!想知道为什么企业机房敢收天价服务费?答案全藏...
- “吃鸡”新版本第1天,玩家进入游戏点击“立即更新”,后悔了!
-
欢迎诸位小伙伴们来到天哥开讲的《和平精英》“精英小课堂”~每逢两三个月,这款游戏就会迎来一次大版本迭代更新,很多朋友会在第一时间更新版本,前往全新的主题模式里一探究竟。不过也有一些老玩家并不会立刻更新...
- 中关村在线·aigo存储杯《无畏契约》全国高校争霸赛招募启事
-
以青春之名,燃电竞之火1赛事背景与宗旨在金秋送爽的9月,芊芊学子们即将回归校园生活。为了给精彩的校园生活锦上添花,由中关村在线与aigo存储联合主办的《无畏契约》全国高校争霸赛正式启幕,旨在为全国高...
- 【生肖狗】9.7-9.10提醒:人算不如天算,转变即是转机
-
九月上旬的风,带着秋意的清爽,也带着几分不可捉摸的变数。对于生肖狗的朋友们来说,9月7日到9月10日这四天,格外需要留意“计划与变化”的碰撞——你们向来习惯提前规划,做事稳妥周全...
- 转转客服IM系统的WebSocket集群架构设计和部署方案
-
本文由转转技术李帅分享,原题“转转客服IM的WebSocket集群部署方案”,下文有修订和重新排版。1、引言转转作为国内头部的二手闲置交易平台,拥有上亿的用户。用户在使用转转app遇到问题时,一般可以...
- 上线3天Steam好评率86%,《时间旅者:重生曙光》开启生存恐怖新篇章
-
这里究竟发生了什么?末日降临,真正的故事悄然启幕。目前,生存恐怖类游戏《时间旅者:重生曙光(Cronos:TheNewDawn)》已在PC(Steam、EpicGamesStore)、P...
- 什么神仙洗衣机让我一天有28小时?拆开松下「大四洗」藏了啥秘密
-
说起家庭洗衣的烦恼,想必很多人都有过类似的经历:贴身内衣要单独洗,宝宝的口水巾得小心呵护,宠物玩具怕藏污纳垢,床单被套又体积庞大,把这些东西混在一起洗担心越洗越脏,分开洗又得反复操作,洗完烘、烘完再洗...
- 爆料人挖出GTA6注册的奇葩域名 延续经典讽刺风格
-
等待《侠盗猎车手6》的日子跨越了数个春秋,在游戏圈期盼着这部可能成为史上最重磅游戏的过程中,每过一段时间就会有些许消息浮出水面。最新线索来自数据挖掘者Tez2在GTA论坛的发现,他可能偶然发现了关于...
- 跟着故事去旅行——读《驼峰间:旅行、探险与征服》
-
作者:郭冰茹《驼峰间》记录了旅行家伊本·白图泰有生之年流传的一则寓言,说一对父子被关进了监狱,有一天儿子问父亲他们每天吃的都是些什么肉,父亲说有牛、羊和骆驼,并且详细地描述了每种动物的特点。但不管父亲...
- 前端工程师需要熟悉的Linux服务器(SSH 终端操作)指令
-
在Linux服务器管理中,SSH(SecureShell)是远程操作的核心工具。以下是SSH终端操作的常用命令和技巧,涵盖连接、文件操作、系统管理等场景:一、SSH连接服务器1.基本连接...
- 跳票6年后,「丝之歌」首发把Steam服务器干爆了 | 玩点好的
-
文丨果脯樱花隧道昨天晚上22点,「鸽」了6年的《空洞骑士:丝之歌》终于上线,算是了却不少玩家的执念。毕竟,这款游戏实在让人等了太多太多年,而且曾有过多次定档后跳票的「案底」,不知道把多少人都整出了P...
- 对标魔兽失败!腾讯版“魔兽”运营一年多后,宣布国际服凉凉
-
大家好,这里是正惊游戏,我是正惊小弟。有很多游戏都想干掉《魔兽世界》,但是大部分魔兽杀手都知道自己不是魔兽的对手,不过是想蹭一下人气而已。腾讯也有一款曾经想对标魔兽的大作,可是上线才一年半国际服就宣布...
- 408 Request Timeout:服务器等待客户端发送请求的时间过长。
-
408RequestTimeout是HTTP状态码之一,表示客户端在发送请求时,服务器等待的时间过长,最终放弃了处理该请求。此问题通常与网络延迟、客户端配置、服务器设置或者应用程序的性能有关...
- 梦幻西游:9.9维护解读,全新时间服锁定129级
-
梦幻西游:9.9维护解读,全新时间服锁定129级9月9日维护解读。1、教师节活动开启,一共7天。挂机,答题,收笔墨纸砚,收海马,搞起来。或者是提前收点家具,教师节期间体力珍贵,家具会涨价。又或者是教师...
- 只是拆掉一面墙,空间就立马大变样,这种设计思路,值得学习
-
你有没有过这样的经历?刚买的房子户型图看起来方方正正,装修完却发现——玄关鞋柜只能塞在角落,进门就撞墙;餐厅正好在过道中间,吃饭像走流程;明明有四个房间,却有一个空着没用,像块食之无味的鸡肋;客餐厅之...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- 服务器用的CPU和个人电脑用的CPU有什么区别?一篇文章告诉你!
- “吃鸡”新版本第1天,玩家进入游戏点击“立即更新”,后悔了!
- 中关村在线·aigo存储杯《无畏契约》全国高校争霸赛招募启事
- 【生肖狗】9.7-9.10提醒:人算不如天算,转变即是转机
- 转转客服IM系统的WebSocket集群架构设计和部署方案
- 上线3天Steam好评率86%,《时间旅者:重生曙光》开启生存恐怖新篇章
- 什么神仙洗衣机让我一天有28小时?拆开松下「大四洗」藏了啥秘密
- 爆料人挖出GTA6注册的奇葩域名 延续经典讽刺风格
- 跟着故事去旅行——读《驼峰间:旅行、探险与征服》
- 前端工程师需要熟悉的Linux服务器(SSH 终端操作)指令
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)