吳恩達(dá)深度學(xué)習(xí)(五)

優(yōu)化算法

第一課:小批量梯度下降

本周學(xué)習(xí)加快神經(jīng)網(wǎng)絡(luò)訓(xùn)練速度的優(yōu)化算法。

我們之前學(xué)習(xí)過矢量化可以讓你有效的計算所有m個樣例畴蹭,而不需要用一個具體的for循環(huán)就能處理整個訓(xùn)練集坦仍,這就是為什么我們要將所有的訓(xùn)練樣例集中到這些巨型矩陣X中。
X為nxm維矩陣撮胧,Y為1m維矩陣桨踪。
矢量化運算能夠相對更快地處理M個樣例,但是如果M很大芹啥,速度也會相對變慢锻离。

對你的整個訓(xùn)練集進(jìn)行梯度下降,你必須先處理你的訓(xùn)練集墓怀,從而加快你的訓(xùn)練速度汽纠。即讓梯度下降在處理完整個巨型的5百萬訓(xùn)練集之前,就可使有所成效傀履。

首先虱朵,將你的訓(xùn)練集拆分成更小的微小訓(xùn)練集,即小批量訓(xùn)練集钓账,即取x1到x1000作為第一個微訓(xùn)練集碴犬,稱為X{1}。
Y也作相應(yīng)的拆分處理梆暮。第T個小批量樣例服协,包含XT和YT,即相應(yīng)1000個訓(xùn)練樣例的輸入輸出對啦粹。

在這里我們引入{t}代表不同的小批量樣例偿荷。

該算法每次只處理一個小批量樣例X{t}、Y{t}唠椭,而不是一次處理完整個訓(xùn)練集X Y跳纳。

小批量梯度下降是怎么實現(xiàn)的呢?

用矢量化的方法同時處理1000個樣例贪嫂。

首先對輸入值運用前向傳播...我們要做的和之前的梯度下降法相同寺庄,只不過之前是訓(xùn)練X Y,現(xiàn)在是訓(xùn)練X{t} Y{t}。

接下來運用反向傳播铣揉,來計算J{t}的梯度...饶深。

這是小批量梯度下降算法處理訓(xùn)練集一輪的過程餐曹。即訓(xùn)練集的一次遍歷逛拱。 只不過在批量下降梯度法中,對訓(xùn)練集的一輪處理只能得到一步梯度逼近台猴。而小批量梯度下降法中對訓(xùn)練集的一輪處理朽合,可以得到5000步梯度逼近。當(dāng)然你會想對訓(xùn)練集進(jìn)行多輪遍歷饱狂,你可以用另一個for循環(huán)或者while循環(huán)實現(xiàn)曹步,所以你不斷的訓(xùn)練訓(xùn)練集,并希望它收斂在某個近似收斂值休讳。

小批量梯度下降法比梯度下降法要快得多讲婚,這幾乎是每一個使用深度學(xué)習(xí)的人在處理一個大型數(shù)據(jù)集時會采用的算法。

那么小批量梯度算法在做什么俊柔?它為什么會奏效筹麸?

第二課:了解小批量梯度下降

在批量梯度下降法中,每一次迭代你將遍歷整個訓(xùn)練集雏婶,并希望代價函數(shù)的值不端縮小物赶,如果我們用J表示代價函數(shù),那么它應(yīng)該隨著迭代單調(diào)遞減留晚,如果某一次迭代它的值增加了酵紫,表示哪里肯定出了問題,也許是你的學(xué)習(xí)率過大错维。

而在小批量梯度下降中奖地,畫圖會發(fā)現(xiàn)并不是每一次迭代代價函數(shù)值都會縮小,因為每一次迭代你都使用不同的訓(xùn)練集赋焕,所以它的趨勢是下降的参歹,但是可能有許多噪聲,如果使用小批量梯度下降宏邮,經(jīng)過幾輪訓(xùn)練過泽示,趨勢應(yīng)該如下圖。噪聲的產(chǎn)生可能和計算代價函數(shù)使用的那個批次的X{t} Y{t}有關(guān)蜜氨,讓你的代價函數(shù)值或大或小械筛。也可能這個批次中含有一些標(biāo)簽錯誤的數(shù)據(jù),導(dǎo)致代價函數(shù)有一點高等飒炎。

