尋找同樣的學(xué)習(xí)率SGD收斂,但Adam不收斂的問題

一、概念知識(shí)

什么是指數(shù)加權(quán)平均?
假設(shè)一組數(shù)據(jù)為b = [v1,v2,v3,v4,v5],則
平均值m=sum(b)/len(b)
加權(quán)均值 m = sum(wb)
指數(shù)加權(quán)就是通過指數(shù)的方式來賦予權(quán)重值,可以看出,權(quán)重是逐漸衰減的。
m1 = 0.1*v1
m2 = 0.9*m1+0.1*v2
m3 = 0.9*m2+0.1*v3
m4 = 0.9*m3+0.1*v4
m5 = 0.9*m4+0.1*v5
所以
m5 = 0.9(0.9*m3+0.1*v4)+0.1*v5
m5 = 0.9(0.9(0.9*m2+0.1*v3)+0.1*v4)+0.1*v5
m5 = 0.9(0.9(0.9(0.9*m1+0.1*v2)+0.1*v3)+0.1*v4)+0.1*v5
m5 = 0.9(0.9(0.9(0.9*0.1*v1+0.1*v2)+0.1*v3)+0.1*v4)+0.1*v5

什么是一介動(dòng)量?
一介動(dòng)量是指每個(gè)迭代的梯度的加權(quán)平均,通俗理解就是依據(jù)梯度做一次統(tǒng)計(jì),然后指導(dǎo)梯度優(yōu)化的方向
m_t = \betam_{t-1}+(1-\beta)g_t
\beta一般就是設(shè)置為0.9,g_t就是每個(gè)前向之后求得的梯度值,加入一介動(dòng)量,意味著希望梯度下降的方向是主要依托前面積累的方向和一點(diǎn)點(diǎn)本次梯度的方向做修改,就類似于過彎道一樣。

什么是二介動(dòng)量?
二介動(dòng)量是指過去每個(gè)迭代的梯度的平均和,通俗理解就是依據(jù)梯度的平方做一次分析(此處的分析可以使求和也可以是其他的),然后指導(dǎo)學(xué)習(xí)率的變化
v_t=\sum^T_t g_t^2
\alpha = \alpha/\sqrt v_t

二、優(yōu)化算法主體框架

需要求解的參數(shù)為W,其中W就是卷積層或者全連接層的權(quán)重。
損失函數(shù)為L=f(W),學(xué)習(xí)率為\alpha
step1:每次前項(xiàng)之后計(jì)算梯度g_t=\nabla f(W,B),也就是偏導(dǎo)數(shù)的方向
step2:計(jì)算出一介動(dòng)量m_t,計(jì)算出二介動(dòng)量v_t
step3:計(jì)算出梯度優(yōu)化的值\eta_t=m_t \alpha\sqrt v_t
step4:更新w_{t+1}=w_t-\eta_t

所有的具體的優(yōu)化方法都是在這個(gè)主體框架的基礎(chǔ)上進(jìn)行一些具體的修改之后演變來的

三、SGD+Momentum

核心思想:引入Momentum的概念\eta_t=\alpha m_t,然后SGD一般可以采用固定學(xué)習(xí)率或者學(xué)習(xí)率按照策略下降。

四、Adagrad

核心思想:加入了二介動(dòng)量的概念,\eta_t=m_t \alpha\sqrt v_t

五、Nesterov

核心思想:先沿著上一次一介動(dòng)量的方向進(jìn)行更新,然后再下一次迭代再考慮梯度的方向。先滾一段距離再說
g_t=\nabla f(W_t - m_{t-1}\alpha) 或者g_t=\nabla f(W_t - m_{t-1}\alpha/\sqrt v_{t-1})

六、 RMSProp

核心思想:二階動(dòng)量的計(jì)算方式做了改變,采用和一介動(dòng)量一樣的指數(shù)加權(quán)
v_t=\beta v_{t-1} + (1-\beta)g_t^2

七、Adam

核心思想:所有的思想都集成于一體
m_t=\beta_1*m_{t-1} + (1-\beta_1)*g_t
v_t = \beta_2*v_{t-1} + (1-\beta_2)*g_t^2
\alpha = \frac{1- \beta_2}{\sqrt(1-\beta_1} *\frac{m_t}{v_t+\varepsilon}

參考資料:

caffe官網(wǎng):http://caffe.berkeleyvision.org/tutorial/solver.html
csdn介https://blog.csdn.net/yinyu19950811/article/details/90476956

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容