找到一種快速穩(wěn)定的優(yōu)化算法,是所有AI研究人員的目標(biāo),。但是魚和熊掌不可兼得,。Adam、RMSProp這些算法雖然收斂速度很快,,當(dāng)往往會(huì)掉入局部最優(yōu)解的“陷阱”,;原始的SGD方法雖然能收斂到更好的結(jié)果,但是訓(xùn)練速度太慢,。 最近,,一位來自UIUC的中國博士生Liyuan Liu提出了一個(gè)新的優(yōu)化器RAdam。 它兼有Adam和SGD兩者的優(yōu)點(diǎn),,既能保證收斂速度快,,也不容易掉入局部最優(yōu)解,而且收斂結(jié)果對學(xué)習(xí)率的初始值非常不敏感,。在較大學(xué)習(xí)率的情況下,,RAdam效果甚至還優(yōu)于SGD,。 RAdam意思是“整流版的Adam”(Rectified Adam),它能根據(jù)方差分散度,,動(dòng)態(tài)地打開或者關(guān)閉自適應(yīng)學(xué)習(xí)率,,并且提供了一種不需要可調(diào)參數(shù)學(xué)習(xí)率預(yù)熱的方法,。 一位Medium網(wǎng)友Less Wright在測試完RAdam算法后,,給予了很高的評價(jià):
目前論文作者已將RAdam開源,,F(xiàn)astAI現(xiàn)在已經(jīng)集成了RAdam,只需幾行代碼即可直接調(diào)用,。 補(bǔ)眾家之短想造出更強(qiáng)的優(yōu)化器,,就要知道前輩們的問題出在哪: 像Adam這樣的優(yōu)化器,的確可以快速收斂,,也因此得到了廣泛的應(yīng)用,。 但有個(gè)重大的缺點(diǎn)是不夠魯棒,常常會(huì)收斂到不太好的局部最優(yōu)解 (Local Optima) ,,這就要靠預(yù)熱 (Warmup)來解決—— 最初幾次迭代,,都用很小的學(xué)習(xí)率,以此來緩解收斂問題,。 為了證明預(yù)熱存在的道理,,團(tuán)隊(duì)在IWSLT’14德英數(shù)據(jù)集上,測試了原始Adam和帶預(yù)熱的Adam,。 結(jié)果發(fā)現(xiàn),,一把預(yù)熱拿掉,Transformer語言模型的訓(xùn)練復(fù)雜度 (Perplexity) ,,就從10增到了500,。 另外,BERT預(yù)訓(xùn)練也是差不多的情況,。 為什么預(yù)熱,、不預(yù)熱差距這樣大?團(tuán)隊(duì)又設(shè)計(jì)了兩個(gè)變種來分析: 缺乏樣本,,是問題根源一個(gè)變種是Adam-2k: 在前2000次迭代里,,只有自適應(yīng)學(xué)習(xí)率是一直更新的,而動(dòng)量 (Momentum) 和參數(shù)都是固定的,。除此之外,,都沿襲了原始Adam算法。 實(shí)驗(yàn)表明,,在給它2000個(gè)額外的樣本來估計(jì)自適應(yīng)學(xué)習(xí)率之后,,收斂問題就消失了: 另外,,足夠多的樣本可以避免梯度分布變扭曲 (Distorted) : 這些發(fā)現(xiàn)證明了一點(diǎn):早期缺乏足夠數(shù)據(jù)樣本,就是收斂問題的根源,。 下面就要證明,,可以通過降低自適應(yīng)學(xué)習(xí)率的方差來彌補(bǔ)這個(gè)缺陷。 降低方差,,可解決問題一個(gè)直接的辦法就是: 把ψ-cap里面的?增加,。假設(shè)ψ-cap(. ) 是均勻分布,方差就是1/12?^2,。 這樣就有了另一個(gè)變種Adam-eps,。開始把?設(shè)成一個(gè)可以忽略的1×10^-8,慢慢增加,,到不可忽略的1×10^-4,。 從實(shí)驗(yàn)結(jié)果看,它已經(jīng)沒有Adam原本的收斂問題了: 這就證明了,,真的可以通過控制方差來解決問題,。另外,它和Adam-2k差不多,,也可以避免梯度分布扭曲,。 然而,這個(gè)模型表現(xiàn)比Adam-2k和帶預(yù)熱的Adam差很多,。 推測是因?yàn)?太大,,會(huì)給自適應(yīng)學(xué)習(xí)率帶來重大的偏差 (Bias) ,也會(huì)減慢優(yōu)化的過程,。 所以,,就需要一個(gè)更加嚴(yán)格的方法,來控制自適應(yīng)學(xué)習(xí)率,。 論文中提出,,要通過估算自由度ρ來實(shí)現(xiàn)量化分析。 RAdam定義RAdam算法的輸入有:步長αt,;衰減率{β1, β2},,用于計(jì)算移動(dòng)平均值和它的二階矩。 輸出為θt,。 首先,,將移動(dòng)量的一階矩和二階矩初始化為m0,v0,,計(jì)算出簡單移動(dòng)平均值(SMA)的最大長度ρ∞←2/(1-β2)-1,。 然后按照以下的迭代公式計(jì)算出:第t步時(shí)的梯度gt,移動(dòng)量的二階矩vt,,移動(dòng)量的一階矩mt,,移動(dòng)偏差的修正和SMA的最大值ρt,。 如果ρ∞大于4,那么,,計(jì)算移動(dòng)量二階矩的修正值和方差修正范圍: 如果ρ∞小于等于4,,則使用非自適應(yīng)動(dòng)量更新參數(shù): 以上步驟都完成后,得出T步驟后的參數(shù)θT,。 測試結(jié)果RAdam在圖像分類任務(wù)CIFAR-10和ImageNet上測試的結(jié)果如下: 盡管在前幾個(gè)周期內(nèi)整流項(xiàng)使得RAdam比Adam方法慢,,但是在后期的收斂速度是比Adam要更快的。 盡管RAdam在測試精度方面未能超越SGD,,但它可以帶來更好的訓(xùn)練性能,。 此外,,RAdam算法對初始學(xué)習(xí)率是具有魯棒性的,,可以適應(yīng)更寬范圍內(nèi)的變化。在從0.003到0.1一個(gè)很寬的范圍內(nèi),,RAdam表現(xiàn)出了一致的性能,,訓(xùn)練曲線末端高度重合。 親測過的網(wǎng)友Less Wright說,,RAdam和他今年測試的許多其它論文都不一樣,。 其他方法常常是在特定數(shù)據(jù)集上有良好的效果,但是放在新的數(shù)據(jù)集上往往表現(xiàn)不佳,。 而RAdam在圖像分類,、語言建模,以及機(jī)器翻譯等等許多任務(wù)上,,都證明有效,。 (也側(cè)面說明,機(jī)器學(xué)習(xí)的各類任務(wù)里,,廣泛存在著方差的問題,。) Less Wright在ImageNette上進(jìn)行了測試,取得了相當(dāng)不錯(cuò)的效果(注:ImageNette是從ImageNet上抽取的包含10類圖像的子集),。在5個(gè)epoch后,,RAdam已經(jīng)將準(zhǔn)確率快速收斂到86%。 如果你以為RAdam只能處理較小數(shù)據(jù)集上的訓(xùn)練,,或者只有在CNN上有較好的表現(xiàn)就大錯(cuò)特錯(cuò)了,。即使大道有幾十億個(gè)單詞的數(shù)據(jù)集的LSTM模型,RAdam依然有比Adam更好的表現(xiàn),。 總之,,RAdam有望提供更好的收斂性、訓(xùn)練穩(wěn)定性,,以及幾乎對所有AI應(yīng)用都用更好的通用性,。 關(guān)于作者論文的作者Liyuan Liu是一位90后,,本科畢業(yè)于中國科學(xué)技術(shù)大學(xué),曾在微軟亞洲研究院實(shí)習(xí),。而這項(xiàng)工作,,也得益于與微軟的合作。 早在本科期間,,Liyuan Liu就師從國家杰出青年基金獲得者,,中科大陳恩紅教授,以第一作者的身份在ICDM發(fā)表過文章,。 2016年,,Liyuan Liu小哥本科畢業(yè),加入了美國伊利諾伊大學(xué)香檳分校數(shù)據(jù)挖掘小組(DMG),,成為美國計(jì)算機(jī)協(xié)會(huì)和IEEE院士韓家煒教授課題組的一名CS博士,,從事NLP研究。 讀博以來,,Liyuan Liu開始在各大頂會(huì)上嶄露頭角,。在2018年NLP領(lǐng)域國際頂會(huì)EMNLP當(dāng)中,他的一作論文《Efficient Contextualized Representation: Language Model Pruning for Sequence Labeling》就被收錄為口頭報(bào)告,。 又是一位閃閃發(fā)光的少年英才啊,。 論文地址: 源代碼: |
|