建神經(jīng)網(wǎng)絡(luò)模型,哪種優(yōu)化算法更好?35000次測試告訴你
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
想要優(yōu)化自己的神經(jīng)網(wǎng)絡(luò),卻不知道哪種優(yōu)化器更適合自己?
又或者,想知道深度學(xué)習(xí)中梯度下降的算法到底都有哪些?

現(xiàn)在,最全面的優(yōu)化算法分析來了。
它整理了自1964年以來,幾乎所有的優(yōu)化方法 (約130種),將它們進(jìn)行了分類。
此外,它還給出了幾種基準(zhǔn)測試方法,并用它分析了1344種可能的配置方案。
在運行了35000次測試后,它給出了非常全面的優(yōu)化器算法分析介紹,并告訴你如何用這些基準(zhǔn)測試,為自己的深度學(xué)習(xí)模型選擇最好的優(yōu)化方案。
優(yōu)化方法具體都有哪幾種?
從下圖這份密密麻麻的圖表來看,迄今為止,提出的優(yōu)化算法已經(jīng)有130種左右。

目前他們還看不出來區(qū)別,但在測試結(jié)果中可以發(fā)現(xiàn),這些優(yōu)化器明顯能被分成兩類,一種適用于VAE(變分自編碼器),另一種則不適用于VAE。
而從這些優(yōu)化器中的常用參數(shù)來看,α0表示初始學(xué)習(xí)率,αlo和αup代表上下界,∆t表示切換衰減樣式的周期,k表示衰減因子。
可以看出,這些學(xué)習(xí)率的參數(shù)主要可以被分為常數(shù)、梯度下降、平滑下降、周期性、預(yù)熱、超收斂等幾種。

那么,130多種優(yōu)化器,哪種才是最適用的?而對這些參數(shù)進(jìn)行調(diào)整,到底能對優(yōu)化器起到多大的作用?
用基準(zhǔn)測試方法來測測,就知道了。
8種基準(zhǔn)測試方法
如下圖,作者提出了8種優(yōu)化任務(wù),在這些任務(wù)上面進(jìn)行測試,以得到對比結(jié)果。

從圖中看來,無論是數(shù)據(jù)集(MNIST、CIFAR-10等)、模型(VAE、CNN、RNN等),還是任務(wù)(分類、NLP等)和標(biāo)準(zhǔn)(損失率、精度)都不一樣。
此外,batchsize也考慮在內(nèi)(看來實驗機(jī)器性能不錯)。制作這些測試的目的在于,多角度考量出這些優(yōu)化方法的合理性。
測試按照下圖流程走,整體算下來,共有1344種配置,共運行接近35000次。

為了得知哪種優(yōu)化方法更合適,這樣做也是很拼了。
如何選擇適合自己的優(yōu)化方法?
那么,具體如何選擇適合的優(yōu)化方法呢?
下圖是作者隨機(jī)選取的14個優(yōu)化器。

下圖是這些優(yōu)化器在上面8種基準(zhǔn)測試下的表現(xiàn)結(jié)果。

其中,紅色的I表示誤差范圍。可以看出,在一定誤差范圍內(nèi),某一類優(yōu)化方法的性能幾乎非常相似:它們在各種基準(zhǔn)測試上的表現(xiàn)都不錯。
為了驗證這些測試方法的穩(wěn)定性,作者特意對其中一些算法進(jìn)行了參數(shù)調(diào)整,下圖是經(jīng)典算法RMSProp和RMSProp(2)的調(diào)優(yōu)結(jié)果。

可見,不同的參數(shù)能給優(yōu)化算法的性能帶來不小的波動變化。
更直接地,如果增加(性能)預(yù)算,從下圖可以看出,性能的改進(jìn)也會有所增加。(圖中橙色為所有灰線的中值)

也就是說,即使優(yōu)化算法的性能不錯,合理調(diào)參仍然不可或缺。
那么,到底有多少優(yōu)化器存在“改進(jìn)參數(shù),竟然能大幅增加優(yōu)化能力”的問題呢?
還不少。
從下圖來看,綠色表示優(yōu)化過后,優(yōu)化算法能更好地運行。

換而言之,只要某種優(yōu)化算法的結(jié)果是一片綠,那么它原來的默認(rèn)參數(shù)就真的很糟糕……
例如,AMSGrad、Mom、NAG的默認(rèn)參數(shù)都存在很大的改進(jìn)空間。相比而言,AMSBound由于自適應(yīng),默認(rèn)參數(shù)都還非常不錯,不需要再有大改進(jìn)。
對這些優(yōu)化器進(jìn)行評估后,研究者們得出以下幾個結(jié)論:
1、優(yōu)化器的性能,在不同的任務(wù)中有很大差異;
2、事實上,大部分優(yōu)化器的性能驚人地相似,目前尚沒有“最通用”的優(yōu)化方法;
3、對優(yōu)化器進(jìn)行(參數(shù))微調(diào),其實和選擇優(yōu)化器一樣重要、甚至更重要。
不過,雖然這份表格已經(jīng)非常詳細(xì),還是有細(xì)心的網(wǎng)友發(fā)現(xiàn)了盲點:像SWA這樣非常簡單高效的方法,還是在分析時被遺漏了。

當(dāng)然,就提出的幾種基準(zhǔn)測試來說,已經(jīng)適合用于分析大部分優(yōu)化器的選擇方案。
目前,作者已經(jīng)在ArXiv論文頁面,開源了基準(zhǔn)測試方法的Code,感興趣的小伙伴可戳論文地址查看~
作者介紹
這幾位作者都來自于德國圖賓根大學(xué)。
Robin M. Schmidt,計算機(jī)專業(yè)研究生,主要研究方向是人工智能,感興趣的方向在深度學(xué)習(xí)、強(qiáng)化學(xué)習(xí)及優(yōu)化上。
Philipp Hennig,機(jī)器學(xué)習(xí)教授,兼任馬普所科學(xué)家,曾于海德堡大學(xué)和帝國理工學(xué)院修讀物理,并在劍橋大學(xué)獲得機(jī)器學(xué)習(xí)博士學(xué)位。
Frank Schneider,機(jī)器學(xué)習(xí)博士生,研究領(lǐng)域是機(jī)器學(xué)習(xí)的優(yōu)化方法。目前在鉆研深度學(xué)習(xí)的超參數(shù),使深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練自動化。
論文地址:
https://arxiv.org/abs/2007.01547