AdaX:一个比Adam更优秀,带”长期记忆“的优化器
關注小夕并星標,解鎖自然語言處理
搜索、推薦與算法崗求職秘籍
文 | 蘇劍林(追一科技,人稱蘇神)
美 | 人美心細小謹思密達
前言
這篇文章簡單介紹一個叫做AdaX的優化器,來自《AdaX: Adaptive Gradient Descent with Exponential Long Term Memory》。介紹這個優化器的原因是它再次印證了之前在《硬核推導Google AdaFactor:一個省顯存的寶藏優化器》一文中提到的一個結論,兩篇文章可以對比著閱讀。
Adam & AdaX
AdaX的更新格式是
其中的默認值是0.0001。對了,順便附上自己的Keras實現:https://github.com/bojone/adax 作為比較,Adam的更新格式是
其中的默認值是0.999。
等價形式變換
可以看到,兩者的第一個差別是AdaX去掉了動量的偏置校正(這一步),但這其實影響不大,AdaX最大的改動是在處,本來是滑動平均格式,而不像是滑動平均了,而且,似乎有指數爆炸的風險?
原論文稱之為“with Exponential Long Term Memory”,就是指β導致歷史累積梯度的比重不會越來越小,反而會越來越大,這就是它的長期記憶性。
事實上,學習率校正用的是,所以有沒有爆炸我們要觀察的是。對于Adam,我們有
所以如果設,那么更新公式就是
基于同樣的道理,如果設,那么AdaX的的更新公式也可以寫成上式。
衰減策略比較
所以,從真正用來校正梯度的來看,不管是Adam還是AdaX,其更新公式都是滑動平均的格式,只不過對應的衰減系數不一樣。
對于Adam來說,當時t = 0,,這時候就是,也就是用實時梯度來校正學習率,這時候校正力度最大;當時,,這時候是累積梯度平方與當前梯度平方的加權平均,由于,所以意味著當前梯度的權重不為0,這可能導致訓練不穩定,因為訓練后期梯度變小,訓練本身趨于穩定,校正學習率的意義就不大了,因此學習率的校正力度應該變小,并且,學習率最好恒定為常數(這時候相當于退化為SGD),這就要求時,。
對于AdaX來說,當t = 0時,當,,滿足上述的理想性質,因此,從這個角度來看,AdaX確實是Adam的一個改進。在AdaFactor中使用的則是,它也是從這個角度設計的。至于AdaX和AdaFactor的策略孰優孰劣,筆者認為就很難從理論上解釋清楚了,估計只能靠實驗。
就這樣結束了
嗯,文章就到這兒結束了。開頭就說了,本文只是簡單介紹一下AdaX,因為它再次印證了之前的一個結論——應當滿足條件“”,這也許會成為日后優化器改進的基本條件之一。
萌屋公告
喜歡本文的小伙伴們,記得掃描下方二維碼關注并星標置頂,我才能來到你面前哦。
賣萌屋妹子們的原創技術干貨有?ACL2020學術前沿系列、NLP綜述系列、NLP論文清單系列、NLP基礎入門系列、搜索與推薦系列、深度學習初/中/高級煉丹技巧、機器學習入門系列、算法崗offer收割系列等。訂閱號后臺回復【干貨】即可打包帶走。
賣萌屋里有眾多頂會審稿人、大廠研究員、知乎大V和美麗小姐姐(劃掉?????♀?),我們成立了?自然語言處理 / 知識圖譜 / 深度學習 / 機器學習 / 校招求職?高質量討論群,訂閱號后臺回復【入群】即可上車。
夕小瑤的賣萌屋
_
關注&星標小夕,帶你解鎖AI秘籍
訂閱號主頁下方「撩一下」有驚喜哦
總結
以上是生活随笔為你收集整理的AdaX:一个比Adam更优秀,带”长期记忆“的优化器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Google Cloud TPUs支持P
- 下一篇: FedNLP: 首个联邦学习赋能NLP的