從Momentum、RMSprop到Adam

Momentum提岔、RMSprop是兩種對梯度下降法的改進方法仙蛉,他們能夠使梯度下降運行得更快,而Adam算法又是Momentum和RMSprop的結(jié)合碱蒙,下面我們具體來看捅儒。

指數(shù)加權(quán)移動平均(EWMA)

要理解Momentum梯度下降,必須要理解指數(shù)加權(quán)移動平均振亮,那么首先我們來看什么是移動平均。移動平均的本質(zhì)是一種低通濾波鞭莽,他的目的是過濾掉時間序列中的高頻擾動坊秸,只保留低頻趨勢。假設(shè)我們有一個時間序列\{y_1,y_2,...,y_t,...\}和某個過濾函數(shù)F澎怒,在任意時刻t低通濾波可以表示為時間序列y和過濾函數(shù)F在整個時域上的卷積

x_t=\sum_{I=-\infty}^{\infty}F_iy_{t-i}

在實際中用不到無窮多的數(shù)據(jù)褒搔,那么我們考慮一個滑動的長為T的窗口

x_t=\sum_{i=t-\frac{T-1}{2}}^{t+\frac{T-1}{2}}F_iy_{t-i}

但是由于我們沒有辦法得到時間序列的未來數(shù)據(jù)(從t+1t+\frac{T-1}{2}段),所以我們將這個窗口向前移動\frac{T-1}{2}喷面,于是

x_t=\sum_{i=t-T+1}^{t} F_iy_{t-i}

這樣做就造成了這個濾波有滯后性(由于我們沒有未來數(shù)據(jù))星瘾,即對于當(dāng)前的數(shù)據(jù)不敏感,所以我們有了加權(quán)移動平均惧辈,即我們希望通過賦予當(dāng)前數(shù)據(jù)更大的權(quán)重來使得該移動平均對當(dāng)前數(shù)據(jù)變化更加敏感琳状,如果我們用簡單線性函數(shù)來進行加權(quán),設(shè)加權(quán)函數(shù)

F_i=\frac{2(T-t+i)}{T(T+1)}

那么我們得到的移動加權(quán)平均為

x_t = \sum_{i=1}^{t}F_iy_i=\frac{2(Ty_t+(T-1)y_{t-1}\cdots y_{t-T+1})}{T(T+1)}

如果僅采用線性權(quán)重盒齿,所得移動加權(quán)平均仍然可能出現(xiàn)滯后性念逞,這是因為t之前的項衰減的不夠快,所以我們引出指數(shù)加權(quán)平均边翁,即加權(quán)函數(shù)F指數(shù)衰減翎承,設(shè)衰減因子為\beta,有

x_t=\sum_{i=t-T+1}^{t}\beta^{t-i}y_i

如果寫成遞推的形式就是

\begin{aligned}x_0&=0\\x_t &= \beta x_{t-1}+(1-\beta)y_t\end{aligned}

這就是指數(shù)加權(quán)移動平均符匾。

Momentum梯度下降(GD with Momentum)

Momentum梯度下降相較于梯度下降不同的地方在于:不再使用梯度作為學(xué)習(xí)步長叨咖,而是使用梯度的指數(shù)加權(quán)移動平均。即

\begin{aligned}v_0 &= 0\\v_{t+1} &= \beta v_{t} +(1-\beta) \frac{\partial J }{\partial W_t}\\\Delta \vec{w}_{t+1} &= -\alpha v_{t+1}\end{aligned}

很自然的一個問題是,這樣做的好處是什么甸各?接下來我們做一些定性的解釋垛贤。假設(shè)我們要最小化的目標(biāo)函數(shù)在初始化到極值點的范圍內(nèi)是凹的(convex),那么我們在模型上運行梯度下降的過程可能是


為什么會是這個樣子痴晦?由于學(xué)習(xí)率\alpha不可能做到無窮小南吮,而目標(biāo)函數(shù)J的導(dǎo)數(shù)是不斷變化的,所以在每一步梯度下降時誊酌,僅僅開始的那一點是朝著梯度的方向優(yōu)化部凑,而除了那一點后的其他點,優(yōu)化的方向都不再是梯度的方向碧浊,而會有一個夾角涂邀。就如同在碗沿上放一個小球,給它一個橫向初速度箱锐,那么由于速度的影響比勉,小球運動的方向不會總是梯度的方向。

如上圖驹止,如果能夠平均掉一些“縱向”的移動浩聋,那么學(xué)習(xí)率就能“貢獻”更多給“橫向”移動,那么梯度下降就會運行得更快臊恋。我們之前假設(shè)目標(biāo)函數(shù)在我們優(yōu)化域內(nèi)是凹的(不是凹的也會近似成立)衣洁,幾次相鄰的梯度下降時,圖中“縱向”移動的部分很可能是相反的抖仅,我們采用指數(shù)加權(quán)移動平均把這些“縱向”部分平均掉一些坊夫,從而能加速算法,這就是定性地理解Momentum為什么有用撤卢。

在學(xué)習(xí)RMSprop之前环凿,我們先看一下另外兩個算法Rprop和AdaGrad,因為RMSprop是通過這兩個算法改進的放吩,了解這兩個算法對于理解RMSprop很有幫助智听。

Rprop梯度下降

在運行學(xué)習(xí)算法的過程中,我們可能會陷入局部極惺郝(local optimal)和鞍點(saddle point)瞭稼,事實上,由于參數(shù)空間維度通常較高腻惠,陷入局部極小的情況很少环肘,而陷入鞍點幾乎是一個普遍情況(特別在神經(jīng)網(wǎng)絡(luò)訓(xùn)練中),這樣的壞處是集灌,目標(biāo)函數(shù)在一個(或幾個)方向上梯度為0悔雹,而其余方向上不為0(甚至很大)复哆,那么參數(shù)就會在那些不為0的方向上擺動,導(dǎo)致優(yōu)化效率很低腌零,所以Rprop算法引入了梯度上下界梯找,也就是說讓梯度的大小至多(或至少)應(yīng)該是多少,設(shè)\Delta w為最終采用的梯度大小益涧,dw[t]dw[t-1]分別是該步和上一步的梯度锈锤,\Delta w_{max}\Delta w_{min}分別是梯度上下限,那么Rprop可以表示為

if\space dw[t] \cdot dw[t-1] >0:\quad \Delta w = min\{\Delta w_{max},\space \alpha \cdot \Delta w[t]\}

elif\space dw[t]\cdot dw[t-1]<0:\quad \Delta w =max\{\Delta w_{min},\space \alpha \cdot dw[t]\}

直觀理解就是闲询,當(dāng)梯度朝著一個方向前進時久免,將它約束在某個\Delta w_{max}內(nèi),避免由于梯度過大產(chǎn)生的偏差太大扭弧;當(dāng)梯度在某個點附近擺動時阎姥,將它約束在某個\Delta w_{min}以上,給予它足夠大的能量鸽捻,讓它能夠擺脫局部最優(yōu)呼巴。

AdaGrad梯度下降

AdaGrad也是為了解決鞍點和局部最優(yōu)而出現(xiàn)的,是Rprop的一種改進御蒲。Rprop的缺點很明顯衣赶,梯度容錯率過低,如果存在一系列同號的梯度和突然的變號梯度厚满,在所有同號梯度中屑埋,梯度會被削弱,而最后的變號梯度會被加強痰滋,如果變號梯度是由于計算錯誤導(dǎo)致的,那么這個錯誤將會被無限放大(特別是如果算出來的梯度本身就是很大的值的時候)续崖。所以AdaGrad采用了累計平方梯度的思想敲街,也就是用梯度自身的大小來約束梯度。

\begin{aligned}S[t] &= S[t-1] + (dw[t])^2\\w [t] &= w[t-1]-\alpha\frac{dw[t]}{\delta+\sqrt{S[t]}}\end{aligned}