你必須定義的一個參數(shù)是mini-batch的大小埋哟,如果m是訓(xùn)練集的大小,一個極端情況是:mini-batch的大小等于m,那么這就是批量梯度下降赤赊。另一極端情況是把mini-batch的大小設(shè)置為1闯狱,就會得到一種叫隨機(jī)梯度下降的算法,這里的每一條數(shù)據(jù)就是一個mini-batch抛计。那么這兩種方法在優(yōu)化代價函數(shù)時圖示如下:

批量梯度下降法的噪聲比較小哄孤,而隨機(jī)梯度下降法的噪聲會比較大。而且最后隨機(jī)梯度下降法不會收斂到一個點吹截,它一般會在最低點附近擺動瘦陈,但是不會到達(dá)并停在那里。實際上的mini-batch的大小在這兩個極端情況之間波俄。

原因是:
如果你使用批量梯度下降晨逝,那么你每一次迭代都會使用全部訓(xùn)練集,如果你的訓(xùn)練集非常大懦铺,那么在每一次迭代上都會花費很長的時間捉貌,相反如果你使用隨機(jī)梯度下降法,使用一個樣本來更新梯度冬念,這沒有問題趁窃,也可以選擇較小的學(xué)習(xí)率來減少噪聲,但是隨機(jī)梯度下降法的一個比較大的缺點是:你失去了一個可以利用向量來加快算法速度的機(jī)會刘急。因為你每次只處理一個樣本棚菊,這是非常沒有效率的。

所以更好的做法是選擇一個中間值叔汁。這么做的好處是:
1.你可以使用向量的方式運算
2.你不用等待整個訓(xùn)練集都遍歷一遍才運行梯度下降
雖然它不能保證總是達(dá)到最小值统求,但是相比隨機(jī)梯度下降,它的噪聲會比較小据块,而且它不會總是在最小值附近擺動码邻。如果你有什么問題,你可以減小你的學(xué)習(xí)率另假。

怎么選擇像屋?

原則是:
1.如果你的訓(xùn)練集比較小,就是用批量梯度下降法(m<= 2000)
2.如果你有一個比較大的訓(xùn)練集边篮,那么mini-batch的大小一般選擇在64-512己莺,這是因為計算機(jī)內(nèi)存的布局和訪問方式,因此把miini-batch的大小設(shè)置為2的冪次方代碼會運行更快戈轿。
3.最后一個提醒是確保你的mini-batch凌受,即你所有的X{t} Y{t}是可以放進(jìn)你的CPU/GPU內(nèi)存。當(dāng)然這和你的配置以及一個訓(xùn)練樣本的大小都有關(guān)系思杯。即如果你把你的mini-batch的大小設(shè)置超過了GPU/CPU的內(nèi)存容量胜蛉,不管你怎么做,你都會發(fā)現(xiàn)結(jié)果比較糟糕。

mini-batch的大小也是一個超參數(shù)誊册,可能需要你快速的搜索去確定使用哪一個值可以讓代價函數(shù)J下降的更快领突。所以我的做法是:

嘗試幾個不同的值,然后看是否能找到那個能讓你的梯度下降算法盡可能效率高的值案怯。

有沒有更高效的算法呢君旦?

第三課:指數(shù)加權(quán)平均值

有幾個優(yōu)化算法運算速度是比梯度下降法更快的:
為了用到這些算法,你需要用到一種叫做指數(shù)加權(quán)平均的操作殴泰,在統(tǒng)計學(xué)中也叫做指數(shù)加權(quán)滑動平均于宙。

