Momentum,RMSprop,Adam算法

1 Mini-batch梯度下降

Mini-batch梯度下降迭代過程

Mini-batch解決了批量梯度下降單次迭代樣本多,速度慢的問題,也解決了隨機梯度下降不穩(wěn)定的問題,能夠相對更快更好地收斂。但是,mini-batch和批量梯度下降一樣,更新方向完全依賴當前batch,也是不穩(wěn)定的。Momentum算法解決了這個問題。

2 Momentum

Momentum又叫做gradient descent with momentum。可以把某一維度的歷史擺動中和,從而達到沿著梯度方向快速下降的目的,如下圖所示。

Momentum梯度更新

Momentum用到了指數(shù)加權(quán)平均的思路,把歷史梯度的更新體現(xiàn)到當前的梯度更新中,由于初始值為0還需要用到偏差修正的方法,來修正前幾輪數(shù)據(jù)。但在實際實戰(zhàn)中,幾輪過后,偏差就已經(jīng)不明顯,也可以忽略。另外,也有人把dw的系數(shù)1-β替換成1。

3 RMSprop

RMProps全稱root mean square props,是Hinton在Coursera的課程上首先提出來的,為了解決不同方向擺動幅度不一致的問題。


RMSprop算法梯度更新過程

從圖中可以看到,梯度更新多了一個分母,這個分母就是為了均衡不同維度的擺動幅度。擺動幅度統(tǒng)一后,可以適當調(diào)大學(xué)習(xí)率α,加快訓(xùn)練速度。

4 Adam

Adam算法可以看做momentum和RMSprop的結(jié)合,更新過程如下圖。


Adam算法更新過程

迭代中用到了偏差修正。ε是為了防止分母為零,通常設(shè)置一個很小的值。圖中計算Sdb時,db忘了加平方。算法中用到的超參數(shù)的經(jīng)驗值如下圖。


Adam算法迭代過程

Adam是目前最棒的優(yōu)化算法,不知道用什么的話選它就對了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。