1SGD、Momention原理
(1)SGD為隨機(jī)梯度下降算法,每一次迭代計(jì)算數(shù)據(jù)集的小批次的梯度,然后對(duì)參數(shù)進(jìn)行更新。隨機(jī)梯度下降算法比較簡(jiǎn)單在這里不展開(kāi)說(shuō),關(guān)于隨機(jī)梯度下降算法公式的推導(dǎo)就是運(yùn)用鏈?zhǔn)角髮?dǎo)法則一頓求偏導(dǎo),使得數(shù)據(jù)預(yù)測(cè)值和真實(shí)值的差最小。
公式:
(2)參考了物理中動(dòng)量的概念,考慮到前幾次的梯度,但是前幾輪的梯度疊加在當(dāng)前計(jì)算中會(huì)有一定的衰減。可以使最優(yōu)解的曲線更加的平滑,其原理使移動(dòng)平均加權(quán)公式為(和c++中的動(dòng)態(tài)規(guī)劃有些相似,不同的是帶有權(quán)重):
其中β為權(quán)重,vt-1是前幾次的梯度,為當(dāng)前梯度。
β的選擇尤為的重要。在預(yù)測(cè)溫度的例子中,吳恩達(dá)老師令β=0.9 。使曲線要平坦一點(diǎn),這是因?yàn)槟闫骄藥滋斓臏囟?#xff0c;所以這個(gè)曲線波動(dòng)更小,更加平坦,缺點(diǎn)就是曲線會(huì)失去時(shí)效性。如果選擇的β值過(guò)小,平均的數(shù)據(jù)就會(huì)很少,得到的曲線會(huì)有更多的噪聲也就是(穩(wěn)定性差)更有可能出現(xiàn)異常值,但是趨勢(shì)曲線能夠更加適應(yīng)擬合你的原始數(shù)據(jù),也就是趨勢(shì)曲線的(時(shí)效性高)。
β是一個(gè)很重要的參數(shù),可以取得稍微不同的效果,往往中間某個(gè)值效果最好。
該方法和隨機(jī)梯度下降算法相比的優(yōu)勢(shì)是,由于引入動(dòng)量的原因,可以使梯度輕松的跳出偽最優(yōu)解。但是由于加入前期梯度的原因可能會(huì)導(dǎo)致前期的預(yù)測(cè)效果不好我們可以引入帶修正偏差的指數(shù)加權(quán)平均公式:
我們可以發(fā)現(xiàn)當(dāng)數(shù)據(jù)量比較大的時(shí)候即t比較大的時(shí)候,會(huì)出現(xiàn)vt‘=vt的現(xiàn)象。
參考資料:https://zhuanlan.zhihu.com/p/32335746
(3)AdaGrad算法
1)從AdaGrad算法中可以看出,隨著算法不斷迭代,r會(huì)越來(lái)越大,整體的學(xué)習(xí)率會(huì)越來(lái)越小。所以,一般來(lái)說(shuō)AdaGrad算法一開(kāi)始是激勵(lì)收斂,到了后面就慢慢變成懲罰收斂,速度越來(lái)越慢。
(2)在SGD中,隨著梯度的增大,我們的學(xué)習(xí)步長(zhǎng)應(yīng)該是增大的。但是在AdaGrad中,隨著梯度g的增大,我們的r也在逐漸的增大,且在梯度更新時(shí)r在分母上,也就是整個(gè)學(xué)習(xí)率是減少的,這是為什么呢?這是因?yàn)殡S著更新次數(shù)的增大,我們希望學(xué)習(xí)率越來(lái)越慢。因?yàn)槲覀冋J(rèn)為在學(xué)習(xí)率的最初階段,我們距離損失函數(shù)最優(yōu)解還很遠(yuǎn),隨著更新次數(shù)的增加,越來(lái)越接近最優(yōu)解,所以學(xué)習(xí)率也隨之變慢。
(3)經(jīng)驗(yàn)上已經(jīng)發(fā)現(xiàn),對(duì)于訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)模型而言,從訓(xùn)練開(kāi)始時(shí)積累梯度平方會(huì)導(dǎo)致有效學(xué)習(xí)率過(guò)早和過(guò)量的減小。AdaGrade在某些深度學(xué)習(xí)模型上效果不錯(cuò),但不是全部。
優(yōu)勢(shì):
在數(shù)據(jù)分布稀疏的場(chǎng)景,能更好利用稀疏梯度的信息,比標(biāo)準(zhǔn)的SGD算法更有效地收斂。
缺點(diǎn):
主要缺陷來(lái)自分母項(xiàng)的對(duì)梯度平方不斷累積,隨之時(shí)間步地增加,分母項(xiàng)越來(lái)越大,最終導(dǎo)致學(xué)習(xí)率收縮到太小無(wú)法進(jìn)行有效更新
————————————————
版權(quán)聲明:本文為CSDN博主「bl128ve900」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/bl128ve900/article/details/98211689
?
?
?
總結(jié)
以上是生活随笔為你收集整理的1SGD、Momention原理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: git ignore 怎么添加和删除_G
- 下一篇: 搜索回溯框架