神經(jīng)網(wǎng)絡(luò)梯度更新優(yōu)化器詳解筆記_第1頁(yè)
神經(jīng)網(wǎng)絡(luò)梯度更新優(yōu)化器詳解筆記_第2頁(yè)
神經(jīng)網(wǎng)絡(luò)梯度更新優(yōu)化器詳解筆記_第3頁(yè)
神經(jīng)網(wǎng)絡(luò)梯度更新優(yōu)化器詳解筆記_第4頁(yè)
神經(jīng)網(wǎng)絡(luò)梯度更新優(yōu)化器詳解筆記_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、閱讀 “ An overview of gradient descent optimization algorithms ” 筆記一、前言:最新的深度學(xué)習(xí)庫(kù)包含各種優(yōu)化梯度下降的算法,比如有caffe、keras、tensorflow、pytorch等,但是通常這些算法被當(dāng)做一個(gè)黑匣子使用,所以無法比較 這些算法的優(yōu)與劣。二、梯度下降變形形式1、批量歸一化(BGD)每次經(jīng)過完整一輪訓(xùn)練后更新一次參數(shù),這使得梯度下降過程變得比較慢,并且 需要很大內(nèi)存保存中間結(jié)果。代碼表示:'''for i in range(nb_epochs):params_grad = evaluat

2、e_gradient(loss_function, data, params)params = params - learning_rate * params_grad'''2、隨機(jī)梯度下降(SGD)隨機(jī)梯度下降是對(duì)每個(gè)訓(xùn)練樣本就更新一次網(wǎng)絡(luò)參數(shù),這樣使得網(wǎng)絡(luò)更新參數(shù)速 度很快,但是問題就是由于訓(xùn)練數(shù)據(jù)多樣,容易朝偏離網(wǎng)絡(luò)最優(yōu)點(diǎn)方向訓(xùn)練,網(wǎng)絡(luò)訓(xùn) 練不穩(wěn)定。代碼表示:'''for i in range(nb_epochs):np.random.shuffle(data)for example in data:params_grad = evalua

3、te_gradient(loss_function, example, params) params = params - learning_rate * params_grad '''3、小批量梯度下降(MBGD)小批量梯度下降是批量梯度下降與隨機(jī)梯度下降之間的一個(gè)折中,即經(jīng)過一個(gè)小 批量的訓(xùn)練數(shù)據(jù)更新一次參數(shù),可以保證網(wǎng)絡(luò)訓(xùn)練速度不太慢,也能使訓(xùn)練方向不至 于偏離太多,具有一定穩(wěn)定性。當(dāng)使用小批量梯度下降時(shí),通常也使用 SGD這個(gè)術(shù) 語(yǔ)。代碼表示: '''for i in range(nb_epochs):np.random.shuffle(

4、data)for batch in get_batches(data, batch_size=50):params_grad = evaluate_gradient(loss_function, batch, params) params = params - learning_rate * params_grad '''三、梯度下降遇到的困難小批量梯度下降不僅不能保證良好的收斂性,而且也存在一些其他的問題:(1)很難選擇一個(gè)合適的學(xué)習(xí)率,如果學(xué)習(xí)率太小,將會(huì)導(dǎo)致收斂非常緩慢;如果學(xué) 習(xí)率太大,也會(huì)阻礙收斂,導(dǎo)致?lián)p失函數(shù)值在最小值附近波動(dòng)甚至發(fā)散。(2)上述問題可以通過

5、提前定義一個(gè)學(xué)習(xí)速率表,當(dāng)達(dá)到相應(yīng)輪數(shù)或者閾值時(shí)根據(jù)表 改變學(xué)習(xí)率,但是這樣無法適應(yīng)訓(xùn)練數(shù)據(jù)本身特征。(3)并且,對(duì)于所有參數(shù)我們使用同一個(gè)學(xué)習(xí)速率,如果我們的數(shù)據(jù)是稀疏的或者我 們特征具有不同的頻率,我們可能不希望將它們更新到同樣的程度,并且我們希望對(duì) 那些出現(xiàn)頻率低的特征更新更快。(4)另外在神經(jīng)網(wǎng)絡(luò)中,普遍是具有非凸的誤差函數(shù),這使得在優(yōu)化網(wǎng)絡(luò)過程中,很 容易陷入無數(shù)的局部最優(yōu)點(diǎn),而且更大困難往往也不是陷入局部最優(yōu)點(diǎn),而是來自鞍0,所以點(diǎn)(也就是在一個(gè)維度上其梯度是遞增,另一個(gè)維度其梯度是遞減,而在鞍點(diǎn)處其梯 度為0),這些鞍點(diǎn)附近往往被相同誤差點(diǎn)所包圍,且在任意維度梯度近似為隨機(jī)梯度下

