1 Mini-batch梯度下降
Mini-batch解決了批量梯度下降單次迭代樣本多忽洛,速度慢的問題腻惠,也解決了隨機梯度下降不穩(wěn)定的問題,能夠相對更快更好地收斂欲虚。但是集灌,mini-batch和批量梯度下降一樣,更新方向完全依賴當(dāng)前batch复哆,也是不穩(wěn)定的欣喧。Momentum算法解決了這個問題。
2 Momentum
Momentum又叫做gradient descent with momentum梯找∷舭ⅲ可以把某一維度的歷史擺動中和,從而達到沿著梯度方向快速下降的目的锈锤,如下圖所示驯鳖。
Momentum用到了指數(shù)加權(quán)平均的思路,把歷史梯度的更新體現(xiàn)到當(dāng)前的梯度更新中久免,由于初始值為0還需要用到偏差修正的方法浅辙,來修正前幾輪數(shù)據(jù)。但在實際實戰(zhàn)中阎姥,幾輪過后记舆,偏差就已經(jīng)不明顯,也可以忽略呼巴。另外泽腮,也有人把dw的系數(shù)1-β替換成1。
3 RMSprop
RMProps全稱root mean square props衣赶,是Hinton在Coursera的課程上首先提出來的诊赊,為了解決不同方向擺動幅度不一致的問題。
從圖中可以看到屑埋,梯度更新多了一個分母豪筝,這個分母就是為了均衡不同維度的擺動幅度。擺動幅度統(tǒng)一后摘能,可以適當(dāng)調(diào)大學(xué)習(xí)率α续崖,加快訓(xùn)練速度。
4 Adam
Adam算法可以看做momentum和RMSprop的結(jié)合团搞,更新過程如下圖严望。
迭代中用到了偏差修正。ε是為了防止分母為零逻恐,通常設(shè)置一個很小的值像吻。圖中計算Sdb時峻黍,db忘了加平方。算法中用到的超參數(shù)的經(jīng)驗值如下圖拨匆。
Adam是目前最棒的優(yōu)化算法姆涩,不知道用什么的話選它就對了。