導(dǎo)讀
幾種流行的優(yōu)化器的介紹以及優(yōu)缺點(diǎn)分析,并給出了選擇優(yōu)化器的幾點(diǎn)指南。
本文概述了計(jì)算機(jī)視覺、自然語言處理和機(jī)器學(xué)習(xí)中常用的優(yōu)化器。此外,你會(huì)找到一個(gè)基于三個(gè)問題的指導(dǎo)方針,以幫助你的下一個(gè)機(jī)器學(xué)習(xí)項(xiàng)目選擇正確的優(yōu)化器。
找一份相關(guān)的研究論文,開始使用相同的優(yōu)化器。
參考表1并將數(shù)據(jù)集的屬性與不同優(yōu)化器的優(yōu)缺點(diǎn)進(jìn)行比較。
根據(jù)可用的資源調(diào)整你的選擇。
介紹
為你的機(jī)器學(xué)習(xí)項(xiàng)目選擇一個(gè)好的優(yōu)化器是非常困難的。熱門的深度學(xué)習(xí)庫,如PyTorch或TensorFlow,提供了廣泛的優(yōu)化器的選擇,不同的優(yōu)化器,每個(gè)都有自己的優(yōu)缺點(diǎn)。然而,選擇錯(cuò)誤的優(yōu)化器可能會(huì)對(duì)你的機(jī)器學(xué)習(xí)模型的性能產(chǎn)生重大的負(fù)面影響,這使得優(yōu)化器在構(gòu)建、測(cè)試和部署機(jī)器學(xué)習(xí)模型的過程中成為一個(gè)關(guān)鍵的設(shè)計(jì)選擇。

根據(jù)優(yōu)化器的不同,模型的性能可能會(huì)有很大的不同。
選擇優(yōu)化器的問題在于,由于no-free-lunch定理,沒有一個(gè)單一的優(yōu)化器可以在所有場(chǎng)景中超越其他的。事實(shí)上,優(yōu)化器的性能高度依賴于設(shè)置。所以,中心問題是:
哪個(gè)優(yōu)化器最適合我的項(xiàng)目的特點(diǎn)?
下面的內(nèi)容給出了回答上述問題的一個(gè)指南。它由兩個(gè)主要段落組成:在第一部分,我將向你快速介紹最常用的優(yōu)化器。在第二部分中,我將為你提供一個(gè)三步計(jì)劃來為你的項(xiàng)目選擇最好的優(yōu)化器。
一些最常用的優(yōu)化器
在深度學(xué)習(xí)中,幾乎所有流行的優(yōu)化器都基于梯度下降。這意味著他們反復(fù)估計(jì)給定的損失函數(shù)L的斜率,并將參數(shù)向相反的方向移動(dòng)(因此向下爬升到一個(gè)假設(shè)的全局最小值)。這種優(yōu)化器最簡(jiǎn)單的例子可能是隨機(jī)梯度下降(或SGD),自20世紀(jì)50年代以來一直使用。在2010年代,自適應(yīng)梯度的使用,如AdaGrad或Adam已經(jīng)變得越來越流行了。然而,最近的趨勢(shì)表明,部分研究界重新使用SGD而不是自適應(yīng)梯度方法。此外,當(dāng)前深度學(xué)習(xí)的挑戰(zhàn)帶來了新的SGD變體,如LARS或LAMB。例如,谷歌研究在其最新論文中使用LARS訓(xùn)練了一個(gè)強(qiáng)大的自監(jiān)督模型。
下面的部分將介紹最流行的優(yōu)化器。如果你已經(jīng)熟悉了這些概念,請(qǐng)轉(zhuǎn)到“如何選擇正確的優(yōu)化器”部分。
我們將使用以下符號(hào):用w表示參數(shù),用g表示模型的梯度,α為每個(gè)優(yōu)化器的全局學(xué)習(xí)率,t為時(shí)間步長。
Stochastic Gradient Descent (SGD)

Stochastic Gradient Descent (SGD)的更新規(guī)則
在SGD中,優(yōu)化器基于一個(gè)小batch估計(jì)最陡下降的方向,并在這個(gè)方向前進(jìn)一步。由于步長是固定的,SGD會(huì)很快陷入平坦區(qū)或陷入局部極小值。
SGD with Momentum

帶動(dòng)量的SGD的更新規(guī)則
其中β < 1,使用了動(dòng)量,SGD可以在持續(xù)的方向上進(jìn)行加速(這就是為什么也被叫做“重球方法”)。這個(gè)加速可以幫助模型擺脫平坦區(qū),使它更不容易陷入局部最小值。
AdaGrad