6、降很難從這些鞍點(diǎn)逃出。如下圖:隆 point四、梯度下降優(yōu)化算法接下來將列舉一些被深度學(xué)習(xí)社區(qū)廣泛用于解決上述困難的算法,這些算法有個(gè)共同之處,一般是求一階動(dòng)量(m)和二階動(dòng)量(V),然后利用一階、二階動(dòng)量本身或者他們組合來優(yōu)化梯度下降(其中一階動(dòng)量為與梯度相關(guān)函數(shù),二階動(dòng)量為與梯度平方相關(guān)的函數(shù))首先還是給出梯度下降的公式:?笳=?7 ?r?引入梯度下降優(yōu)化算法后:?+ = ? ?V?1、動(dòng)量(momentum )隨機(jī)梯度下降的方法很難通過峽谷區(qū)域(也就是在一個(gè)維度梯度變化很大,另一個(gè)維度變化較?。@個(gè)很好理解,因?yàn)樘荻认陆凳翘荻雀伦畲蟮姆捶较颍绻@個(gè)時(shí)候一個(gè)維度梯度變化很大,那么就很

7、容易在這個(gè)方向上振蕩,另一個(gè)方向就更新很慢,如下圖:m,其中上面上圖沒有加動(dòng)量,下圖加了動(dòng)量的方法,可以看到有動(dòng)量可以在變化小的維度上 加快更新,使得加快收斂。該方法是通過添加一個(gè)參數(shù)B構(gòu)建一個(gè)一階動(dòng)量 有下列表達(dá)式:?= ?2-1 + (1 - ?)?而對(duì)于其二階動(dòng)量 V=1 ,所以其參數(shù)更新公式為:=?- ?其中B一般取0.9,接下來我不會(huì)立即來講解上面兩個(gè)公式為什么是這樣,怎么理解。我們來看看其它表達(dá)式,相信大家在搜索動(dòng)量梯度下降時(shí),有時(shí)候在其它地方也會(huì)看 到下面這種表達(dá)式:?= ?/ + ???落=?% ?這里的?然般也是等于0.9,看起來這兩種表達(dá)式有很大不一樣,其實(shí)是差不多的,只不

8、過第一種我覺得看起來更容易理解,第二種我覺得就不是那么明顯的去理解,下面我將根據(jù)這兩種表達(dá)式對(duì)比并分析動(dòng)量梯度下降原理,這樣更容易理解,將表達(dá)式繼續(xù)拆開可以得到:表達(dá)式 1 : ?= ?砌?-3 +?(1 - ? 1.?-2?, 一?+ (1 - ?-1?表達(dá)式 2: ?= ?-3+ ?復(fù)-2?-2)+ ?3和1?-1)+ ?/?從上述表達(dá)式可以看出,對(duì)于公式1, ?其實(shí)就是當(dāng)前梯度的(1-B)倍,加上上一次梯度的B ( 1- B)倍,一直以B倍向前加,從公式中可以看到,所有項(xiàng)的系數(shù)加起來其實(shí)是等于1的"(1 - ? + ?1 - ? + ?(1 - ?+ ?歹=1";而對(duì)

9、于表達(dá)式2,我 們可以看到?冷于當(dāng)前?蓿梯度,加上前一次?倍梯度的?蓿,一直通過?蓿向前傳播, 這里兩個(gè)公式是一樣的,但是可以注意到的是,表達(dá)式2中其系數(shù)"1 +?+?+ ?”卻不等于1,而是直接以指數(shù)形式相加的結(jié)果,而這就是兩個(gè)表達(dá)式的區(qū)別所在,該兩種表達(dá)方式我從兩個(gè)地方看到,表達(dá)式1為我從中國(guó)大學(xué)生 mooc清華大學(xué)曹健老師的“人工智能實(shí)踐:tensorflow ”課程中看到,表達(dá)式 2我是從論文“An overviewof gradient descent optimization algorithms” 看至U, 如果你去搜 "momentum" 原論文,

