1. 程式人生 > >簡單解釋Momentum,RMSprop,Adam優化算法

簡單解釋Momentum,RMSprop,Adam優化算法

結合 神經網絡 兩種 form inf png 深度學習 表示 理論

我們初學的算法一般都是從SGD入門的,參數更新是:

技術分享圖片

它的梯度路線為:

技術分享圖片

但是可以看出它的上下波動很大,收斂的速度很慢。因此根據這些原因,有人提出了Momentum優化算法,這個是基於SGD的,簡單理解,就是為了防止波動,取前幾次波動的平均值當做這次的W。這個就用到理論的計算梯度的指數加權平均數,引進超參數beta(一般取0.9):

技術分享圖片

beta和1-beta分別代表之前的dW權重和現在的權重。

效果圖如下(紅色):

技術分享圖片

下面繼續另一種加速下降的一個算法RMSprop,全稱root mean square prop。也用到權重超參數beta(一般取0.999),和Momentum相似:

技術分享圖片

其中dW的平方是(dW)^2,db的平方是(db)^2。如果嚴謹些,防止分母為0,在分數下加上個特別小的一個值epsilon,通常取10^-8。

效果圖如下(綠色):

技術分享圖片

研究者們其實提出了很多的優化算法,可以解決一些問題,但是很難擴展到多種神經網絡。而Momentum,RMSprop是很長時間來最經得住考研的優化算法,適合用於不同的深度學習結構。所以有人就有想法,何不將這倆的方法結合到一起呢?然後,pia ji一下,Adam問世了。全程Adaptive Moment Estimation。算法中通常beta_1=0.9,beta_2=0.999。

算法為(很明顯看出是兩者的結合,其中多了一步V和S的調節,t為叠代次數,除以1-beta^t表示越近的重要,越遠的就可以忽視):

技術分享圖片

因為Adam結合上述兩種優化算法的優點於一身,所以現在經常用的是Adam優化算法。

簡單解釋Momentum,RMSprop,Adam優化算法