最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

“兵無常勢,水無常形”-參數(shù)的自適應(yīng)更新方法

2023-06-04 15:29 作者:白澤火鳳  | 我要投稿

1.損失無法降低的原因


圖1 訓(xùn)練參數(shù)的常見情況

“眾里尋他千百度”-深度學(xué)習(xí)的本質(zhì)一文中,討論了使用傳統(tǒng)的梯度下降方法更新機(jī)器學(xué)習(xí)模型的參數(shù).在通常情況下,遇到的情況大多是上圖中右上方所展示的結(jié)果,橫軸表示參數(shù)迭代的次數(shù),縱軸表示損失函數(shù)的數(shù)值,隨著迭代次數(shù)的增加,損失函數(shù)數(shù)值不再下降.理論上來說,遇到這種情況可能表示梯度為0,參數(shù)更新到了駐點(diǎn).但實(shí)際上,遇到的情況可能并不是這樣,如上圖右下方所示,橫軸仍為參數(shù)的更新次數(shù),縱軸為梯度向量的范數(shù).事實(shí)表明,此時梯度向量并非很小.

出現(xiàn)這一現(xiàn)象,最有可能的原因如上圖左方展示的那樣.參數(shù)更新時遇到了一個類似于“峽谷”的地方,在來回震蕩.

2.梯度下降的改進(jìn)方案

?

圖2 凸面的實(shí)驗(yàn)結(jié)果

上圖展示了取不同學(xué)習(xí)速率時,對于同樣的凸面損失函數(shù)參數(shù)更新的效果.其中橫軸代表參數(shù)b的數(shù)值,縱軸表示參數(shù)w的數(shù)值,通過顏色來表示損失函數(shù)的數(shù)值大小,藍(lán)色色系表示較小的損失,紅色色系表示較大的損失,黃色的“叉”符號表示局部極小點(diǎn),黑色的點(diǎn)表示參數(shù)更新的軌跡.

取學(xué)習(xí)速率為10的-2次方時,參數(shù)更新的效果圖如上方左側(cè)所示.此時由于學(xué)習(xí)速率過大,參數(shù)在類似“峽谷”的兩端不斷地來回震蕩.

考慮到上面的情況無法更新到局部極小點(diǎn),將學(xué)習(xí)速率改小,改成10的-7次方,參數(shù)更新的效果如上圖右方所示,參數(shù)更新到“平坦”的地方,由于學(xué)習(xí)速率和梯度都很小,因此參數(shù)的更新非常緩慢.

綜合以上兩種情況,可以總結(jié)出解決這一問題的可行方案:當(dāng)計(jì)算的梯度非常大時,應(yīng)該需要很小的學(xué)習(xí)速率;當(dāng)計(jì)算的梯度非常小時,應(yīng)該需要很大的學(xué)習(xí)速率.這就如同孫子兵法里的“兵無常勢,水無常形,能因敵變化而取勝者,謂之神”,因此,需要根據(jù)梯度的大小來調(diào)整參數(shù)更新的步伐.

3.自適應(yīng)的更新方法

經(jīng)過上述分析可知,在更新參數(shù)時,參數(shù)更新的數(shù)量不僅和當(dāng)前的梯度、學(xué)習(xí)速率有關(guān)系,應(yīng)該也和歷史的梯度大小有關(guān)系.因此,傳統(tǒng)的參數(shù)更新方法應(yīng)該轉(zhuǎn)化為式(1).在式(1)中,%7B%5Ctheta%7D表示待更新的參數(shù),i表示深度學(xué)習(xí)模型的第i個參數(shù),t表示參數(shù)更新的次數(shù),g表示更新的梯度分量,%7B%5Ceta%7D表示學(xué)習(xí)速率,%7B%5Csigma%7D表示學(xué)習(xí)速率的調(diào)整系數(shù),它本質(zhì)上是關(guān)于更新次數(shù)的函數(shù),更新次數(shù)的變化導(dǎo)致梯度變化,最終導(dǎo)致它的變化.

更新方法的變化本質(zhì)上歸結(jié)于%7B%5Csigma%7D,構(gòu)造%7B%5Csigma%7D的思路不同就衍生出一系列的梯度更新算法.


3.1 Adagrad梯度下降方法

見公式(2),當(dāng)%7B%5Csigma%7D取歷史梯度的均方根(Root Mean Square)時,從概率論的角度來看即為二階原點(diǎn)矩開根號,梯度的平方求平均再開根號,此時梯度更新方法被稱為Adagrad梯度下降方法.易知,當(dāng)%7B%5Csigma%7D關(guān)于梯度的表達(dá)式為公式(2)時,梯度較大時,%7B%5Csigma%7D變大,在更新參數(shù)時取倒數(shù),參數(shù)更新的步伐變小;反之梯度較小時,%7B%5Csigma%7D變小,在更新參數(shù)時取倒數(shù),參數(shù)更新的步伐變大.可以解決上面出現(xiàn)的問題.

??????

3.2 RMSProp梯度下降方法

?

圖3 Adagrad遇到的問題