10、你會(huì)發(fā)現(xiàn)表達(dá)式又不一樣,但是我們發(fā)現(xiàn)他們本質(zhì)還是一樣的,也就是添加了 一個(gè)變量3,通過3倍傳遞給前一次的梯度。至于哪個(gè)表達(dá)式更好,我覺得對(duì)于表達(dá)1,他在剛開始訓(xùn)練時(shí)我覺得就有難以解釋,因?yàn)檫@個(gè)時(shí)候參數(shù)更新按理說應(yīng)該等于此時(shí)lr倍梯度大小,但是卻被乘一個(gè)(1-B)的系數(shù),但是對(duì)于后期我覺得解釋性就更強(qiáng),因?yàn)樗麄兿禂?shù)加起來等于1,這是我們希望的結(jié)果,即此時(shí)的參數(shù)更新幅度總體還是跟現(xiàn)在lr倍梯度大小處于同一個(gè)等級(jí)。對(duì)于表達(dá)式2,剛開始訓(xùn)練就沒有表達(dá)式 1那個(gè)問題,但是后面就有點(diǎn)難解釋,? QQ?+1因?yàn)楦鶕?jù)等比數(shù)列求和公式:E?=三?廠,當(dāng)n很大時(shí),系數(shù)和約為10,也就是說現(xiàn)在他的參數(shù)更新幅度是當(dāng)前

11、梯度幅度的10倍,這就讓我有點(diǎn)難理解了,或許這樣會(huì)加快訓(xùn)練速度?但是我反而覺得會(huì)造成參數(shù)更新的不穩(wěn)定。所以總的來說我還是覺得表達(dá)式1更合適點(diǎn)再來解釋下動(dòng)量梯度更新的現(xiàn)實(shí)意義理解,首先來看看" An overview ofgradient descent optimization algorithms”這篇論文中的比喻:“從本質(zhì)上說,動(dòng)量法,就像我們從山上推下一個(gè)球,球在滾下來的過程中累積動(dòng)量,變得越來越快(直到達(dá)到終極速度,如果有空氣阻力的存在,則 丫 <1。同樣的事情也發(fā)生在參數(shù)的更新過程中:對(duì)于在梯度點(diǎn)處具有相同的方向的維度,其動(dòng)量項(xiàng)增大,對(duì)于在梯度點(diǎn)處改變方向的維度,其動(dòng)

12、量項(xiàng)減小。因此,我們可以得到更快的收斂速度,同時(shí)可以減少搖擺。,這樣解釋視乎就能夠解釋之前表達(dá)式2的含義了,把其當(dāng)做動(dòng)量的累加,比如小球在下坡山坡上,那么根據(jù)表達(dá)式2,梯度方向是一直向下的,自然參數(shù)更新幅度也就是一直累加的,也就變得越來越大;而當(dāng)遇到山溝,越過山溝此時(shí)就在另一邊山坡,這個(gè)時(shí)候梯度方向是跟之前相反的,此時(shí)由于之前梯度大小的累加,在兩個(gè)山坡間的變化就會(huì)被互相抵消掉,也就不會(huì)一直在兩個(gè)山坡振蕩,容易朝山溝向下走,也就是減少搖擺了。2、NAG (Nesterov accelerated gradient回顧動(dòng)量的方法,我們發(fā)現(xiàn)參數(shù)更新是基于兩部分組成,一部分為當(dāng)前位置的梯 度,另一部分

13、為前面累計(jì)下來的梯度值,參數(shù)更新方向就是將兩者矢量相加的方向,但是我們會(huì)發(fā)現(xiàn)一個(gè)問題,當(dāng)剛好下降到山谷附近時(shí),如果這個(gè)時(shí)候繼續(xù)以這樣的方式更新參數(shù),我們會(huì)有一個(gè)較大的幅度越過山谷,即:模型遇到山谷不會(huì)自動(dòng)減弱更 新的幅度。NAG針對(duì)上述問題對(duì)動(dòng)量方法進(jìn)行了改進(jìn),其表達(dá)式如下,其中一階動(dòng)量項(xiàng)m如下,二階動(dòng)量為1?= ?樂 + (1 -?)勺?而?)=?- ?它是利用當(dāng)前位置處先前的梯度值先做一個(gè)參數(shù)更新,然后在更新后的位置再求 梯度,將此部分梯度然后跟之前累積下來的梯度值矢量相加,簡(jiǎn)單的說就是先根據(jù)之 前累積的梯度方向模擬下一步參數(shù)更新后的值,然后將模擬后的位置處梯度替換動(dòng)量 方法中的當(dāng)前位置梯