你想要計算數(shù)據(jù)的趨勢即溫度的局部平均或滑動平均:
首先用v0 = 0,之后每一天我們先用0.9乘以之前的值悍汛,加上0.1乘以當(dāng)天的溫度,之后都使用相同的加權(quán)平均至会。如果你這么做离咐,你就會得到一個滑動平均圖,稱為每日溫度的指數(shù)加權(quán)平均奉件。

當(dāng)你計算這個通式的時候宵蛀,你會可以認(rèn)為Vt近似于1/(1-β)天溫度的平均。即當(dāng)β = 0.9時县貌,你可以認(rèn)為當(dāng)天溫度是前十天溫度的平均术陶。

有幾個點需要注意:

當(dāng)β的值很大的時候,你得到的曲線會更平滑煤痕,因為你對更多天數(shù)的溫度做了平均處理梧宫,因此曲線就波動更小,更加平滑摆碉,但另一方面塘匣,這個曲線會右移,因為你在一個更大的窗口內(nèi)計算平均溫度巷帝。在更大的窗口內(nèi)進(jìn)行平均溫度的計算忌卤,這個指數(shù)加權(quán)平均的公式在溫度變化時,適應(yīng)的更加緩慢楞泼,這就造成了一些延遲驰徊。

當(dāng)β值很小的時候,例如0.5堕阔,即在比較小的窗口內(nèi)計算平均棍厂,得到的結(jié)果中會有更多的噪聲,更容易收到異常值的影響印蔬,但它可以更快的適應(yīng)溫度變化勋桶。

通過調(diào)整這個參數(shù),也就是我們之后會在學(xué)習(xí)算法中看到的一個超參數(shù),就可以得到略微不同的收斂例驹,通常取中間的這個數(shù)值效果會最好捐韩,即紅線。

第四課:了解指數(shù)加權(quán)平均值

指數(shù)加權(quán)平均將是幾個訓(xùn)練神經(jīng)網(wǎng)絡(luò)的優(yōu)化算法中關(guān)鍵組成部分鹃锈,那么這一算法的具體作用是什么荤胁?

它是如何計算每日溫度的?
即將每日氣溫值乘以指數(shù)衰減函數(shù)然后求和屎债,事實證明仅政,使用鏈?zhǔn)椒▌t,所有的系數(shù)之和等于1或者接近1盆驹,這就會涉及到下一講中的偏差修正圆丹。

當(dāng)β = 0.9時,與1/e進(jìn)行比較作為足夠小的判斷依據(jù),大約需要10天躯喇,即指數(shù)加權(quán)值只關(guān)注最近十天的氣溫值辫封,因為十天后,氣溫值將降至不到目前氣溫值的三分之一廉丽。
當(dāng)β = 0.98時倦微,那么計算0.98的幾次方可以使這個值足夠小,計算出的數(shù)值為50正压,可以把這天的氣溫作為50天的平均氣溫欣福。

我們就是通過這種方式獲得1/(1-β)或相應(yīng)天數(shù)的平均值。它能告訴你大概多少天的氣溫值可以作為氣溫均值焦履,但這只是一種經(jīng)驗之談并非正式的數(shù)學(xué)表達(dá)式拓劝。

如何在實際情況中使用它?

這個指數(shù)加權(quán)平均公式的優(yōu)點之一:
不需要太多的存儲空間裁良,只需在計算機(jī)內(nèi)存中保留一行數(shù)字凿将,基于新數(shù)值,你用公式不端重寫運算即可价脾,因為高效牧抵,所以它只占用一行代碼,一個單一初始值的存儲和內(nèi)存空間侨把,來計算指數(shù)加權(quán)平均值犀变,雖然這并不是計算均值的最好方法,或者是最準(zhǔn)確的方法秋柄。如果你只需要一個移動窗口获枝,例如,直接計算出近十天或者五十天的氣溫總和骇笔,除以10或者50可以給你一個更好的估計值省店,但是保存所有的氣溫值需要更多的內(nèi)存嚣崭。