其中\delta是一個為了保證分母不過小的量严望。直觀理解就是多艇,對梯度的平方進行累計,將其方根作為一個正則化因子像吻,這樣峻黍,當(dāng)dw[t]過大的時候,它也較大拨匆,dw[t]較小的時候姆涩,它也較小,對梯度做了正則化惭每,讓它保持在某個范圍內(nèi)骨饿。

AdaGrad的缺點也是很明顯的,隨著訓(xùn)練的進行,S[t]會越來越大宏赘,這樣梯度會逐漸減小绒北,訓(xùn)練提前結(jié)束。

RMSprop梯度下降

RMSprop對AdaGrad做了一點改進察署,不再使用單純的和累計闷游,而是用了指數(shù)移動加權(quán)平均。

\begin{aligned}S[t] &= \beta S[t-1] + (1-\beta)(dw[t])^2\\w [t] &= w[t-1]-\alpha\frac{dw[t]}{\delta+\sqrt{S[t]}}\end{aligned}

這樣做的好處就是贴汪,首先脐往,可以通過調(diào)整\beta來決定S[t]對當(dāng)前數(shù)據(jù)的敏感程度,其次由于指數(shù)移動平均加權(quán)就自帶了正則化嘶是,所以S[t]不會一直增大钙勃,而是會由加權(quán)窗口的數(shù)據(jù)平均決定,這樣就很好地解決了問題聂喇。

Adam梯度下降

了解了Momentum辖源,RMSprop,我們只要把他們結(jié)合起來就是著名的Adam算法希太。也就是

\begin{aligned}v[0] &= 0\\v_[t] &= \beta v[t-1] +(1-\beta)dw[t]\\S[t] &= \beta S[t-1] + (1-\beta)(dw[t])^2\\w [t] &= w[t-1]-\alpha\frac{v[t]}{\delta+\sqrt{S[t]}}\end{aligned}

對梯度項做了指數(shù)加權(quán)平均和正則化克饶,這樣這個算法就很健壯(robust)了。

至此誊辉,我們已經(jīng)了解了Adam算法矾湃。迄今為止,由于它的健壯性堕澄,Adam算法還在廣泛用于深度神經(jīng)網(wǎng)絡(luò)中邀跃,是一種很有效的算法。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蛙紫,一起剝皮案震驚了整個濱河市拍屑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌坑傅,老刑警劉巖僵驰,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異唁毒,居然都是意外死亡蒜茴,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進店門浆西,熙熙樓的掌柜王于貴愁眉苦臉地迎上來粉私,“玉大人,你說我怎么就攤上這事近零≌奔” “怎么了崔泵?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長猪瞬。 經(jīng)常有香客問我憎瘸,道長,這世上最難降的妖魔是什么陈瘦? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任幌甘,我火速辦了婚禮,結(jié)果婚禮上痊项,老公的妹妹穿的比我還像新娘锅风。我一直安慰自己,他們只是感情好鞍泉,可當(dāng)我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布皱埠。 她就那樣靜靜地躺著,像睡著了一般咖驮。 火紅的嫁衣襯著肌膚如雪边器。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天托修,我揣著相機與錄音忘巧,去河邊找鬼。 笑死睦刃,一個胖子當(dāng)著我的面吹牛砚嘴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播涩拙,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼际长,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了兴泥?” 一聲冷哼從身側(cè)響起也颤,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體量承,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡馍资,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了燥翅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片骑篙。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖森书,靈堂內(nèi)的尸體忽然破棺而出靶端,到底是詐尸還是另有隱情谎势,我是刑警寧澤,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布杨名,位于F島的核電站脏榆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏台谍。R本人自食惡果不足惜须喂,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望趁蕊。 院中可真熱鬧坞生,春花似錦、人聲如沸掷伙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽任柜。三九已至卒废,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間乘盼,已是汗流浹背升熊。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留绸栅,地道東北人级野。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像粹胯,于是被迫代替她去往敵國和親蓖柔。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容