AdaGrad的更新規(guī)則
AdaGrad是首個(gè)成功的利用自適應(yīng)學(xué)習(xí)率的方法之一(因此得名)。AdaGrad根據(jù)梯度的平方和的倒數(shù)的平方根來衡量每個(gè)參數(shù)的學(xué)習(xí)速率。這個(gè)過程將稀疏梯度方向上的梯度放大,從而允許在這些方向上執(zhí)行更大的步驟。其結(jié)果是:AdaGrad在具有稀疏特征的場(chǎng)景中收斂速度更快。
RMSprop

RMSprop的更新規(guī)則
RMSprop是一個(gè)未發(fā)布的優(yōu)化器,在過去幾年中被過度使用。這個(gè)想法與AdaGrad相似,但是梯度的重新縮放不那么激進(jìn):梯度的平方的總和被梯度平方的移動(dòng)平均值所取代。RMSprop通常與動(dòng)量一起使用,可以理解為Rprop對(duì)mini-batch設(shè)置的適應(yīng)。
Adam

Adam的更新規(guī)則
Adam將AdaGrad,RMSprop和動(dòng)量法結(jié)合在一起。步長方向由梯度的移動(dòng)平均值決定,步長約為全局步長的上界。此外,梯度的每個(gè)維度都被重新縮放,類似于RMSprop。Adam和RMSprop(或AdaGrad)之間的一個(gè)關(guān)鍵區(qū)別是,矩估計(jì)m和v被糾正為偏向于零。Adam以通過少量的超參數(shù)調(diào)優(yōu)就能獲得良好性能而聞名。
LARS

LARS的更新規(guī)則
LARS是使用動(dòng)量的SGD的一種擴(kuò)展,具有適應(yīng)每層學(xué)習(xí)率的能力。它最近引起了研究界的注意。原因是由于可用數(shù)據(jù)量的穩(wěn)步增長,機(jī)器學(xué)習(xí)模型的分布式訓(xùn)練已經(jīng)流行起來。其結(jié)果是批大小開始增長。然而,這導(dǎo)致了訓(xùn)練中的不穩(wěn)定。Yang等人認(rèn)為,這些不穩(wěn)定性源于某些層的梯度范數(shù)和權(quán)重范數(shù)之間的不平衡。因此,他們提出了一個(gè)優(yōu)化器,該優(yōu)化器基于一個(gè)“trust”參數(shù)η < 1和該層的梯度的范數(shù)的倒數(shù),對(duì)每一層的學(xué)習(xí)率進(jìn)行縮放。
如何選擇正確的優(yōu)化器?
如上所述,為你的機(jī)器學(xué)習(xí)問題選擇正確的優(yōu)化器是困難的。更具體地說,沒有一勞永逸的解決方案,必須根據(jù)手頭的特定問題仔細(xì)選擇優(yōu)化器。在下一節(jié)中,我將提出在決定使用某個(gè)優(yōu)化器之前應(yīng)該問自己的三個(gè)問題。
與你的數(shù)據(jù)集和任務(wù)類似的state-of-the-art的結(jié)果是什么?使用過了哪些優(yōu)化器,為什么?
如果你正在使用新的機(jī)器學(xué)習(xí)方法,可能會(huì)有一篇或多篇涵蓋類似問題或處理類似數(shù)據(jù)的可靠論文。通常,論文的作者已經(jīng)做了廣泛的交叉驗(yàn)證,并且只報(bào)告了最成功的配置。試著理解他們選擇優(yōu)化器的原因。
舉例:假設(shè)你想訓(xùn)練生成對(duì)抗性網(wǎng)絡(luò)(GAN)來對(duì)一組圖像執(zhí)行超分辨率。在一些研究之后,你偶然發(fā)現(xiàn)了一篇論文:”Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network,” ,其中研究人員使用Adam優(yōu)化器來解決完全相同的問題。Wilson等人認(rèn)為,訓(xùn)練GANs并不等于解決最優(yōu)化問題,Adam可能非常適合這樣的場(chǎng)景。因此,在這種情況下,Adam是優(yōu)化器的一個(gè)很好的選擇。
你的數(shù)據(jù)集是否具有某些優(yōu)化器的優(yōu)勢(shì)?如果有,是哪些,如何利用這些優(yōu)勢(shì)?
表1顯示了不同優(yōu)化器及其優(yōu)缺點(diǎn)的概述。嘗試找到與數(shù)據(jù)集的特征、訓(xùn)練設(shè)置和目標(biāo)相匹配的優(yōu)化器。
某些優(yōu)化器在具有稀疏特征的數(shù)據(jù)上表現(xiàn)得非常好,而另一些優(yōu)化器在將模型應(yīng)用于之前未見過的數(shù)據(jù)時(shí)可能表現(xiàn)得更好。一些優(yōu)化器在大batch中工作得很好,而另一些優(yōu)化器可以收斂到很陡峭的極小值但是泛化效果不好。

