算法速学速用大辞典 pdf_随机梯度蒙特卡洛算法-重要性采样
大家好,借知乎宣傳一篇NeurIPS 2020文章。為了少占用大家時間,我會用通俗的動圖描述算法,拋磚引玉。文章的理論性質和潛力值得讓數學大神加以改進并被計算機大牛發揚光大。
A Contour Stochastic Gradient Langevin Dynamics Algorithm for Simulations of Multi-modal Distributions?arxiv.org話不多說,先放一個模擬圖,一個分布有9個mode,中間一個概率最大,邊上次之,角上四個最小。如果你能準確采樣分布,你就能獲得正確的預測分布。這在避免第二類統計錯誤(把不對的歸為是對的)和增強學習中有巨大前景。深度學習中一個標準的采樣算法是隨機梯度朗之萬動力學(SGLD),如圖所示,粒子會在坑中逗留很久,坑越深,逗留時間指數變長。也就是說,采樣這個分布是極其慢的。
有研究者嘗試過一個簡單實用的idea,即采用周期性cosine學習率獲得不錯的實驗表現。大學習率explore新區域,小學習率獲得局部采樣。圖下可見,效果比SGLD提升了不少。
Zhang - ICLR 2020當然, @Zhanxing Zhu 老師的變溫tempering算法,對non-convex問題也很有潛力。對于preconditioned SGLD @Chunyuan Li,它對Hessian條件數糟糕的情況做了很好的改進。
更著名的算法是經典的并行回火(Parallel tempering/ replica exchange)算法。思想是引入兩個(或多個)隨機過程,高溫過程探索全局(exploration),低溫過程采樣(exploitation)。當高溫過程能量(loss)值比低溫過程沒差很多時,參數有一定概率去互換(swap)。利用跳躍(jump)的方式解決爬坡難的問題。
由于逃脫local trap需要的代價是指數級別(和深度有關),因此這個算法用較小代價獲得了指數加速。此算法如此流行且重要甚至都出現在阿里數學競賽試題里(忘了哪一版了)。
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的老板和師兄)評價為最適合加速蒙特卡洛的算法。
盡管目標分布的能量pdf剛開始不知道,但獲得能量pdf比獲得分布信息要容易的多(比如一個Gaussian mixture with equal weight, 估計單個mode的能量pdf很容易,而這個信息已經足夠;進一步的話,不equall weight也不是啥問題)。我們可以用stochastic approximation(可以想象成EM算法的進階版)一邊采樣一邊優化隱變量。均衡情況下,隱變量收斂到能量pdf,目標參數弱收斂到更容易采樣的
分布。神奇的是,此算法擁有簡潔的形式(比原算法只多了下面一行迭代,相比之下Adam需要額外5層迭代)和極佳的穩定性,隱變量可以收斂到唯一fixed point而無關凸性(EM算法常見問題就是隱變量local trap且極其不穩定)。該算法和擬牛頓算法有一絲相似。但擬牛頓不改進能量函數只是估計Hessian,因此只能獲得漸進超線性的表現;而我們的算法步步改變幾何形狀的做法,潛在的指數加速了收斂(為啥指數階的話,由于分析很難,我還是引一篇reference吧)。
下面是路徑展示:此算法引入一個隱變量,這個隱變量代表分布的能量pdf,原始分布除以這個隱變量可以獲得更平的分布因而更容易模擬,你能看出高能區似乎也有很多樣本,由于他們對應的importance weight很小,因此結合importance weight
還是可以恢復原始分布。能量pdf剛開始未知,但是一些初步的學習后便可以獲得巨大的加速效果。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
總結
以上是生活随笔為你收集整理的算法速学速用大辞典 pdf_随机梯度蒙特卡洛算法-重要性采样的全部內容,希望文章能夠幫你解決所遇到的問題。