USC提出拟牛顿法深度学习优化器Apollo,效果比肩SGD和Adam
?作者?|?Xuezhe Ma
單位?|?USC助理教授
研究方向?|NLP、機器學習
摘要
本文介紹了 Apollo,一種針對非凸隨機優化的擬牛頓方法。它通過對角矩陣逼近 Hessian,動態地將損失函數的曲率應用到優化的過程中。重要的是,Apollo 對于 Hessian 的對角近似的時間和空間復雜度與自適應一階優化方法一樣。
為了處理目標函數的非凸性,我們用 Hessian 的修正絕對值(recified absolute value)來代替原始的 Hessian,保證它是正定的。機器視覺和自然語言處理三項任務上的實驗表明,Apollo 在收斂速度和泛化性能上都比其它隨機優化方法(包括 SGD 和 ADAM 的變體)有了顯著的改進。
論文標題:
Apollo: An Adaptive Parameter-wise Diagonal Quasi-Newton Method for Nonconvex Stochastic Optimization
論文鏈接:
https://arxiv.org/abs/2009.13586
代碼鏈接:
https://github.com/XuezheMax/apollo
隨機非凸優化和擬牛頓法
本文專注于以下形式的隨機非凸優化問題:
其中 是模型的參數, 是隨機噪音。擬牛頓法的參數更新公式如下:
為步長(stepsize),又叫學習率(learning rate)。 為每一次參數更新時對 Hessian 矩陣的近似。矩陣 的計算滿足經典的 secant equation:
其中 。以上公式中不同矩陣模(norm)的選擇對應不同的經典算法,例如 L-BFGS [1] 和 DFP [2]。
總結來說,擬牛頓法在深度學習優化問題中存在三個常見問題:
Time and Memory Efficiency(時空復雜度). 在深度學習的優化問題中,由于模型參數的維度巨大,現有的擬牛頓法無法在實際問題中應用。比如經典的 L-BFGS [1] 算法一般需要記錄至少之前 5 到 10 步的迭代歷史,這在深度學習問題中是不實際的。而現有的一些為隨機非凸問題設計的擬牛頓法,例如 SdLBFGS [3],甚至需要比 L-BFGS 更多的時間和空間資源。
Stochastic Variance. 優化過程中的隨機性使得對于 Hessian 的近似存在較大的方差, 導致優化算法的不穩定甚至失敗。
Nonconvexity(非凸性). 目標函數的非凸性導致很難在優化過程中保證 Hessian 的正定性。而目標函數的隨機性又使得標準的 line search 無法有效的應用。
Apollo算法
Time and Memory Efficiency(時空復雜度)。為了降低 Apollo 算法的時空復雜度,我們仿效之前的工作,用對角矩陣來近似 Hessian,亦即約束每一步 為對角矩陣。為了滿足這一約束,我們需要對公式(5)中的 secant equation 進行放松。一個常用的方法是 weak secant equation [4,5]:
但是對于參數為度巨大的深度神經網絡來說,weak secant equation 的約束過于微弱。為了得到一個折中的辦法,我們利用神經網絡參數的性質,將參數分離成不同的參數模塊:。例如,一個多層神經網絡的參數可以分離成每一層不用功能的參數。這樣對于每一個參數都會產生一個weak secant equation,增強了約束能力。
經過簡單的推到, 的更新公式為:
Stochastic Variance. 為了降低優化過程中由于隨機噪音導致的不穩定,我們除了應用 Adam 中的 Exponential Moving Average(EMV)之外,還提出了一個重要的方法:Stepsize Bias Correction。簡單來說,我們希望矩陣 的更新可以不受步長的影響。具體的做法是對每一步的 gradient 進行修正: ?。這樣公式(7)就演變為:
其中 。對于 Stepsize Bias Correction 的具體討論請參考原文。實際應用中,我們發現 Stepsize Bias Correction 對于 Apollo 算法的收斂穩定性起到至關重要的作用。
Nonconvexity(非凸性). 非凸性是阻礙擬牛頓法應用到深度學習優化的最主要困難之一。如下圖所示,對于一個非凸點的曲率是負的,因此直接應用擬牛頓法會導致參數更新方向錯誤。
Apollo 對于這個問題的解決方案很簡單直接,用 的修正絕對值(rectified absolute value)來代替 。
其中 是一個超參數?,F在的問題是我們是否需要增加一個需要調試的超慘 ?幸運的是,我們發現 和 是兩個耦合在一起的超參數,而實際中我們可以固定一個而只調試另一個。具體請參考論文中的 Theorem 1.
的取值選擇。在最初的版本中,我們設定 。但是我們發現這樣使得 的取值會比較大,不太符合大家對學習率(learning rate)的直觀印象。因此我們在最新的版本中設定 。具體討論參考論文。
Apollo算法的收斂性
我們仿效之前的工作,對 Apollo 在凸函數和非凸函數兩種情況下的收斂進行了理論分析。具體請參考論文中的 Theorem 2 和 Theorem 3。
實驗
實驗部分,我們做了在三個常見的任務上面對比了 Apollo 和其他優化算法的效果,包括 Image Classification, Language Modeling ?以及 Neural Machine Translation。涉及的神經網絡模型包括 ResNet,LSTM 和 Transformer。每個實驗,我們都用 5 個不同的 random seed,并報告實驗結果的平均值。具體的實驗配置,請閱讀論文。
Image Classification
Language Modeling
Neural Machine Translation (WMT-14 English-German)
結語
這篇文章從去年 9 月開始已經在一年內被多次拒稿,實在讓我感慨優化領域的水之深。捫心自問,這篇論文我們算是盡心盡力做到能做的最好,也自認無論從算法還是實驗結果都有創新的地方。
據我們的有限所知,Apollo 是目前第一個能在實際中應用的深度神經網絡的優化算法,并能在多個任務和網絡結構上取得比肩甚至超過 SGD 和 Adam 的效果。然而,仍有審稿人因為各種原因拒稿。其中最多的拒稿原因是 Apollo 中提出的一些方法,例如 stepsize bias correction 和 rectified absolute value 沒有明確的理論證明。
說一句有些偏激的話,現在深度學習中有哪個實際中有效的方法有嚴格的理論證明?甚至有一個審稿人的一條意見是,我們的收斂證明是基于 Adam,而在他/她看來,Adam 的理論證明是達不到發表的標準的。我想說的是,在當下論文井噴的時代,做自己心中覺得真正有用的研究才是一個研究員最該堅持的事。
參考文獻
[1] Charles George Broyden. The convergence of a class of double-rank minimization algorithms. IMA Journal of Applied Mathematics, 6(1):76–90, 1970.
[2] William C Davidon. Variable metric method for minimization. SIAM Journal on Optimization, 1(1):1–17, 1991.
[3] Xiao Wang, Shiqian Ma, Donald Goldfarb, and Wei Liu. Stochastic quasi-newton methods for nonconvex stochastic optimization. SIAM Journal on Optimization, 27(2):927–956, 2017.
[4] John E Dennis, Jr and Henry Wolkowicz. Sizing and least-change secant methods. SIAM Journal on Numerical Analysis, 30(5):1291–1314, 1993.
[5] JL Nazareth. If quasi-newton then why not quasi-cauchy. SIAG/Opt Views-and-news, 6: 11–14, 1995.
[6] Sashank J Reddi, Satyen Kale, and Sanjiv Kumar. On the convergence of adam and beyond. In International Conference on Learning Representations, 2018.
[7] X Chen, M Hong, S Liu, and R Sun. On the convergence of a class of adam-type algorithms for non-convex optimization. In 7th International Conference on Learning Representations, ICLR 2019, 2019.
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
?????稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
?????投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
總結
以上是生活随笔為你收集整理的USC提出拟牛顿法深度学习优化器Apollo,效果比肩SGD和Adam的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安装光伏板多少钱一组人工费大家好?
- 下一篇: 良井镇人民政府可以装光伏板吗