Adam可以換了?UIUC中國博士生提出RAdam,收斂快精度高,大小模型通吃
新智元報道
來源:medium
編輯:大明
【新智元導讀】UIUC華人博士生團隊提出了對常用機器學習模型優化器Adam的新改進RAdam,省去了使用Adam必須的「預熱」環節,既能保證學習率和收斂速度,又能有效避免模型陷入「局部最優解」的陷阱,堪稱Adam的優秀接班人!
近日,UIUC的華人博士生Liyuan Liu等人的一篇新論文中介紹了Adam模型的新改進「Rectified Adam」(簡稱RAdam)。這是基於原始Adam作出的改進,它既能實現Adam快速收斂的優點,又具備SGD方法的優勢,令模型收斂至質量更高的結果。
有國外網友親測,效果拔群。
以下是網友測試過程和RAdam的簡介:
我已經在FastAI框架下測試了RAdam,並快速獲得了高精度新記錄,而不是ImageNette上兩個難以擊敗的FastAI排行榜得分。我今年測試了許多論文中的模型,大部分模型似乎在文中給出的特定數據集上表現良好,而在我嘗試的新的數據集上表現不佳。但RAdam不一樣,看起來真的實現了性能提升,可能成為vanilla Adam的永久「接班人」。
RAdam具備在多種學習率下的強大性能,同時仍能快速收斂並實現更高的性能(CIFAR數據集)
RAdam和XResNet50,5個epoch精度即達到86%
Imagenette排行榜:達到當前最高性能84.6%
下面來看看RAdam的內部機制,看看為什麼能夠實現更優質的收斂,更好的訓練穩定性(相對所選擇的學習率更不敏感),為何基於幾乎所有AI應用都能實現更好的準確性和通用性。
不只是對於CNN:RAdam在Billion Word Dataset上的表現優於LSTM
RAdam:無需預熱,避免模型收斂至「局部最優解」
作者指出,雖然每個人都在努力實現快速穩定的優化演算法,但包括Adam,RMSProp等在內的自適應學習率優化器都存在收斂到質量較差的局部最優解的可能。因此,幾乎每個人都使用某種形式的「預熱」方式來避免這種風險。但為什麼需要預熱?
由於目前對AI社區中對於「預熱」出現的潛在原因,甚至最佳實踐的理解有限,本文作者試圖揭示這個問題的基礎。他們發現,根本問題是自適應學習率優化器具有太大的變化,特別是在訓練的早期階段,並且可能由於訓練數據量有限出現過度跳躍,因此可能收斂至局部最優解。
使用原始Adam必須預熱,否則正態分布會變得扭曲,是否預熱的分布對比見上圖
因此,當優化器僅使用有限的訓練數據時,採用「預熱」(這一階段的學習率要慢得多)是自適應優化器要求抵消過度方差的要求。
簡而言之,vanilla Adam和其他自適應學習速率優化器可能會基於訓練早期數據太少而做出錯誤決策。因此,如果沒有某種形式的預熱,很可能在訓練一開始便會收斂局部最優解,這使得訓練曲線由於糟糕的開局而變得更長、更難。
然後,作者在不用預熱的情況下運行了Adam,但是在前2000次迭代(adam-2k)中避免使用動量,結果實現了與「Adam 預熱」差不多的結果,從而驗證了「預熱」在訓練的初始階段中起到「降低方差」的作用,並可以避免Adam在沒有足夠數據的情況下在開始訓練時即陷入局部最優解。
適用於多個數據集,堪稱Adam的優秀「接班人」
我們可以將「預熱」作為降低方差的方法,但所需的預熱程度未知,而且具體情況會根據數據集不同而變化,本文確定了一個數學演算法,作為「動態方差減少器」。作者建立了一個「整流項」,可以緩慢而穩定地允許將自適應動量作為基礎方差的函數進行充分表達。完整模型是這樣的:
作者指出,在某些情況下,由於衰減率和基本方差的存在,RAdam可以在動量等效的情況下退化為SGD。
實驗表明,RAdam優於傳統的手動預熱調整,其中需要預熱或猜測需要預熱的步驟數。RAdam自動提供方差縮減,在各種預熱長度和各種學習率下都優於手動預熱。
總之,RAdam可以說是AI最先進的優化器,可以說是Adam的優秀接班人!
論文鏈接:
https://arxiv.org/pdf/1908.03265v1.pdf
GitHub:
https://github.com/LiyuanLucasLiu/RAdam
參考鏈接:
https://medium.com/@lessw/new-state-of-the-art-ai-optimizer-rectified-adam-radam-5d854730807b
https://forums.fast.ai/t/meet-radam-imo-the-new-state-of-the-art-ai-optimizer/52656
※最先進的AI還不如動物聰明?首屆AI-動物奧運會英國開賽
※李沐《動手學深度學習》中文版上線!
TAG:新智元 |