14、度。為什么解決了之前說的那個(gè)問題呢?因?yàn)楝F(xiàn)在有一個(gè)預(yù)測(cè)后 一步位置梯度的步驟,所以當(dāng)在山谷附近時(shí),預(yù)測(cè)到會(huì)跨過山谷時(shí),該項(xiàng)梯度就會(huì)對(duì) 之前梯度有個(gè)修正,相當(dāng)于阻止了其跨度太大。下面這張圖對(duì)其有個(gè)形象描述,其中 藍(lán)色線表示動(dòng)量方法,藍(lán)色短線表示當(dāng)前位置梯度更新,藍(lán)色長(zhǎng)線表示之前累積的梯 度;第一個(gè)紅色線表示用 NAG算法預(yù)測(cè)下一步位置的梯度更新,第一條棕色線表示3、Adagrad之前提到過這個(gè)問題:對(duì)于所有特征,我們的學(xué)習(xí)率一直沒有變。怎么理解呢?假設(shè)我們用一批數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò),這個(gè)數(shù)據(jù)中只有少部分?jǐn)?shù)據(jù)含有某個(gè)特征,另一個(gè)特 征幾乎全部數(shù)據(jù)都具有,當(dāng)這些數(shù)據(jù)通過訓(xùn)練時(shí),對(duì)于不同特征我們假設(shè)對(duì)應(yīng)于不同

15、 的神經(jīng)元權(quán)重,對(duì)于都含有的特征,這些神經(jīng)元對(duì)應(yīng)參數(shù)更新很快,但是對(duì)于那些只 有少部分?jǐn)?shù)據(jù)含有的特征,對(duì)應(yīng)神經(jīng)元權(quán)重獲得更新機(jī)會(huì)就少,但是由于學(xué)習(xí)率一 樣,這樣可能導(dǎo)致神經(jīng)網(wǎng)絡(luò)訓(xùn)練的不充分。adagrad算法就是為了解決這個(gè)問題,讓學(xué)習(xí)率學(xué)習(xí)數(shù)據(jù)的特征自動(dòng)調(diào)整其大小,adagrad算法引入了二階動(dòng)量,其表達(dá)式為:?= ?=5?i?9?+ = ? ?V?其中?衲t時(shí)刻參數(shù)梯度,下面來講解為什么adagrad可以實(shí)現(xiàn)不同頻率特征對(duì)其參數(shù)學(xué)習(xí)率改變,首先,我們看到二階動(dòng)量???它是梯度平方累加和,對(duì)于訓(xùn)練數(shù)據(jù)少的特征,自然對(duì)應(yīng)的參數(shù)更新就緩慢,也就是說他們的梯度變化平方累加和就會(huì)? 一 . 一.0,

16、所以往往添加一個(gè)比較小,所以對(duì)應(yīng)于上面參數(shù)更新方程中的學(xué)習(xí)速率(:厲)就會(huì)變大,所以對(duì)于某個(gè) 特征數(shù)據(jù)集少,相應(yīng)參數(shù)更新速度就快。為了防止上述分母為 平滑項(xiàng)參數(shù)?參數(shù)更新方程也就變成:?9 ?+ = ?- ?" v?+ ?但是adagrad同樣也有問題,就是其分母隨著訓(xùn)練數(shù)增加,也會(huì)跟著增加,這樣 會(huì)導(dǎo)致學(xué)習(xí)速率越來越小,最終變的無限小,從而無法有效更新參數(shù)。4、adadeltaadadelta算法可以解決上述問題,其一階向量跟adagrad 一樣,二階參數(shù)有所 變化:?= ?= ?1 + (1 - ?)?2?+ = ? ?-=v?+ ?可以看到其二階參數(shù)表達(dá)式跟動(dòng)量的表達(dá)式類似,引

17、入了參數(shù)?可以知道二階動(dòng)量??其實(shí)之前所有梯度平方的一個(gè)加權(quán)均值,表達(dá)式如下:?= ?.3 + ?(1 - ?)久 + ?1 - ?)?1+ (1 - ?)?*<<-|所以,對(duì)于adagrad算法帶來的分母越來越大的問題就可以解決了。但是作者注意到,此算法以及之前提到的算法(SGD動(dòng)量、adagrad )的參數(shù)之間單位并不匹配,而按理說參數(shù)更新應(yīng)該具有與參數(shù)相同的單位。怎么理解這點(diǎn)呢?讓我們來對(duì)隨機(jī)梯度下降算法(SGD)來進(jìn)行參數(shù)之間單位關(guān)系討論,我們知道,SGD算法的參數(shù)更新方程式為:??+1 = ?- ?等?段設(shè)loss的單位為b ,而參數(shù)?酌單位為c,學(xué) ?習(xí)率沒有單位,設(shè)為

18、1,這個(gè)時(shí)候我們就發(fā)現(xiàn),上面的等式的單位運(yùn)算為:c=c-1*(b/c),這明顯單位不匹配,這就是作者說的問題(我覺得這個(gè)作者很強(qiáng),這點(diǎn)真的很巧妙,我估計(jì)作者是物理專業(yè)方向的,物理就經(jīng)常討論單位變換)。作者這里又提出一個(gè)很巧妙的解決方法,那就是利用與二階動(dòng)量??類似的運(yùn)算對(duì)參數(shù)變化量??故運(yùn)算求它的二階動(dòng)量,?= ?,?-1+ (1 - ?祗 這里將上述運(yùn)算用一個(gè)新符號(hào)RMSX表示,即對(duì)梯度的二階動(dòng)量變化為??藥殂變量的變化量的二階動(dòng)量為?????然后將其替換學(xué)習(xí)率,最后梯度更新公式為:?= ?,?= ?%+ (1 - ?病?,?= ?%?- + (1 - ?)?或?= V?%,?+ ?”“?_

19、1? = ?h- ?c,?書? ?我們可以驗(yàn)證一下,現(xiàn)在方程中參數(shù)單位是否會(huì)匹配,其中參數(shù)單位還是為loss單位為b,方程參數(shù)的單位運(yùn)算有:c=c-c/(b/c)b/c;顯而易見單位是匹配的。通過adadelta算法,我們甚至可以不需要設(shè)置一個(gè)默認(rèn)的學(xué)習(xí)率,因?yàn)樵谛碌囊?guī)則中 已經(jīng)移除了這項(xiàng)。5、RMSpropRMSprop算法由hinton教授提出,它與adadelta算法公式其實(shí)是一樣的,他們是在相同時(shí)間被獨(dú)立的提出,公式自然也為:?= ?= ?1 + (1 - ?)?2?+ = ?/ ?+?v?+ ?hinton教授建議將?設(shè)置為0.9,對(duì)于學(xué)習(xí)率,一個(gè)好的固定值為 0.001 。6、Ad

20、amAdam(Adaptive Moment Estimation)自適應(yīng)矩估計(jì),是另一種自適應(yīng)學(xué)習(xí)率的算法,它是一種將動(dòng)量和 Adadelta或RMSprop結(jié)合起來的算法,也就引入了兩個(gè)參數(shù)B1和§2,其一階和二階動(dòng)量公式為:?= ?%-1 + (1 - ?) ?= ?, + (1 - ?)?i作者發(fā)現(xiàn)一階和二階動(dòng)量初始訓(xùn)練時(shí)很小,接近為0,因?yàn)锽值很大,于是作者重新計(jì)算一個(gè)偏差來校正:?=?=其中t代表其t次方,所以剛開始訓(xùn)練時(shí),通過除于(1-3)就可以很好修正學(xué)習(xí)速1 - ?1 - ?率,當(dāng)訓(xùn)練多輪時(shí),分母部分也接近 1,又回到了原始方程,所以最后總的梯度更新方程為:?&qu

