階段2—改善神經(jīng)網(wǎng)絡(luò)

2.1? 深度學(xué)習(xí)的實(shí)踐層面

(1)首先了解訓(xùn)練集狐榔、驗(yàn)證集褒搔、測試集的概念:

訓(xùn)練集:訓(xùn)練的樣本娜汁;

開發(fā)集:訓(xùn)練之后的參數(shù)放到這些數(shù)據(jù)中做驗(yàn)證腋逆;

測試集:最終的測試的樣本咐蚯。

一般的劃分比例:6:2:2把兔,當(dāng)數(shù)據(jù)量較大(上百萬丐怯,上千萬)户辞,驗(yàn)證集和測試集可縮減到0.5%-3%僵闯。另外卧抗,驗(yàn)證集和測試集的數(shù)據(jù)要來源相同,同分布鳖粟,也就是同一類的數(shù)據(jù)社裆。

(2)偏差和方差

偏差:算法在訓(xùn)練集上面的錯(cuò)誤率,偏差大表現(xiàn)為欠擬合向图。

方差:算法在開發(fā)集和訓(xùn)練集上的錯(cuò)誤率差值泳秀,方差大表現(xiàn)為過擬合

可用以下三幅圖來形象地解釋:圖1的曲線擬合程度較差张漂,即高偏差晶默,但波動(dòng)較小,接近線性航攒,故低方差磺陡。圖2的曲線擬合程度高,但波動(dòng)大漠畜,所以是過擬合币他。圖3介于兩者之間,擬合較好憔狞,且波動(dòng)小蝴悉,是優(yōu)秀的模型!

圖1.欠擬合曲線
圖2.過擬合曲線
圖3.擬合較好的模型

減小方差的方法主要有:

1.增加訓(xùn)練數(shù)據(jù)量(以圖像識別為例瘾敢,可以通過圖片反轉(zhuǎn)拍冠,放大增加數(shù)據(jù)量);

2.正則化簇抵;

3.提前終止等庆杜。

本文主要介紹正則化的原理和實(shí)現(xiàn)方法。

(3)正則化——避免過擬合

(3.1)L2正則

對損失函數(shù)加上一項(xiàng)碟摆,如下式:

L2范數(shù)正則

由上圖可知晃财,權(quán)重W的L2范數(shù)的平方等于矩陣中所有元素的平方和,最后一項(xiàng)可理解為:對所有層的權(quán)重L2范數(shù)平方求和典蜕,再乘一個(gè)系數(shù)λ/2m断盛。

反向傳播還要對該項(xiàng)求導(dǎo)罗洗,即在原來的formbackprop基礎(chǔ)上多加一項(xiàng)范數(shù)求導(dǎo),如下式:

dW[l]=(formbackprop)+λ/m*W[l]

代入 W[l]=W[l]?α*dW[l]钢猛,可得到下式:

(1?α*λ/m)<1伙菜,所以每一次都會(huì)讓W(xué)變小,因此L2正則化也稱為“權(quán)重衰減”厢洞。

直觀理解:在代價(jià)函數(shù)加入正則項(xiàng)后仇让,如果λ非常大,為了滿足代價(jià)函數(shù)最小化躺翻,那么w[l]這一項(xiàng)必須非常接近于0丧叽,所以就等價(jià)于很多神經(jīng)元都沒有作用了,從原本的非線性結(jié)構(gòu)變成了近似的線性結(jié)構(gòu)公你,自然就不會(huì)過擬合了踊淳。如果是tanh函數(shù),當(dāng)w非常接近于0時(shí)陕靠,z也接近于0迂尝,該段接近于線性,那么整個(gè)神經(jīng)網(wǎng)絡(luò)也非常接近于線性的網(wǎng)絡(luò)剪芥,那么就不會(huì)過擬合了垄开。

(3.2)dropout(隨機(jī)失活)正則

即讓神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元按照一定的概率隨機(jī)失活

直觀理解:因?yàn)樯窠?jīng)元有可能會(huì)被隨機(jī)清除税肪,這樣子在訓(xùn)練中溉躲,就不會(huì)過分依賴某一個(gè)神經(jīng)元或者特征的權(quán)重。但是這個(gè)東西的一大缺點(diǎn)就是代價(jià)函數(shù)J不能再被明確定義益兄,每次都會(huì)隨機(jī)移除一些節(jié)點(diǎn)锻梳,所以很難進(jìn)行復(fù)查。如果需要調(diào)試的話净捅,通常會(huì)關(guān)閉dropout疑枯,設(shè)置為1,這樣再來debug蛔六。需要注意的是:測試時(shí)荆永,要把dropout關(guān)掉!

(4)歸一化數(shù)據(jù)——提高訓(xùn)練速度

歸一化數(shù)據(jù)可以加速神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度国章,一般分兩步:零均值屁魏;歸一化方差。

(5)初始化參數(shù)——避免梯度消失和梯度爆炸

直觀理解:梯度消失和梯度爆炸是深層神經(jīng)網(wǎng)絡(luò)與生俱來的問題捉腥,為什么這么說?由于網(wǎng)絡(luò)層數(shù)多你画,基于梯度下降法的原理抵碟,dw[i]會(huì)隨著層數(shù)增加呈指數(shù)式的變化桃漾,導(dǎo)致不同的層學(xué)習(xí)的速度差異很大,有些層學(xué)習(xí)得很快拟逮,有些層幾乎不變撬统。

那如何解決?就需要對權(quán)重值W的初始參數(shù)動(dòng)一下手腳啦敦迄,一般希望z不要太大也不要太小恋追,所以呢,n越大罚屋,W越小才好苦囱。通常的做法就是讓W(xué)的方差等于1/n,如果是relu函數(shù)脾猛,就等于2/n撕彤。

(6)檢驗(yàn)梯度雙邊梯度逼近

2.2? 優(yōu)化算法

(1)Mini-batch 梯度下降法

簡單而言,將大的訓(xùn)練集分割成一個(gè)個(gè)小的子集猛拴,每次迭代將這些子集的損失函數(shù)求平均值羹铅,這樣便可以減小每次計(jì)算的向量大小,提高計(jì)算速度愉昆。另外职员,該方法的損失函數(shù)在迭代過程中會(huì)有波動(dòng),但總體是呈下降趨勢跛溉。

(2) 動(dòng)量(Momentum)梯度下降法

動(dòng)量梯度下降的基本思想就是:計(jì)算梯度的指數(shù)加權(quán)平均數(shù)焊切,并利用該梯度來更新權(quán)重。該方法可以減少損失函數(shù)下降時(shí)候的波動(dòng)倒谷,以較快的速度達(dá)到最小值蛛蒙。

動(dòng)量梯度下降法的算法如下圖所示,其中β通常取0.9渤愁∏K睿可以形象地認(rèn)為β給損失函數(shù)下降提供了一個(gè)阻力,在迭代過程中減小損失函數(shù)下降的加速度抖格,從而使其下降地更加“平穩(wěn)”诺苹。

Momentum梯度下降法

(3) Adam 優(yōu)化算法

Adam 算法就是在動(dòng)量梯度下降法的基礎(chǔ)上作了一點(diǎn)改進(jìn),算法如下圖所示:

Adam 算法

2.3? 超參數(shù)調(diào)試 和 Batch Norm

(1)超參數(shù)的調(diào)試

1.超參重要程度:以采用Adam優(yōu)化的深層神經(jīng)網(wǎng)絡(luò)為例雹拄,按照重要程度對超參數(shù)進(jìn)行排序收奔,最重要的是學(xué)習(xí)率,其次是各隱藏層的單元數(shù)和Mini-batch規(guī)模滓玖,然后是隱藏層層數(shù)坪哄,其他的超參數(shù)(如β1、β2、\varepsilon )都取默認(rèn)值翩肌。

2.調(diào)試方法:超參數(shù)較少:網(wǎng)格點(diǎn)的方式來調(diào)試模暗;超參數(shù)較多:隨機(jī)選擇點(diǎn)進(jìn)行調(diào)試。(原因是:不知道哪個(gè)超參數(shù)是更重要的念祭,隨機(jī)的方式去測試超參數(shù)點(diǎn)的性能兑宇,更為合理。)

3.Scale均勻隨機(jī):超參數(shù)調(diào)試時(shí)粱坤,某些超參數(shù)是在一個(gè)范圍內(nèi)進(jìn)行均勻隨機(jī)取值隶糕,如果在 0.001~1 的范圍內(nèi)進(jìn)行均勻隨機(jī)取值,隨機(jī)數(shù)會(huì)有90%的概率落在在0.1~1 之間站玄,這顯然是不合理的枚驻。所以我們需要對隨機(jī)數(shù)作一些處理,即將隨機(jī)值變成指數(shù)蜒什,如學(xué)習(xí)率如果在10^a~10^b 之間的范圍內(nèi)测秸,則隨機(jī)值r∈[a,b]。

在超參數(shù)調(diào)試的實(shí)際操作中灾常,我們需要根據(jù)計(jì)算資源來決定的調(diào)試方式:計(jì)算資源有限霎冯,僅調(diào)試一個(gè)模型,每天不斷優(yōu)化钞瀑;計(jì)算資源充足沈撞,同時(shí)并行調(diào)試多個(gè)模型,選取其中最好的模型雕什。

(2)激活值的歸一化——Batch Norm

在2.1節(jié)提及歸一化可提高訓(xùn)練速度缠俺,對激活函數(shù)前的z[l]進(jìn)行歸一化可加速模型訓(xùn)練過程。

Batch Norm 計(jì)算公式