所以當(dāng)你需要計算很多變量的平均值,不論是計算還是存儲效率懦傍,這個滑動平均加權(quán)算法都十分高效雹舀,這也是為什么它在機(jī)器學(xué)習(xí)中被廣泛應(yīng)用的原因。

什么是偏差修正粗俱?

第五課:指數(shù)加權(quán)平均值的偏差修正

它可以幫助你更精確的計算平均值说榆。

起始點很低或者說整體很低,因為設(shè)置v0 = 0寸认。

因此在運算初期:用vt/1- β代替vt签财。當(dāng)t很小時,消除了偏差偏塞,當(dāng)t值變大唱蒸,βt值將趨向于0,偏差修正值對運算基本沒有影響烛愧。
即在學(xué)習(xí)初始階段油宜,當(dāng)你還在熟悉估計值,偏差修正值可以幫你更好的估計氣溫值怜姿,當(dāng)學(xué)習(xí)后續(xù)階段,偏差估計對公式計算的影響會越來越小疼燥。

在機(jī)器學(xué)習(xí)中沧卢,多數(shù)的指數(shù)加權(quán)平均運算并不會使用偏差修正,因為大多數(shù)人更愿意在初始階段用一個捎帶偏差的值進(jìn)行計算醉者,不過如果在初始階段就開始考慮偏差但狭,即在預(yù)熱階段,偏差修正就可以幫助你盡早做出更好的估計撬即。

接下來讓我們建立一些優(yōu)化算法立磁!

第六課:具有動量的梯度下降

動量梯度下降法,幾乎比標(biāo)準(zhǔn)的梯度下降法運算更快剥槐。算法的主要思想是計算梯度的指數(shù)加權(quán)平均唱歧,然后使用這個梯度來更新權(quán)重。

上下震蕩會減慢梯度下降的速度粒竖,也會讓你無法使用較大的學(xué)習(xí)率(會發(fā)生超調(diào))颅崩。

即在縱軸上,你希望學(xué)習(xí)慢一點蕊苗,因為不想有震蕩存在沿后,但是在橫軸上沒,你希望加快學(xué)習(xí)速度朽砰。

實現(xiàn)動量梯度下降的步驟:
在第t次迭代中尖滚,需要計算導(dǎo)數(shù)dw db喉刘。然后需要計算Vdw,類似于之前的Vθ漆弄。即計算W導(dǎo)數(shù)的滑動平均值睦裳。
然后計算Vdb。

然后使用Vdw置逻、Vdb更新權(quán)重推沸。

這樣做可以讓梯度下降的每一步變得平滑,在數(shù)次迭代之后券坞,你會發(fā)現(xiàn)動量梯度下降算法的每一步在垂直方向上的震蕩非常小鬓催,且在水平方向上運動更快,這會讓你的算法選擇更加直接的路徑恨锚。

物理理解:
如果你想最小化一個碗狀函數(shù)宇驾,你可以把導(dǎo)數(shù)項dw和db看做是一個球滾下坡時的加速度,把Vdw和Vdb看作是球的速度猴伶,導(dǎo)數(shù)項給了球一個加速度课舍,然后球就會往下滾,所以它滾得越來越快他挎,而β是一個小于1的數(shù)筝尾,所以可以把它看成是摩擦力,讓球不至于無限加速下去办桨,與梯度下降中每一步都獨立于之前的步驟所不同的是:現(xiàn)在你的球可以向下滾動并獲得動量筹淫。

具體如何實現(xiàn)它:

兩個超參數(shù)正歼,一個是學(xué)習(xí)率α跛十,一個是β句旱,參數(shù)β控制指數(shù)加權(quán)平均戏溺,常用區(qū)取值是0.9湃密,你也可以嘗試選擇更合適的值粉私,其次侧甫,是否需要進(jìn)行偏差修正也是你需要考慮的事委煤,人們通常不進(jìn)行偏差修正是因為在迭代了10次以后绷蹲,你的滑動平均值已經(jīng)就緒棒卷,不再是一個偏差估計,所以實際上瘸右,在實現(xiàn)梯度下降或者是動量梯度下降時娇跟,我沒有見別人使用偏差修正。初始化Vdw/Vdb = 0太颤,但是需要和W和b有相同的維度苞俘。