21、ot; ?咚-1 + (1 - ?) ?= ?, +(1 - ?)?!e?聲-?丁 1 - ?+ = ? ?K?其中??默認(rèn)值為0.9, ?默認(rèn)值為0.999, ? 10人-8, Adam 集合動(dòng)量和 Adadelta 兩 者的優(yōu)點(diǎn),從經(jīng)驗(yàn)中表明 Adam在實(shí)際中表現(xiàn)很好,同時(shí)與其他自適應(yīng)學(xué)習(xí)算法相比,更有優(yōu)勢(shì)。7、AdaMaxadam更新規(guī)則中的系數(shù)與過去梯度(??-1)和現(xiàn)在梯度(??)白L L2范數(shù)成反比,?= ?粉i+ (1 - ?)?就作者提出是否可以考慮其他的Lp范數(shù),也就是擴(kuò)展到p階動(dòng)量,有方程式:?= ?_ + ( 1 - ?51?觸??通常大的p值會(huì)造成數(shù)字不穩(wěn)定,所以一般常

22、用的都是L1和L2范數(shù),但是L8通常也可以有比較穩(wěn)定的結(jié)果,所以作者引入了無窮階的動(dòng)量,對(duì)應(yīng)于梯度更新的分母項(xiàng)用字母u代替,也就是:解?+ = ? ?%將u變換下可能更好理解:2x,??+ (1 - ?)?|?樂仁+(1 - ?)|?<°=vn?(?3l?%-il)00- /l?-/) |?£- (?引?為?= max (? ? ?_1 ,|?初可以看到u不會(huì)為0,所以也就不需要如 adam 一樣,分母還需要添加一個(gè) ?通常默認(rèn)參數(shù)大小為:??= 0.002, ? = 0.9, ?=0.999。£8、NadamAdam將RMSprop和動(dòng)量結(jié)合起來,我們也可

23、以看到NAG其實(shí)比動(dòng)量表現(xiàn)更好。),NesterovNadam (Nesterov-accelerated Adaptive Moment Estimation加速的自適應(yīng)矩估計(jì),將 adam和NAG結(jié)合起來,為了將 NAG添加到Adam ,我們需要對(duì)動(dòng)量部分進(jìn)行一些改變。作者將NAG梯度更新公式變?yōu)??=?(?= ? -1 + (1 - ?)?=? ?(?+ (1 - ?)? = ? ?(?2?-1 + ?(1 - ?)?+ (1 - ?)?也就是現(xiàn)在不再像 NAG提前預(yù)測(cè)后面位置,而是直接在當(dāng)前位置對(duì)當(dāng)前梯度方向做兩次更新,同樣運(yùn)用到 Adam中需要對(duì)m做一個(gè)修正:_?= ?1 - ?最后

24、得到Nadam梯度更新方程為:?=?(?%。?=?1 - ?1(1 -?)?+=?務(wù)?"?w FT)9、AMSGrad隨著自適應(yīng)學(xué)習(xí)速率的方法成為訓(xùn)練神經(jīng)網(wǎng)絡(luò)的規(guī)范,研究者就發(fā)現(xiàn),在一些情 況下比如目標(biāo)識(shí)別、機(jī)器翻譯領(lǐng)域,自適應(yīng)學(xué)習(xí)速率的方法無法收斂到最佳情況,并 且弱于基于動(dòng)量的隨機(jī)梯度下降。其梯度更新公式為:?" ?%_ + ( 1 - ?) ?衿?-1 + (1 - ?)?另?= max?,?m?+ = ?分?F?10、目前其它的優(yōu)化器在AMSGrad后,有很多其它的優(yōu)化器出現(xiàn),包括 AdamW,修復(fù)adam的權(quán)重下降問題;QHAdam ,用基于動(dòng)量的隨機(jī)梯度下降平均

25、標(biāo)準(zhǔn)的隨機(jī)梯度下降;AggMo ,結(jié)合多個(gè)動(dòng)量項(xiàng);等其他優(yōu)化器。五、可視化優(yōu)化器SGDMomentumNAG1.00.50.0-0.5-1.0Adagrad AdadeltaRmsprop-1.5-C.5六、優(yōu)化SGD的其他策略1、Shuffling and Curriculum Learning2、Batch normalization3、Early stopping4、Gradient noise公式匯總:?+產(chǎn)??? ?Fr?+1= ?, ?V?梯度更新公式:引入梯度下降優(yōu)化算法后:基于動(dòng)量的梯度下降動(dòng)量表達(dá)式:?= ?-1+(1- ?干基于動(dòng)量的梯度下降:?+1= ?7 ?基于動(dòng)量的梯度下降其它類型公式:?= ?1 + ?+1= ? ?基于動(dòng)量梯度拆開表達(dá)式1 :?= ???-3+ ?(1 -?+ ?1 - ?-2?+ (1 -?-1?,?(1 - ?基于動(dòng)量梯度拆開表達(dá)式

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論