實(shí)現(xiàn)反向傳播更新參數(shù)時(shí)贷岸,需要計(jì)算各個(gè)參數(shù)的梯度:dw[l]壹士、dγ[l]、dβ[l]偿警。這里不需要求db[l]躏救,因?yàn)锽atch Norm將z[l]改成均值為0,標(biāo)準(zhǔn)差為1的分布螟蒸,再由β和γ進(jìn)行重新的分布縮放盒使,那就是意味著,無論b[l]值為多少七嫌,在這個(gè)過程中都會(huì)被減去少办,b不再起作用。所以Batch Norm可以把b掉诵原,或取零值英妓。

Batch Norm的原理

1.與輸入層歸一化的原理相同挽放,即通過改變損失函數(shù)的形狀,使得每一次梯度下降都可以更快的接近全局最優(yōu)點(diǎn)鞋拟,從而加快訓(xùn)練速度骂维。不同的是,Batch Norm 將各個(gè)隱藏層的激活函數(shù)的激活值進(jìn)行的歸一化贺纲,并調(diào)整到另外的分布。

歸一化原理圖

2.訓(xùn)練過程褪测,w[l]不斷變化猴誊,對于后面的網(wǎng)絡(luò),a[l]的值也在不斷變化侮措,所以就有了Covariate shift的問題(訓(xùn)練集和預(yù)測集樣本分布不一致)懈叹。如果對z[l]使用了Batch Norm,那么即使其值不斷的變化分扎,但是其均值和方差卻會(huì)保持澄成,因此削弱了前層參數(shù)與后層參數(shù)之間的聯(lián)系,使得網(wǎng)絡(luò)的每層都可以自己進(jìn)行學(xué)習(xí)畏吓。

Batch Norm還有輕微的正則化效果墨状。這是因?yàn)樵谑褂肕ini-batch梯度下降的時(shí)候,每次計(jì)算均值和偏差都是在一個(gè)Mini-batch上進(jìn)行計(jì)算菲饼,而不是在整個(gè)數(shù)據(jù)樣集上肾砂。這樣就在均值和偏差上帶來一些比較小的噪聲。因此宏悦,Mini-batch越大镐确,噪聲越小,正則化的效果越少饼煞。

在這里有個(gè)問題源葫,Batch Norm是在Mini-batch中計(jì)算均值和方差的,但我們對單個(gè)測試集進(jìn)行預(yù)測時(shí)砖瞧,就無法計(jì)算均值和方差息堂。一般的做法:對于訓(xùn)練集的Mini-batch,使用指數(shù)加權(quán)平均芭届,當(dāng)訓(xùn)練結(jié)束的時(shí)候储矩,得到指數(shù)加權(quán)平均后的均值和方差,而這些值直接用于Batch Norm公式的計(jì)算褂乍,用以對測試樣本進(jìn)行預(yù)測持隧。

(3)Softmax 回歸

Softmax回歸 logistic回歸 從二分類問題推廣到了多分類問題上,兩者的不同點(diǎn)在于最后一層隱藏層的激活函數(shù)和損失函數(shù)逃片。

Softmax回歸的激活函數(shù)是一個(gè)概率計(jì)算函數(shù)屡拨,最后計(jì)算得到各個(gè)分類的概率大小只酥。

Softmax激活函數(shù)
損失函數(shù)
梯度計(jì)算公式
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市呀狼,隨后出現(xiàn)的幾起案子裂允,更是在濱河造成了極大的恐慌,老刑警劉巖哥艇,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绝编,死亡現(xiàn)場離奇詭異,居然都是意外死亡貌踏,警方通過查閱死者的電腦和手機(jī)十饥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來祖乳,“玉大人逗堵,你說我怎么就攤上這事【炖ィ” “怎么了蜒秤?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長亚斋。 經(jīng)常有香客問我作媚,道長,這世上最難降的妖魔是什么伞访? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任掂骏,我火速辦了婚禮,結(jié)果婚禮上厚掷,老公的妹妹穿的比我還像新娘弟灼。我一直安慰自己,他們只是感情好冒黑,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布田绑。 她就那樣靜靜地躺著,像睡著了一般抡爹。 火紅的嫁衣襯著肌膚如雪掩驱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天冬竟,我揣著相機(jī)與錄音欧穴,去河邊找鬼。 笑死泵殴,一個(gè)胖子當(dāng)著我的面吹牛涮帘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播笑诅,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼调缨,長吁一口氣:“原來是場噩夢啊……” “哼疮鲫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起弦叶,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤俊犯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后伤哺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體燕侠,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年立莉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了贬循。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,599評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡桃序,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出烂瘫,到底是詐尸還是另有隱情媒熊,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布坟比,位于F島的核電站芦鳍,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏葛账。R本人自食惡果不足惜柠衅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望籍琳。 院中可真熱鬧菲宴,春花似錦、人聲如沸趋急。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽呜达。三九已至谣蠢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間查近,已是汗流浹背眉踱。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留霜威,地道東北人谈喳。 一個(gè)月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像侥祭,于是被迫代替她去往敵國和親叁执。 傳聞我的和親對象是個(gè)殘疾皇子茄厘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評論 2 348

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