最后,當(dāng)你在閱讀關(guān)于動量梯度下降相關(guān)的文獻(xiàn)時龄章,(1-β)這一項也常常被忽略吃谣,這樣的情況下乞封,α也要根據(jù)(1-β)進(jìn)行調(diào)整,即重新調(diào)整學(xué)習(xí)率(所以我個人認(rèn)為不要省略(1-β)這一項)岗憋。

加速你學(xué)習(xí)算法的其他方法肃晚?

第七課:RMSprop

均方根傳遞算法也可以加速梯度下降。

減慢b方向上的學(xué)習(xí)仔戈,同時加速至少不減慢w水平方向的學(xué)習(xí)关串。使用這種方法時可以發(fā)現(xiàn):垂直方向上的導(dǎo)數(shù)要比水平方向上的更大,即在b方向上斜率很大监徘,即db很大晋修,而dw相對較小。

結(jié)果是在垂直方向的更新量會除以一個比較大的數(shù)凰盔,這有助于減弱震蕩墓卦,而水平方向上的更新量會除以一個較小的數(shù)。使用RMSprop的效果就是對你的更新進(jìn)行優(yōu)化户敬。另一個收效是你可以使用更大的學(xué)習(xí)率α落剪,學(xué)習(xí)地更快,而不用擔(dān)心在垂直方向上的發(fā)散尿庐。

實踐中忠怖,dw和db可能是一個非常高維度的參數(shù)向量,直觀理解是在出現(xiàn)震蕩的維度里抄瑟,你會計算得到一個更大的和值脑又,即導(dǎo)數(shù)平方的加權(quán)平均,最后抑制了這些出現(xiàn)震蕩的方向锐借。

均方根傳遞:因為你對導(dǎo)數(shù)求了平方,而且最后取了平方根往衷。

為了避免在動量和RMSprop中使用相同名稱的超參數(shù)钞翔,這里我們使用的是β2,同時為了確保你的算法不會除以0席舍,如果sdw的平方根非常接近0布轿,分母就會變得很大,為了確保數(shù)值的穩(wěn)定性来颤,當(dāng)你實現(xiàn)這個算法時汰扭,你要給分母加上一個非常非常小的ε,ε的值取多少并不重要福铅,10-8次方是一個合理的默認(rèn)值萝毛,但這智能輕微提高數(shù)值穩(wěn)定性無論由于數(shù)值上的舍入或者其他的原因,你都不會除以一個過小的數(shù)0滑黔。

RMSprop和動量一樣都可以降低梯度下降和小批量梯度下降中的震蕩笆包,并且讓你可以選擇更大的學(xué)習(xí)率α從而提高你的算法運算速度环揽。

把RMSprop和動量結(jié)合起來?

第八課:Adam優(yōu)化算法

關(guān)于RMSprop和Adam優(yōu)化算法屬于極少數(shù)真正有效的算法庵佣,適用于很多不同的深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)歉胶。

Adam優(yōu)化算法的本質(zhì)是把RMSprop和動量算法結(jié)合起來。

首先你要進(jìn)行初始化巴粪,接著在第t次迭代過程中通今,你需要用到一些微積分的知識用當(dāng)前的mini-batch來計算dw和db。然后計算動量指數(shù)加權(quán)移動平均值肛根。然后用同樣地方式更新RMSprop中的參數(shù)辫塌。

一般在構(gòu)建Adam算法的過程中,需要進(jìn)行偏差修正晶通,對vdw和vdb以及sdw和sdb進(jìn)行同樣的修正璃氢。

這里就是將Vdw除以偏差修正sdw的平方根加上ε!然后以此類推更新參數(shù)b狮辽!

這就是Adam算法一也,結(jié)合了動量和RMSprop梯度下降的優(yōu)勢,被廣泛使用喉脖,且已經(jīng)被證明在很多不同種類的神經(jīng)網(wǎng)絡(luò)架構(gòu)中都是十分有效的椰苟。

