天天看點

建神經網絡模型,哪種優化算法更好?35000次測試告訴你丨圖賓根大學出品

蕭箫 發自 凹非寺

量子位 報道 | 公衆号 QbitAI

想要優化自己的神經網絡,卻不知道哪種優化器更适合自己?

又或者,想知道深度學習中梯度下降的算法到底都有哪些?

建神經網絡模型,哪種優化算法更好?35000次測試告訴你丨圖賓根大學出品

現在,最全面的優化算法分析來了。

它整理了自1964年以來,幾乎所有的優化方法 (約130種),将它們進行了分類。

此外,它還給出了幾種基準測試方法,并用它分析了1344種可能的配置方案。

在運作了35000次測試後,它給出了非常全面的優化器算法分析介紹,并告訴你如何用這些基準測試,為自己的深度學習模型選擇最好的優化方案。

優化方法具體都有哪幾種?

從下圖這份密密麻麻的圖表來看,迄今為止,提出的優化算法已經有130種左右。

建神經網絡模型,哪種優化算法更好?35000次測試告訴你丨圖賓根大學出品

目前他們還看不出來差別,但在測試結果中可以發現,這些優化器明顯能被分成兩類,一種适用于VAE(變分自編碼器),另一種則不适用于VAE。

而從這些優化器中的常用參數來看,α0表示初始學習率,αlo和αup代表上下界,∆t表示切換衰減樣式的周期,k表示衰減因子。

可以看出,這些學習率的參數主要可以被分為常數、梯度下降、平滑下降、周期性、預熱、超收斂等幾種。

建神經網絡模型,哪種優化算法更好?35000次測試告訴你丨圖賓根大學出品

那麼,130多種優化器,哪種才是最适用的?而對這些參數進行調整,到底能對優化器起到多大的作用?

用基準測試方法來測測,就知道了。

8種基準測試方法

如下圖,作者提出了8種優化任務,在這些任務上面進行測試,以得到對比結果。

建神經網絡模型,哪種優化算法更好?35000次測試告訴你丨圖賓根大學出品

從圖中看來,無論是資料集(MNIST、CIFAR-10等)、模型(VAE、CNN、RNN等),還是任務(分類、NLP等)和标準(損失率、精度)都不一樣。

此外,batchsize也考慮在内(看來實驗機器性能不錯)。制作這些測試的目的在于,多角度考量出這些優化方法的合理性。

測試按照下圖流程走,整體算下來,共有1344種配置,共運作接近35000次。

建神經網絡模型,哪種優化算法更好?35000次測試告訴你丨圖賓根大學出品

為了得知哪種優化方法更合适,這樣做也是很拼了。

如何選擇适合自己的優化方法?

那麼,具體如何選擇适合的優化方法呢?

下圖是作者随機選取的14個優化器。

建神經網絡模型,哪種優化算法更好?35000次測試告訴你丨圖賓根大學出品

下圖是這些優化器在上面8種基準測試下的表現結果。

建神經網絡模型,哪種優化算法更好?35000次測試告訴你丨圖賓根大學出品

其中,紅色的I表示誤差範圍。可以看出,在一定誤差範圍内,某一類優化方法的性能幾乎非常相似:它們在各種基準測試上的表現都不錯。

為了驗證這些測試方法的穩定性,作者特意對其中一些算法進行了參數調整,下圖是經典算法RMSProp和RMSProp(2)的調優結果。

建神經網絡模型,哪種優化算法更好?35000次測試告訴你丨圖賓根大學出品

可見,不同的參數能給優化算法的性能帶來不小的波動變化。

更直接地,如果增加(性能)預算,從下圖可以看出,性能的改進也會有所增加。(圖中橙色為所有灰線的中值)

建神經網絡模型,哪種優化算法更好?35000次測試告訴你丨圖賓根大學出品

也就是說,即使優化算法的性能不錯,合理調參仍然不可或缺。

那麼,到底有多少優化器存在“改進參數,竟然能大幅增加優化能力”的問題呢?

還不少。

從下圖來看,綠色表示優化過後,優化算法能更好地運作。

建神經網絡模型,哪種優化算法更好?35000次測試告訴你丨圖賓根大學出品

換而言之,隻要某種優化算法的結果是一片綠,那麼它原來的預設參數就真的很糟糕……

例如,AMSGrad、Mom、NAG的預設參數都存在很大的改進空間。相比而言,AMSBound由于自适應,預設參數都還非常不錯,不需要再有大改進。

對這些優化器進行評估後,研究者們得出以下幾個結論:

1、優化器的性能,在不同的任務中有很大差異;

2、事實上,大部分優化器的性能驚人地相似,目前尚沒有“最通用”的優化方法;

3、對優化器進行(參數)微調,其實和選擇優化器一樣重要、甚至更重要。

不過,雖然這份表格已經非常詳細,還是有細心的網友發現了盲點:像SWA這樣非常簡單高效的方法,還是在分析時被遺漏了。

建神經網絡模型,哪種優化算法更好?35000次測試告訴你丨圖賓根大學出品

當然,就提出的幾種基準測試來說,已經适合用于分析大部分優化器的選擇方案。

目前,作者已經在ArXiv論文頁面,開源了基準測試方法的Code,感興趣的小夥伴可戳論文位址檢視~

作者介紹

這幾位作者都來自于德國圖賓根大學。

建神經網絡模型,哪種優化算法更好?35000次測試告訴你丨圖賓根大學出品

Robin M. Schmidt,計算機專業研究所學生,主要研究方向是人工智能,感興趣的方向在深度學習、強化學習及優化上。

建神經網絡模型,哪種優化算法更好?35000次測試告訴你丨圖賓根大學出品

Philipp Hennig,機器學習教授,兼任馬普所科學家,曾于海德堡大學和帝國理工學院修讀實體,并在劍橋大學獲得機器學習博士學位。

建神經網絡模型,哪種優化算法更好?35000次測試告訴你丨圖賓根大學出品

Frank Schneider,機器學習博士生,研究領域是機器學習的優化方法。目前在鑽研深度學習的超參數,使深度神經網絡的訓練自動化。

論文位址:

https://arxiv.org/abs/2007.01547

— 完 —

本文系網易新聞•網易号特色内容激勵計劃簽約賬号【量子位】原創内容,未經賬号授權,禁止随意轉載。

每天5分鐘,抓住行業發展機遇

如何關注、學習、用好人工智能?

每個工作日,量子位AI内參精選全球科技和研究最新動态,彙總新技術、新産品和新應用,梳理當日最熱行業趨勢和政策,搜尋有價值的論文、教程、研究等。

同時,AI内參群為大家提供了交流和分享的平台,更好地滿足大家擷取AI資訊、學習AI技術的需求。掃碼即可訂閱: