深度學習最全優(yōu)化方法總結比較(SGD,Adagrad,Adadelta,Adam,Adamax,Nadam)

      網(wǎng)友投稿 1485 2022-05-30

      深度學習最全優(yōu)化方法總結比較(SGD,Adagrad,Adadelta,Adam,Adamax,Nadam)

      前言

      (標題不能再中二了)本文僅對一些常見的優(yōu)化方法進行直觀介紹和簡單的比較,各種優(yōu)化方法的詳細內容及公式只好去認真啃論文了,在此我就不贅述了。

      SGD

      此處的SGD指mini-batch gradient descent,關于batch gradient descent, stochastic gradient descent, 以及 mini-batch gradient descent的具體區(qū)別就不細說了?,F(xiàn)在的SGD一般都指mini-batch gradient descent。

      SGD就是每一次迭代計算mini-batch的梯度,然后對參數(shù)進行更新,是最常見的優(yōu)化方法了。即:

      SGD完全依賴于當前batch的梯度,所以可理解為允許當前batch的梯度多大程度影響參數(shù)更新

      缺點:(正因為有這些缺點才讓這么多大神發(fā)展出了后續(xù)的各種算法)

      選擇合適的learning rate比較困難

      對所有的參數(shù)更新使用同樣的learning rate。對于稀疏數(shù)據(jù)或者特征,有時我們可能想更新快一些對于不經(jīng)常出現(xiàn)的特征,對于常出現(xiàn)的特征更新慢一些,這時候SGD就不太能滿足要求了

      SGD容易收斂到局部最優(yōu),在某些情況下可能被困在鞍點【但是在合適的初始化和學習率設置下,鞍點的影響其實沒這么大】

      Momentum

      momentum是模擬物理里動量的概念,積累之前的動量來替代真正的梯度。公式如下:

      特點:

      下降初期時,使用上一次參數(shù)更新,下降方向一致,乘上較大的能夠進行很好的加速

      下降中后期時,在局部最小值來回震蕩的時候,,使得更新幅度增大,跳出陷阱

      在梯度改變方向的時候,能夠減少更新

      總而言之,momentum項能夠在相關方向加速SGD,抑制振蕩,從而加快收斂

      Nesterov

      nesterov項在梯度更新時做一個校正,避免前進太快,同時提高靈敏度。

      將上一節(jié)中的公式展開可得:

      momentum首先計算一個梯度(短的藍色向量),然后在加速更新梯度的方向進行一個大的跳躍(長的藍色向量),nesterov項首先在之前加速的梯度方向進行一個大的跳躍(棕色向量),計算梯度然后進行校正(綠色梯向量)

      其實,momentum項和nesterov項都是為了使梯度更新更加靈活,對不同情況有針對性。但是,人工設置一些學習率總還是有些生硬,接下來介紹幾種自適應學習率的方法

      Adagrad

      Adagrad其實是對學習率進行了一個約束。即:

      特點:

      前期較小的時候, regularizer較大,能夠放大梯度

      后期較大的時候,regularizer較小,能夠約束梯度

      適合處理稀疏梯度

      缺點:

      由公式可以看出,仍依賴于人工設置一個全局學習率

      設置過大的話,會使regularizer過于敏感,對梯度的調節(jié)太大

      中后期,分母上梯度平方的累加將會越來越大,使,使得訓練提前結束

      Adadelta

      Adadelta是對Adagrad的擴展,最初方案依然是對學習率進行自適應約束,但是進行了計算上的簡化。

      Adagrad會累加之前所有的梯度平方,而Adadelta只累加固定大小的項,并且也不直接存儲這些項,僅僅是近似計算對應的平均值。即:

      特點:

      訓練初中期,加速效果不錯,很快

      訓練后期,反復在局部最小值附近抖動

      RMSprop

      RMSprop可以算作Adadelta的一個特例:

      當時,就變?yōu)榱饲筇荻绕椒胶偷钠骄鶖?shù)。

      如果再求根的話,就變成了RMS(均方根):

      特點:

      其實RMSprop依然依賴于全局學習率

      RMSprop算是Adagrad的一種發(fā)展,和Adadelta的變體,效果趨于二者之間

      適合處理非平穩(wěn)目標

      對于RNN效果很好

      Adam

      Adam(Adaptive Moment Estimation)本質上是帶有動量項的RMSprop,它利用梯度的一階矩估計和二階矩估計動態(tài)調整每個參數(shù)的學習率。Adam的優(yōu)點主要在于經(jīng)過偏置校正后,每一次迭代學習率都有個確定范圍,使得參數(shù)比較平穩(wěn)。公式如下:

      特點:

      結合了Adagrad善于處理稀疏梯度和RMSprop善于處理非平穩(wěn)目標的優(yōu)點

      對內存需求較小

      為不同的參數(shù)計算不同的自適應學習率

      也適用于大多非凸優(yōu)化

      適用于大數(shù)據(jù)集和高維空間

      Adamax

      Adamax是Adam的一種變體,此方法對學習率的上限提供了一個更簡單的范圍。公式上的變化如下:

      Nadam

      Nadam類似于帶有Nesterov動量項的Adam。公式如下:

      經(jīng)驗之談

      對于稀疏數(shù)據(jù),盡量使用學習率可自適應的優(yōu)化方法,不用手動調節(jié),而且最好采用默認值

      SGD通常訓練時間更長,容易陷入鞍點,但是在好的初始化和學習率調度方案的情況下,結果更可靠

      如果在意更快的收斂,并且需要訓練較深較復雜的網(wǎng)絡時,推薦使用學習率自適應的優(yōu)化方法。

      Adadelta,RMSprop,Adam是比較相近的算法,在相似的情況下表現(xiàn)差不多。

      在想使用帶動量的RMSprop,或者Adam的地方,大多可以使用Nadam取得更好的效果

      最后展示兩張可厲害的圖,一切盡在圖中啊,上面的都沒啥用了… …

      損失平面等高線

      在鞍點處的比較

      引用

      [1]Adagrad

      [2]RMSprop[Lecture 6e]

      [3]Adadelta

      [4]Adam

      [5]Nadam

      [6]On the importance of initialization and momentum in deep learning

      [7]Keras?中文文檔

      [8]Alec Radford(圖)

      [9]An overview of gradient descent optimization algorithms

      深度學習最全優(yōu)化方法總結比較(SGD,Adagrad,Adadelta,Adam,Adamax,Nadam)

      [10]Gradient Descent Only Converges to Minimizers

      [11]Deep Learning:Nature

      機器學習 深度學習

      版權聲明:本文內容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內刪除侵權內容。

      上一篇:OpenCV與Open3D等開源視覺庫的詳細筆記
      下一篇:兩種方式實現(xiàn)Spring 業(yè)務驗證
      相關文章
      亚洲精品无码久久毛片波多野吉衣| 亚洲av午夜国产精品无码中文字| 亚洲乱码国产乱码精华| 国产亚洲精品自在久久| 一本色道久久88综合亚洲精品高清| 亚洲国产高清国产拍精品| 含羞草国产亚洲精品岁国产精品 | 自拍偷自拍亚洲精品情侣| 亚洲精品无码日韩国产不卡?V| 亚洲国产精品人人做人人爽| 亚洲AV网站在线观看| 午夜亚洲国产成人不卡在线| 亚洲国产一区二区视频网站| 亚洲精品天堂成人片?V在线播放| 亚洲黄黄黄网站在线观看| 国产成人精品久久亚洲高清不卡 | 国产91精品一区二区麻豆亚洲| 亚洲最大av无码网址| 亚洲精品蜜桃久久久久久| 亚洲成AV人片一区二区密柚| 亚洲国产综合专区电影在线| 久久精品九九亚洲精品| 亚洲国产综合自在线另类| 亚洲av无码不卡久久| 亚洲欧美日韩中文字幕一区二区三区 | 精品亚洲456在线播放| 亚洲国产成人精品无码区花野真一 | 亚洲一区免费在线观看| 亚洲综合在线一区二区三区| 亚洲精品国产综合久久久久紧| 日韩色视频一区二区三区亚洲 | 亚洲午夜电影在线观看高清| 国产亚洲中文日本不卡二区| 国产精品亚洲AV三区| 久久久精品国产亚洲成人满18免费网站| 中文字幕亚洲专区| 亚洲精品免费观看| 亚洲一区二区三区免费视频| 亚洲av永久无码精品网址| 国产黄色一级毛片亚洲黄片大全| 亚洲日本乱码在线观看|