這個算法中有幾個超參數(shù):

α依然很重要且需要調(diào)整,可以嘗試不同的值來比較結(jié)果树叽。業(yè)內(nèi)通常對β1舆蝴,β2和ε直接使用默認(rèn)值,然后嘗試使用不同的學(xué)習(xí)率α來看看哪個效果最好题诵。

Adam代表自適應(yīng)矩陣估計洁仗,β1代表dw的平均值,被稱為第一階的矩性锭;β1被用于計算平方數(shù)的指數(shù)平均加權(quán)赠潦,也被稱為第二矩陣。

怎么調(diào)整超參數(shù)草冈?到底如何進(jìn)行神經(jīng)網(wǎng)絡(luò)優(yōu)化她奥?學(xué)習(xí)率的衰減?

第九課:學(xué)習(xí)率衰減

有一種方法或許能使學(xué)習(xí)算法運行更快怎棱,那就是漸漸減小學(xué)習(xí)率哩俭,我們稱之為學(xué)習(xí)率衰減。

當(dāng)你使用小批次梯度下降拳恋,最終它會逐步向最小值靠近凡资,但是不會完全收斂,因為你的學(xué)習(xí)率取了固定值诅岩,且不同批次也可能產(chǎn)生噪聲讳苦。但如果你慢慢降低你的學(xué)習(xí)率带膜,隨著學(xué)習(xí)率的降低,步長會變得越來越小鸳谜,所以最終將圍繞著離極小值點更近的區(qū)域擺動膝藕,即使訓(xùn)練下去也不會漂游遠(yuǎn)離。

逐步降低學(xué)習(xí)率背后的思考是:
在學(xué)習(xí)的初始步驟中咐扭,你可以采取大得多的步長芭挽,但隨著學(xué)習(xí)收斂于一點時,較低的學(xué)習(xí)率可以允許你采取更小的步長蝗肪,那怎么實現(xiàn)學(xué)習(xí)率的衰減呢袜爪?

定義α等于1除以1加上某個參數(shù),我把它成為衰減率薛闪,再把這個和乘以跌代數(shù)作為分母辛馆,然后用這個商再乘以初始學(xué)習(xí)率α0。

這里的衰減率是另一個超參數(shù)豁延,也可能需要你再調(diào)整昙篙。

隨著你的迭代函數(shù),你的學(xué)習(xí)率會根據(jù)公式逐漸遞減诱咏,所以如果你想使用學(xué)習(xí)率衰減苔可,你可以嘗試不同的超參數(shù)組合,找到一個效果最好的數(shù)值袋狞。

除了學(xué)習(xí)率衰減的公式之外焚辅,人們還會使用一些其他方式:
指數(shù)級速度讓學(xué)習(xí)率衰減;以離散的階梯衰減...

通過公式來讓學(xué)習(xí)率α隨著時間推移而發(fā)生變化苟鸯,有時候人們還會使用手動衰減:
如果你在一段時間同蜻,例如幾個小時或者幾天來訓(xùn)練一組數(shù)據(jù)時,可以先對模型進(jìn)行多天的觀察早处,然后看起來學(xué)習(xí)率像是減慢了埃仪,我就可以降低α,這種手動控制的方式也是可行的陕赃。這只有在訓(xùn)練少數(shù)樣本時是可行的。

現(xiàn)在你有更多的選擇如何控制阿爾法學(xué)習(xí)率颁股,這么多超參數(shù)么库,如何在不同的選項中做出選擇呢?

對于我來說甘有,學(xué)習(xí)率衰減通常在我嘗試的事情中比較靠后的位置诉儒,設(shè)置一個固定的α,還要使它優(yōu)化的良好亏掀,對結(jié)果是有很大影響的忱反。它確實對于優(yōu)化算法是有幫助的泛释,但是我將它的嘗試放在比較靠后的位置。