上圖展示了使用?Adagrad參數(shù)更新方法可能遇到的新問題.其中橫軸表示參數(shù)w1的數(shù)值,縱軸表示w2的數(shù)值,等高線表示損失函數(shù)數(shù)值.如上圖所示,考慮w1參數(shù)更新的情況,一開始“坡度”較為陡峭,參數(shù)更新需要較小的學(xué)習(xí)速率;當(dāng)參數(shù)更新到中間區(qū)域時,“坡度”變得平滑,參數(shù)更新可能需要較大的學(xué)習(xí)速率.但是,使用Adagrad這種更新方法,可能對于當(dāng)前梯度的反應(yīng)并不是很靈敏,當(dāng)前梯度較小時,%7B%5Csigma%7D沒有立刻變小,仍然以之前積累的歷史梯度為主,導(dǎo)致當(dāng)前梯度仍然很大,反而在紅色箭頭部分得到了較小的學(xué)習(xí)速率.由此引出了RMSProp梯度下降方法.

RMSProp梯度下降方法認(rèn)為%7B%5Csigma%7D的數(shù)值取決于兩部分梯度信息,一部分為當(dāng)前梯度的數(shù)值,另一部分為歷史梯度的信息,通過一個參數(shù)%7B%5Calpha%7D來調(diào)節(jié)兩部分信息的重要程度,見公式(3).%7B%5Calpha%7D取值在0至1之間,是一個超參數(shù),如果認(rèn)為過去梯度的信息比較重要就將%7B%5Calpha%7D設(shè)計(jì)得大一些,如果認(rèn)為當(dāng)前梯度的信息比較重要就將%7B%5Calpha%7D設(shè)計(jì)得小一些.


3.3 學(xué)習(xí)速率的Scheduling技術(shù)

?

圖4 Adagrad參數(shù)更新的效果

利用?Adagrad梯度下降方法對圖2中的實(shí)驗(yàn)做改進(jìn),發(fā)現(xiàn)Adagrad梯度下降方法是起作用的,如上圖所示.參數(shù)經(jīng)過足夠多次數(shù)的迭代和更新,確實(shí)可以找到局部極小點(diǎn).但是上圖仍然暴露出Adagrad梯度下降方法的不足之處.

考慮參數(shù)w的更新情況,在豎直方向上一開始梯度很大,參數(shù)更新的學(xué)習(xí)速率很小,在參數(shù)更新至“山谷”處之后,梯度很小.在積累了很多很小的梯度之后%7B%5Csigma%7D變得很大,參數(shù)就“飛出了視野之外”.之后梯度又變大了,參數(shù)又被修正回來,這個過程反復(fù)經(jīng)歷了多次.由此,可以看出,出Adagrad梯度下降方法的不足之處是參數(shù)更新的后期非常不穩(wěn)定,由此引出了學(xué)習(xí)速率的Scheduling技術(shù).

?

圖5 學(xué)習(xí)速率的Scheduling技術(shù)

上圖展示了學(xué)習(xí)速率的Scheduling技術(shù)的兩種方案,一種是認(rèn)為學(xué)習(xí)速率隨著更新的次數(shù)不斷減小又被稱為學(xué)習(xí)速率的衰減(Learning Rate Decay),另外一種認(rèn)為學(xué)習(xí)速率應(yīng)該隨著更新次數(shù)先增大后減小(Warm Up).

學(xué)習(xí)速率的衰減很好理解,因?yàn)殡S著迭代次數(shù)的不斷增加,參數(shù)可能越來越接近局部極小點(diǎn),所以越到后期越應(yīng)該減小更新的速度.關(guān)學(xué)習(xí)速率的Warm Up技術(shù)一個很好的解釋是,前期對于損失函數(shù)一無所知,需要試探性地先多收集更多的信息,等收集完足夠多的信息之后,越來越接近局部極小點(diǎn),此時便可以放緩更新參數(shù)的步伐.

4.改進(jìn)后的梯度更新方法

結(jié)合“居高臨下,勢如破竹”-參數(shù)的動量更新方法一文中介紹的梯度更新的改進(jìn)版,融合本文探討的自適應(yīng)的梯度更新方法,事實(shí)上得到了一個最終版本關(guān)于梯度更新方法的改進(jìn)方案見公式(4)

?

在公式(4)中,參數(shù)%7B%5Ctheta%7D的更新由學(xué)習(xí)速率%7B%5Ceta%7D、動量m和均方根%7B%5Csigma%7D共同決定,學(xué)習(xí)速率%7B%5Ceta%7D、動量m和均方根%7B%5Csigma%7D均為更新次數(shù)t的函數(shù),隨著t的變化而變化.其中學(xué)習(xí)速率{\eta}本質(zhì)上決定了參數(shù)更新的趨勢,動量m決定了參數(shù)更新的方向,均方根%7B%5Csigma%7D參數(shù)變化的數(shù)量級.

?

?

?

?


“兵無常勢,水無常形”-參數(shù)的自適應(yīng)更新方法的評論 (共 條)

分享到微博請遵守國家法律
礼泉县| 平阳县| 新竹市| 连山| 长丰县| 横峰县| 萍乡市| 云阳县| 饶阳县| 通榆县| 郎溪县| 舟曲县| 横峰县| 怀远县| 瑞安市| 承德市| 镶黄旗| 禄丰县| 塔河县| 晋宁县| 河源市| 西华县| 绥德县| 铜梁县| 四川省| 克山县| 太白县| 左贡县| 沁水县| 四会市| 德昌县| 洛浦县| 昌平区| 耒阳市| 无棣县| 湘阴县| 化州市| 镇原县| 日土县| 新昌县| 中超|