表1:流行的優(yōu)化器的總結(jié),突出它們的優(yōu)點(diǎn)和缺點(diǎn)。state memory列表示優(yōu)化器所需的字節(jié)數(shù) —— 除了梯度所需的內(nèi)存之外。其中,n為機(jī)器學(xué)習(xí)模型的參數(shù)個(gè)數(shù)。例如,沒有動(dòng)量的SGD只需要內(nèi)存來存儲(chǔ)梯度,而有動(dòng)量的SGD也需要存儲(chǔ)梯度的移動(dòng)平均值。
例子:對(duì)于你當(dāng)前工作的項(xiàng)目,你必須將用戶反饋分為積極反饋和消極反饋。你考慮使用bag-of-words作為機(jī)器學(xué)習(xí)模型的輸入特征。由于這些特征可能非常稀疏,你決定使用自適應(yīng)梯度的方法。但是你想用哪一種呢?考慮表1,你看到看到AdaGrad具有自適應(yīng)梯度方法中最少的可調(diào)參數(shù)??吹侥愕捻?xiàng)目有限的時(shí)間表,你選擇了AdaGrad作為優(yōu)化器。
你的項(xiàng)目所具有資源是什么?
項(xiàng)目中可用的資源也會(huì)影響選擇哪個(gè)優(yōu)化器。計(jì)算限制或內(nèi)存約束,以及項(xiàng)目的時(shí)間表可以縮小可行選擇的范圍。再次查看表1,你可以看到不同的內(nèi)存需求和每個(gè)優(yōu)化器的可調(diào)參數(shù)數(shù)量。此信息可以幫助你評(píng)估你的設(shè)置是否支持優(yōu)化器所需的資源。
例子:你在做一個(gè)項(xiàng)目,在該項(xiàng)目中,你想在家用計(jì)算機(jī)上的圖像數(shù)據(jù)集上訓(xùn)練一個(gè)自監(jiān)督模型(例如SimCLR)。對(duì)于SimCLR這樣的模型,性能隨著batch size大小的增加而增加。因此,你希望盡可能地節(jié)省內(nèi)存,以便能夠進(jìn)行大batch的訓(xùn)練。你選擇一個(gè)簡(jiǎn)單的不帶動(dòng)量的隨機(jī)梯度下降作為你的優(yōu)化器,因?yàn)榕c其他優(yōu)化器相比,它需要最少的額外內(nèi)存來存儲(chǔ)狀態(tài)。
總結(jié)
嘗試所有可能的優(yōu)化器來為自己的項(xiàng)目找到最好的那一個(gè)并不總是可能的。在這篇博客文章中,我概述了最流行的優(yōu)化器的更新規(guī)則、優(yōu)缺點(diǎn)和需求。此外,我列出了三個(gè)問題來指導(dǎo)你做出明智的決定,即機(jī)器學(xué)習(xí)項(xiàng)目應(yīng)該使用哪個(gè)優(yōu)化器。
作為一個(gè)經(jīng)驗(yàn)法則:如果你有資源找到一個(gè)好的學(xué)習(xí)率策略,帶動(dòng)量的SGD是一個(gè)可靠的選擇。如果你需要快速的結(jié)果而不需要大量的超參數(shù)調(diào)優(yōu),請(qǐng)使用自適應(yīng)梯度方法。
責(zé)任編輯:lq
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4423瀏覽量
67884 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
67文章
8567瀏覽量
137277 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1240瀏覽量
26264
原文標(biāo)題:在機(jī)器學(xué)習(xí)項(xiàng)目中該如何選擇優(yōu)化器
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
變頻器矢量控制和DTC各有什么優(yōu)缺點(diǎn)?各適用什么工作場(chǎng)合?
VirtualLab:光柵的優(yōu)化與分析
降壓穩(wěn)壓器中展頻實(shí)現(xiàn)方法的優(yōu)缺點(diǎn)
[VirtualLab] 傾斜光柵的參數(shù)優(yōu)化及公差分析
無刷電機(jī)轉(zhuǎn)子永磁體的幾種結(jié)構(gòu)優(yōu)缺點(diǎn)
【產(chǎn)品介紹】Altair OptiStruct結(jié)構(gòu)分析優(yōu)化軟件
電磁流量計(jì)優(yōu)缺點(diǎn)的詳細(xì)介紹
對(duì)比分析電能質(zhì)量在線監(jiān)測(cè)裝置支持的斷點(diǎn)續(xù)傳文件傳輸協(xié)議的優(yōu)缺點(diǎn)
改進(jìn)wallance樹乘法器優(yōu)化方法
正確的連接電機(jī)傳動(dòng)軸的幾種常見連接方式及其優(yōu)缺點(diǎn)
無線局域網(wǎng)的優(yōu)缺點(diǎn)和使用要點(diǎn)
超級(jí)電容對(duì)比鋰電池的優(yōu)缺點(diǎn)
商業(yè)云手機(jī)核心優(yōu)缺點(diǎn)分析
幾種流行的優(yōu)化器的介紹以及優(yōu)缺點(diǎn)分析
評(píng)論