如何更系統(tǒng)的安排所有的超參數(shù)方式温算?以及如何有效的在其中搜索怜校?

神經(jīng)網(wǎng)絡(luò)中的局部最優(yōu)解和鞍點?這樣就能夠?qū)Σ煌膬?yōu)化算法所適用的問題有更好的感覺注竿。

第十課:局部最優(yōu)的問題

陷入局部最優(yōu)問題茄茁。

如何看待局部最優(yōu)以及深度學(xué)習(xí)中的優(yōu)化問題?
如果你在訓(xùn)練一個神經(jīng)網(wǎng)絡(luò)巩割,代價函數(shù)中大部分梯度為零的點實際上并不是存在很多局部最優(yōu)裙顽,而是鞍點。
從經(jīng)驗上來說宣谈,一個高維空間的函數(shù)愈犹,如果梯度為零,則在每個方向上闻丑,它可能是凸函數(shù)漩怎,也可能是凹函數(shù),假設(shè)在一個2萬維的空間內(nèi)梆掸,如果一個點要成為局部最優(yōu)扬卷,則需要2萬個方向都向上,這種事發(fā)生的概率極低酸钦。

所以實際情況是并非所有的函數(shù)圖像都向上彎曲怪得,這就是為什么在高維空間中,你更可能碰到像右圖這樣的鞍點卑硫,而不是局部最優(yōu)徒恋。

即在我們在低維空間內(nèi)的大部分直觀感受事實上并不適用于我們的深度學(xué)習(xí)算法所應(yīng)用的那些高維空間。

那么問題在哪呢欢伏?
真正會降低學(xué)習(xí)速度的實際上是停滯區(qū)入挣。停滯區(qū)指的是:導(dǎo)數(shù)長時間接近于0的一段區(qū)域,因為梯度接近于0硝拧,所以在停滯區(qū)中你會緩慢的在停滯去區(qū)內(nèi)前進(jìn)径筏,最終才能逃離這片區(qū)域。

總結(jié):

首先:實際上你不太可能陷入糟糕的局部最優(yōu)點障陶,只要你訓(xùn)練的是一個較大的神經(jīng)網(wǎng)絡(luò)滋恬,有很多參數(shù),代價函數(shù)J在一個相對高維的空間內(nèi)上抱究。
其次:停滯區(qū)是個問題恢氯,它會讓學(xué)習(xí)過程變得相當(dāng)慢,這也是動量算法或RMSprop算法或Adam算法能改善你的學(xué)習(xí)算法的地方。

比如Adam算法可以加快停滯區(qū)向下移動離開停滯區(qū)的速度勋拟。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末勋磕,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子敢靡,更是在濱河造成了極大的恐慌挂滓,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件醋安,死亡現(xiàn)場離奇詭異杂彭,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)吓揪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進(jìn)店門亲怠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人柠辞,你說我怎么就攤上這事团秽。” “怎么了叭首?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵习勤,是天一觀的道長。 經(jīng)常有香客問我焙格,道長图毕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任眷唉,我火速辦了婚禮予颤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘冬阳。我一直安慰自己蛤虐,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布肝陪。 她就那樣靜靜地躺著驳庭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪氯窍。 梳的紋絲不亂的頭發(fā)上饲常,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天,我揣著相機(jī)與錄音狼讨,去河邊找鬼不皆。 笑死,一個胖子當(dāng)著我的面吹牛熊楼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼鲫骗,長吁一口氣:“原來是場噩夢啊……” “哼犬耻!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起执泰,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤枕磁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后术吝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體计济,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年排苍,在試婚紗的時候發(fā)現(xiàn)自己被綠了沦寂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡淘衙,死狀恐怖传藏,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情彤守,我是刑警寧澤毯侦,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站具垫,受9級特大地震影響侈离,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜筝蚕,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一卦碾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧饰及,春花似錦蔗坯、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至屏箍,卻和暖如春绘梦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背赴魁。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工卸奉, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人颖御。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓榄棵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子疹鳄,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,500評論 2 359

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