[Paper Reading] Dropout: A Simple Way to Prevent Neural Networks from Overfitting

簡介

Dropout作為神經(jīng)網(wǎng)絡(luò)常用的正則化方法滔以,最早由Hinton和Srivastava等人[[1]2012年提出虐呻。2014年谓晌,同一批作者對Dropout進(jìn)行了完整的描述和分析杯拐,發(fā)表在本篇介紹的論文中互拾。其中的作者之一Alex Krizhevsky怪瓶,也正是后來AlexNet的第一作者萧落。AlexNet網(wǎng)絡(luò)首次在神經(jīng)網(wǎng)絡(luò)中采用Dropout用于提高泛化能力。借助AlexNet巨大的影響力洗贰,Dropout很快受到了各類研究的青睞找岖,成為之后一段時間內(nèi)神經(jīng)網(wǎng)絡(luò)的標(biāo)配。雖然后來隨著BN的提出以及流行敛滋,該結(jié)構(gòu)的使用有所減少许布,但作為早期提升網(wǎng)絡(luò)性能的重要手段之一,仍然具有很大的影響绎晃。

Dropout的基本思想是在訓(xùn)練過程中蜜唾,隨機(jī)的丟棄部分神經(jīng)元,降低特征提取的共同作用影響庶艾,提高個體特征提取器的自適應(yīng)能力袁余,達(dá)到提升網(wǎng)絡(luò)泛化能力的目的。實(shí)驗(yàn)證明Dropout的確可以有效提高模型的泛化能力咱揍,但對于為何有效的原因還尚未定論颖榜。

網(wǎng)絡(luò)結(jié)構(gòu)

Dropout結(jié)構(gòu)

Dropout模塊結(jié)構(gòu)簡單,不依賴于特定的網(wǎng)絡(luò)架構(gòu)煤裙,可以集成到各種網(wǎng)絡(luò)結(jié)構(gòu)中掩完。采用Dropout網(wǎng)絡(luò)結(jié)構(gòu)變化示意圖如下所示:

圖1: 一個典型的網(wǎng)絡(luò)連接(左圖),經(jīng)過Dropout處理后的網(wǎng)絡(luò)結(jié)構(gòu)(右圖)

具體來說积暖,基本機(jī)制為隨機(jī)的將部分神經(jīng)元節(jié)點(diǎn)的輸出強(qiáng)制設(shè)置為0藤为。由于訓(xùn)練過程中每個批次丟棄的神經(jīng)元是完全隨機(jī)的,因此每個批次學(xué)習(xí)的都是不同結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)夺刑。Dropout用數(shù)學(xué)公式描述為:

? ??????????????????????????????????????????y=f(Wx)\circ m, m_i \subset  Bernoulli(p)

其中,f為激活函數(shù)分别,W, x,y分別為權(quán)重遍愿、上一層輸入、以及本層的輸出耘斩;m為符合伯努利分布(即0-1均勻離散分布)的Dropout控制掩碼沼填,m中每個元素取1的概率為p。由公式描述可知括授,Dropout是在激活函數(shù)計(jì)算之后處理坞笙,因此在神經(jīng)網(wǎng)絡(luò)層中岩饼,Dropout層是位于激活層(通常ReLU)之后。

失活率(Dropout Rate)

在Dropout中薛夜,最主要的超參為失活率籍茧,即每層中丟棄的神經(jīng)元占整層神經(jīng)元的比率。通常全連接層屬于密集層梯澜,適合于稀疏化寞冯,因此大量使用Dropout。卷積層由于卷積自身的稀疏性以及稀疏化的ReLU函數(shù)的大量使用晚伙,較少使用Dropout吮龄。

不同層可以使用不同的失活率,實(shí)踐中隱藏層通常使用同樣的失活率咆疗。經(jīng)過交叉驗(yàn)證漓帚,失活率等于0.5時效果最好,原因是0.5的時候Dropout隨機(jī)生成的網(wǎng)絡(luò)結(jié)構(gòu)最多午磁。Dropout也被當(dāng)作一種添加噪聲的方法胰默,用于作用輸入的訓(xùn)練數(shù)據(jù)。通常輸入層的失活率設(shè)置為0.2漓踢,避免輸入變化太大牵署。

最大范式正則化(Max-norm Regularization)

原文中采用了最大范式正則化配合Dropout使用,即對每個隱含節(jié)點(diǎn)的權(quán)重的L2范數(shù)設(shè)定上限值喧半,其中上限值作為超參調(diào)節(jié)奴迅。當(dāng)范數(shù)超過上限值,約束權(quán)重的范數(shù)為上限值挺据。

使用最大范式正則化約束權(quán)重取具,限制權(quán)重取值不會過大。即使在較大的學(xué)習(xí)率下扁耐,也能避免梯度發(fā)生爆炸暇检。較大的學(xué)習(xí)率,配合Dropout引入的噪聲婉称,可以搜索到更多的權(quán)值空間块仆。

推斷設(shè)置

訓(xùn)練過程中隨機(jī)丟棄神經(jīng)元,測試和推斷過程中則保留全部的神經(jīng)元王暗。如果測試時也隨機(jī)丟棄神經(jīng)元悔据,一是無法充分利用訓(xùn)練時丟棄神經(jīng)元增加網(wǎng)絡(luò)泛化能力的目的,另一方面對于給定輸入俗壹,隨機(jī)丟棄神經(jīng)元科汗,可能造成預(yù)測結(jié)果的不一致。

訓(xùn)練過程中某個神經(jīng)元輸出y绷雏,其失活率為p头滔,則該神經(jīng)元的輸出期望值為:

? ??????????????????????????????????????????????E(x) = p*0 + (1-p)*y

在測試和推斷階段怖亭,神經(jīng)元始終處于激活狀態(tài)。為了保持訓(xùn)練和測試階段的期望輸出一致坤检,需對測試和推斷階段每個神經(jīng)元的輸出進(jìn)行如下調(diào)整:

? ??????????????????????????????????????????????????????y=(1-p)f(Wx)

反向傳播計(jì)算

Dropout在前向傳播中只是用來定義網(wǎng)絡(luò)的臨時結(jié)構(gòu)兴猩,在推理階段并不使用Dropout。其對網(wǎng)絡(luò)的影響真正來源于反向傳播計(jì)算缀蹄。在Dropout的作用下網(wǎng)絡(luò)權(quán)重有選擇的更新峭跳,從根本上影響最終網(wǎng)絡(luò)的表現(xiàn)。

假設(shè)在反向梯度計(jì)算中缺前,某神經(jīng)元反向梯度輸入為\partial{e}/\partial{y}蛀醉,而y=dropout(x)為該神經(jīng)元在正向計(jì)算過程中經(jīng)過Dropout后的輸出。由鏈?zhǔn)椒▌t:

? ??????????????????????????????????????????????????\partial{e}/\partial{x} = \partial{e}/\partial{y} * \partial{y}/\partial{x}

其中:當(dāng)該神經(jīng)元在正向過程中被激活時衅码,\partial{y}/\partial{x}取值為1拯刁;否則取值為0。

需要說明的是逝段,在正向計(jì)算過程中垛玻,當(dāng)神經(jīng)元失活,Dropout強(qiáng)行將ReLU的輸出結(jié)果設(shè)置為0奶躯。在反向梯度計(jì)算中帚桩,并不是將ReLU的真實(shí)輸出值與0的差值作為梯度進(jìn)行計(jì)算,而是直接將梯度重置為0嘹黔。因?yàn)镈ropout的作用是讓該神經(jīng)元失活账嚎,截斷該節(jié)點(diǎn)處的梯度流。

Inverted Dropout

推斷和測試中對所有神經(jīng)元輸出進(jìn)行(1-p)的縮放儡蔓,影響計(jì)算性能郭蕉。為了減少測試和推斷時的計(jì)算時間,也避免修改網(wǎng)絡(luò)喂江,可以將縮放的計(jì)算轉(zhuǎn)移到訓(xùn)練階段召锈,推斷和測試階段無需做任何修改,此方法稱為反向Dropout(Inverted Dropout)获询。具體來說涨岁,即為將Dropout時保留的神經(jīng)元的輸出乘以1/(1-p),根據(jù)Dropout下神經(jīng)元的期望輸出計(jì)算公式:

? ??????????????????????????????????????????E(x) = p*0 + (1-p)*y/(1-p)=y

該縮放保證訓(xùn)練階段期望值與測試時期望值一致筐付。該操作僅影響訓(xùn)練過程卵惦,不影響測試和推斷過程。在訓(xùn)練時對輸出值進(jìn)行縮放后瓦戚,有效學(xué)習(xí)率(Effect LR)等價為\epsilon/(1-p)。由于p<1丛塌,因此有效學(xué)習(xí)率增大较解,p因此也被稱為推動因子畜疾。

有效分析

雖然實(shí)驗(yàn)證明,Dropout正交于網(wǎng)絡(luò)架構(gòu)印衔,并在幾乎所有的數(shù)據(jù)集上表現(xiàn)都優(yōu)于基準(zhǔn)測試啡捶,但其有效具體原因仍待分析。通常的觀點(diǎn)解釋有:

減少神經(jīng)元共適應(yīng)性(co-adaptations):通常認(rèn)為奸焙,神經(jīng)元之間具有非常復(fù)雜的共適應(yīng)性瞎暑。一個神經(jīng)元需要與其它的神經(jīng)元協(xié)作,即基于其它神經(jīng)元提取特征的基礎(chǔ)上与帆,才能提取特定的特征了赌。Dropout隨機(jī)丟棄部分神經(jīng)元,打破了神經(jīng)元之間相互協(xié)作的機(jī)制玄糟,迫使每個神經(jīng)元獨(dú)立的學(xué)習(xí)更加魯棒的特征勿她,避免了某些特征只有在其它特征下才有效的情況。按此分析阵翎,Dropout類似于L1逢并、L2等正則化效果,通過減少權(quán)重提高網(wǎng)絡(luò)的魯棒性和泛化能力郭卫。

Bagging集成作用:Bagging是一種通過集成多個模型降低泛化誤差的技術(shù)砍聊。訓(xùn)練階段訓(xùn)練多個不同的模型,測試階段將所有模型的輸出結(jié)果進(jìn)行表決或加權(quán)平均輸出贰军。每次訓(xùn)練迭代過程中玻蝌,Dropout隨機(jī)丟棄部分神經(jīng)元,相當(dāng)于訓(xùn)練不同的神經(jīng)網(wǎng)絡(luò)架構(gòu)谓形。與完整的Bagging流程不同灶伊,Dropout并不是在整個數(shù)據(jù)集上完整的訓(xùn)練每個網(wǎng)絡(luò)架構(gòu),而只在一個批次的數(shù)據(jù)上(min-batch)訓(xùn)練不同的網(wǎng)絡(luò)架構(gòu)寒跳,因此是一種廉價的Bagging 集成近似方法聘萨。基于批次訓(xùn)練不同的架構(gòu)童太,避免了采用原始Bagging技術(shù)需要訓(xùn)練和評估指數(shù)級神經(jīng)網(wǎng)絡(luò)的問題米辐。

生物進(jìn)化類比:物種在進(jìn)化過程中傾向于適應(yīng)當(dāng)前環(huán)境,從理論上說书释,繁殖應(yīng)該傾向于直接復(fù)制已經(jīng)適應(yīng)環(huán)境的父輩基因翘贮。然而,自然界更多采用有性繁殖等混合基因的方式進(jìn)化爆惧。一種可能的原因在于基因混合可以組合繁衍出適應(yīng)未來新環(huán)境的變種狸页,避免了當(dāng)環(huán)境發(fā)生突變時,物種難以適應(yīng)而面臨滅絕的危險。打亂單個基因依靠與其它基因固定組合來適應(yīng)環(huán)境的方式芍耘,有助于增強(qiáng)了基因的適應(yīng)能力址遇。

共謀論:在策劃一起大破壞時,有兩種方式:一種是50個人協(xié)同合作制作一起破壞斋竞;另外一種是分成10個組倔约,每組5人,只要一組成功實(shí)施破壞坝初,即任務(wù)完成浸剩。通常第二種方式的成功率更高,因?yàn)?0人協(xié)同需要緊密配合鳄袍,人員不可或缺绢要,響應(yīng)外部環(huán)境變化的速度較慢。相對而言畦木,小團(tuán)隊(duì)可以更快適應(yīng)和響應(yīng)外部環(huán)境袖扛。即使9組失敗,只需一組成功便可算完成任務(wù)十籍,從整體上看其適應(yīng)能力更強(qiáng)蛆封。

噪聲論:認(rèn)為Dropout作用相當(dāng)于數(shù)據(jù)增強(qiáng)(Data Augmentation)。針對每次Dropout產(chǎn)生的輸出結(jié)果勾栗,總能找到一個樣本惨篱,其原始網(wǎng)絡(luò)上輸出與Dropout的輸出相同。因此每次Dropout操作相當(dāng)于增加了數(shù)據(jù)樣本围俘,提高了模型的泛化能力砸讳。

數(shù)據(jù)準(zhǔn)備

數(shù)據(jù)集

論文主要針對分類任務(wù)進(jìn)行評估,分類的類型包括圖像界牡、聲音簿寂、文本、以及基因剪接宿亡,使用的數(shù)據(jù)集主要有:

MINST:該數(shù)據(jù)集包含60,000張訓(xùn)練數(shù)據(jù)以及10,000張測試數(shù)據(jù)常遂,每張圖片為28*28的灰色圖像。測試目標(biāo)為從手寫數(shù)字圖像中分辨出1~10的數(shù)字挽荠,為10分類任務(wù)克胳。

SVHN(Street View House Numbers):由Google街景應(yīng)用收集的街道邊房屋編號的數(shù)字圖像組成,房屋編號圖像已經(jīng)被分割為獨(dú)立的包含數(shù)字的彩色圖片圈匆,圖片尺寸為32*32漠另。該數(shù)據(jù)集包含約600,000張訓(xùn)練數(shù)據(jù)以及26,000張測試數(shù)據(jù),其中訓(xùn)練數(shù)據(jù)集由標(biāo)準(zhǔn)標(biāo)注訓(xùn)練數(shù)據(jù)集以及較簡單的標(biāo)準(zhǔn)訓(xùn)練集組成跃赚。驗(yàn)證集包含6,000張數(shù)據(jù)笆搓,以2:1的比例從上述兩個訓(xùn)練集中隨機(jī)抽取,兩個子集上每個類別的數(shù)量分別為400和200。測試目標(biāo)為從彩色圖像中辨認(rèn)數(shù)字砚作,為10分類任務(wù)窘奏。

CIFAR-10 & CIFAR-100:該數(shù)據(jù)集包含了50,000張訓(xùn)練數(shù)據(jù)集和10,000張測試數(shù)據(jù)集嘹锁,分別包含了10類和100類物體葫录,圖像尺寸大小為32*32。隨機(jī)從訓(xùn)練數(shù)據(jù)集中抽樣5,000張圖片作為驗(yàn)證數(shù)據(jù)集领猾。測試目標(biāo)為從圖像中辨認(rèn)出物體的類型米同,為10和100分類任務(wù)。

ImageNet:原始數(shù)據(jù)集包含1500萬包含標(biāo)注信息的圖像數(shù)據(jù)摔竿,覆蓋22,000種物體類型面粮。從其中選擇1000中物體類型,每種物體類型約1000張圖像继低,組成了用于圖像識別大賽ImageNet Large Scale Visual Recognition Challenge(ILSVRC)的數(shù)據(jù)子集熬苍。其中ILSVRC-2010是當(dāng)時唯一測試集包含標(biāo)簽的數(shù)據(jù)集,通常在此數(shù)據(jù)集上訓(xùn)練和驗(yàn)證袁翁。測試目標(biāo)為從圖像中辨認(rèn)物體的類型柴底,為1000分類任務(wù)。

TIMIT:語音數(shù)據(jù)庫粱胜,包含在無噪聲環(huán)境下柄驻,錄制的680人說話的語音數(shù)據(jù)。每個錄制者朗讀10句英文焙压,覆蓋了8中不同的英語方言鸿脓。測試目標(biāo)是能夠有效的識別語音內(nèi)容。

Reuters-RCV1:800,000份來自路透社的新聞稿件涯曲,涵蓋了103個不同的主題野哭。論文選取了其中的402,738份數(shù)據(jù),并通過2000個詞匯描述了50中不同的主題幻件。每份文本數(shù)據(jù)歸屬一個主題拨黔。通過BoW算法,提取關(guān)鍵詞傲武,將文章歸類到50個獨(dú)立的主題蓉驹。

數(shù)據(jù)處理

SVHN(Street View House Numbers):計(jì)算像素的均值和方差,然后每個像素減去均值并除以方差揪利,得到零均值和標(biāo)準(zhǔn)方差分布态兴。

CIFAR-10 & CIFAR-100:首先經(jīng)過全局對比歸一化(Global Contrast Normalization),即針對每幅圖的每個顏色通道疟位,分別減去像素的對比強(qiáng)度值瞻润。然后進(jìn)行ZCA白化操作。

ZCA白化:目的是降低數(shù)據(jù)的相關(guān)性,尤其是在圖像領(lǐng)域绍撞,相鄰數(shù)據(jù)之間的關(guān)聯(lián)性很強(qiáng)正勒,即存在大量冗余。通過ZCA白化處理傻铣,希望數(shù)據(jù)具備1)特征之間關(guān)聯(lián)性降低章贞;2)所有特征的方差相同。首先通過PCA主成分分析非洲,將數(shù)據(jù)通過特征向量矩陣投影到特征的主成分空間鸭限,然后在特征的主成分維度進(jìn)行標(biāo)準(zhǔn)的歸一化,使得不同維度的方差相同两踏。最后將數(shù)據(jù)轉(zhuǎn)換會原始的數(shù)據(jù)空間败京。

ZCA白化與PCA白化的區(qū)別:前者主要用于去相關(guān),而后者在于去相關(guān)的同時降維梦染。PCA白化過程中要求各維度方差為1赡麦,并且丟棄方差較小的維度達(dá)到將維目的。ZCA只要求各維度方差相同帕识,并且處理后數(shù)據(jù)盡量接近原始數(shù)據(jù)泛粹。ZCA相對PCA多一個操作步驟,即數(shù)據(jù)需要轉(zhuǎn)換回原始空間渡冻。

ImageNet:參考ImageNet Classification with Deep Convolutional Neural Network中的實(shí)現(xiàn)戚扳。

TIMIT:語音幀經(jīng)過了均值中心化和方差單位化操作。

Reuters-RCV1:略

訓(xùn)練策略

初始化

整個訓(xùn)練過程中族吻,使用隨機(jī)初始化訓(xùn)練方法帽借。特別的,在使用神經(jīng)網(wǎng)絡(luò)進(jìn)行語音識別時超歌,通過DBN網(wǎng)進(jìn)行預(yù)訓(xùn)練來初始化神經(jīng)網(wǎng)絡(luò)砍艾。

超參策略

采用Dropout處理會降低網(wǎng)絡(luò)的容量。例如巍举,對于有n個神經(jīng)元的網(wǎng)絡(luò)脆荷,采用Dropout處理后,每次只有(1-p)n個神經(jīng)元參與訓(xùn)練懊悯。在設(shè)計(jì)包含Dropout的神經(jīng)網(wǎng)絡(luò)時蜓谋,如果已知包含n個神經(jīng)元的網(wǎng)絡(luò)容量能夠滿足給定的任務(wù),包含Dropout的神經(jīng)網(wǎng)絡(luò)的神經(jīng)元個數(shù)建議設(shè)置為n/(1-p)炭分。

在梯度計(jì)算過程中桃焕,Dropout會引入更多的噪聲,導(dǎo)致梯度迭代過程中相互取消捧毛,降低了網(wǎng)絡(luò)訓(xùn)練收斂的速度观堂。為了提高網(wǎng)絡(luò)的訓(xùn)練速度让网,設(shè)置帶Dropout的學(xué)習(xí)率時,建議其為不使用Dropout的相同網(wǎng)絡(luò)架構(gòu)學(xué)習(xí)率的10~100倍师痕。另外溃睹,也可以通過增大動量的方式提升訓(xùn)練速度∫确兀考慮到大部分的神經(jīng)網(wǎng)絡(luò)使用的動量系數(shù)為0.9因篇。包含Dropout時,動量系數(shù)設(shè)置為0.95~0.99會明顯提高網(wǎng)絡(luò)收斂速度腕铸。

失活率是Dropout引入的新超參惜犀,建議設(shè)置范圍為[0.2, 0.5]。對于輸入端設(shè)置通常為0.2狠裹,而隱藏層設(shè)置為0.5。太大的失活率導(dǎo)致較多的神經(jīng)元訓(xùn)練過程中被丟棄汽烦,容易導(dǎo)致收斂速度慢涛菠,甚至欠擬合;太小的失活率則難以起到泛化的作用撇吞。

其具體任務(wù)相關(guān)的其它超參設(shè)置如下:

MINST:從訓(xùn)練數(shù)據(jù)中隨機(jī)抽取10,000張樣本作為驗(yàn)證數(shù)據(jù)集俗冻。在驗(yàn)證數(shù)據(jù)集上迭代一百萬次,以獲得最好驗(yàn)證誤差下對應(yīng)的超參牍颈。

CIFAR-10 & CIFAR-100:類似于MINST迄薄,隨機(jī)從訓(xùn)練數(shù)據(jù)集中抽樣5,000張圖片作為驗(yàn)證數(shù)據(jù)集。以驗(yàn)證數(shù)據(jù)集上迭代到最好的誤差的超參為最終配置煮岁。

ImageNet:具體參考ImageNet Classification with Deep Convolutional Neural Network

TIMIT:輸入的Dropout保留率設(shè)置為0.8讥蔽,網(wǎng)絡(luò)隱含層的保留率設(shè)置為0.5。增加了最大范式正則化操作画机,其中參數(shù)c=4冶伞。初始學(xué)習(xí)率為0.1,動量系數(shù)為0.95步氏。

測試評估

數(shù)據(jù)集測試

MINST:使用了NN(2-layers & 3-layers)+logistic/ReLU响禽,和DBN/DBM+logistic的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行評估。每組網(wǎng)絡(luò)均使用了原始配置和增加Dropout后的對比測試實(shí)驗(yàn)荚醒。在使用Dropout后芋类,表現(xiàn)最好一組的誤差由1.6%降低到1.35%。此外將激活函數(shù)從logistic替換為ReLU(1.25%)界阁、增加最大范式正則化(1.06%)侯繁、以及增加網(wǎng)絡(luò)的尺寸(0.95%)等操作,可進(jìn)一步降低誤差铺董。針對較大尺寸的網(wǎng)絡(luò)巫击,未使用Dropout時禀晓,即使使用標(biāo)準(zhǔn)化的正則化方法以及早停訓(xùn)練機(jī)制,也較難保證較好的泛化能力坝锰。在使用Dropout后粹懒,即使不使用早停機(jī)制,也能的到較好的泛化能力顷级。充分說明Dropout有效提高了網(wǎng)絡(luò)泛化能力凫乖。

SVHN:使用了卷積神經(jīng)網(wǎng)絡(luò)+max pooling/maxout等配置的網(wǎng)絡(luò)架構(gòu)進(jìn)行評估。表現(xiàn)最好的網(wǎng)絡(luò)由三層卷積網(wǎng)絡(luò)+兩層全連接網(wǎng)絡(luò)構(gòu)成弓颈,從輸入到隱含層的Dropout配置(保留率)為{0.9, 0.75, 0.75, 0.5, 0.5, 0.5}帽芽,即對輸入和卷積網(wǎng)絡(luò)也增加了Dropout處理。在只對全連接層增加Dropout處理后翔冀,誤差由3.95%降低到3.02%导街。增加卷積層Dropout處理后,誤差進(jìn)一步下降到2.47%纤子。通常認(rèn)為卷積層本身具有稀疏性搬瑰,無需增加Dropout。由實(shí)驗(yàn)可知控硼,對卷積層增加Dropout對誤差也有改善泽论,其原因可能在于增加Dropout后,增加了輸入到全連接層的噪聲卡乾。

ImageNet:性能最好的網(wǎng)絡(luò)由卷積神經(jīng)網(wǎng)絡(luò)組成(AlexNet)翼悴,由包含Dropout處理的神經(jīng)網(wǎng)絡(luò)架構(gòu)在Top5上的錯誤率由傳統(tǒng)特征提取分類的26%下降到16%,并以此獲得ILSVRC-2012分類比賽的冠軍幔妨。

TIMIT:對比實(shí)驗(yàn)在經(jīng)過DBN預(yù)訓(xùn)練的NN網(wǎng)絡(luò)(4\6\8)之間進(jìn)行鹦赎。在一個6層的NN網(wǎng)絡(luò)上,增加Dropout處理陶冷,誤差由23.4%下降到21.8%钙姊,在增加網(wǎng)絡(luò)到8層時,誤差進(jìn)一步降低到19.7%埂伦。

Reuters-RCV1:在表現(xiàn)最好的網(wǎng)絡(luò)上煞额,使用Dropout后,錯誤率由31.05%下降到29.62%沾谜。在文本分類上膊毁,Dropout對性能的提升要遠(yuǎn)小于圖像分類任務(wù)。

正則化對比

Dropout具有一定的正則化效果基跑。其它常用的正則化方法包括L1婚温、L2、KL稀疏化媳否、最大范式等栅螟。通過在相同數(shù)據(jù)集(MINST)上使用同一網(wǎng)絡(luò)架構(gòu)荆秦,配合不同的正則化方法對比發(fā)現(xiàn),Dropout+最大范式的組合正則化方法獲得了最低的測試誤差力图。

特征影響

可視化對比單層自動編碼器學(xué)習(xí)到的特征步绸,如下所示:

圖2:特征圖可視化對比[2]

在未使用Dropout時,每個神經(jīng)元學(xué)習(xí)到的特征沒有明顯有意義的結(jié)構(gòu)信息吃媒。一種可能的原因在于神經(jīng)元之間相互協(xié)作而無需獨(dú)立學(xué)習(xí)顯著的特征瓤介。在使用Dropout后(p=0.5),每個神經(jīng)元學(xué)習(xí)到了類似于點(diǎn)赘那、邊等明顯的結(jié)構(gòu)特征刑桑,可以獨(dú)立完成對特征的提取。由此可知募舟,Dropout的使用的確破壞了神經(jīng)元之間相互依賴協(xié)作的工作模式祠斧,從而提高了神經(jīng)元的獨(dú)立學(xué)習(xí)能力。

稀疏性

正則化的目的在于增加模型的稀疏性胃珍,較好的稀疏性有助于提高模型的泛化能力和可解釋性梁肿。一個稀疏良好的網(wǎng)絡(luò)模型包含兩層含義:1)在任意的輸入下,網(wǎng)絡(luò)中只有稀疏的神經(jīng)元被激活響應(yīng)觅彰;2)同一個神經(jīng)元,在任意的輸入下钮热,具備稀疏的響應(yīng)能力填抬,即只有在特定的輸入才響應(yīng),而大部分輸入下則不響應(yīng)隧期。

統(tǒng)計(jì)神經(jīng)元在不同的輸入下響應(yīng)的分布如下圖所示:

圖3:神經(jīng)元響應(yīng)分布[2]

每幅圖的左子圖顯示在不同輸入下飒责,每個神經(jīng)元平均被激活次數(shù)的分布百分比情況;右子圖描述了被激活不同次數(shù)的神經(jīng)元個數(shù)的分布情況仆潮。對比左邊子圖宏蛉,使用Dropout后峰值左移,大部分神經(jīng)元被激活的平均次數(shù)小于1性置,說明神經(jīng)元在不同的輸入下被激活次數(shù)降低拾并。對比右子圖,使用Dropout后鹏浅,絕大多數(shù)的神經(jīng)元沒有被激活嗅义,只有少量神經(jīng)元被激活,而且大部分反復(fù)被激活的次數(shù)較低隐砸。

通過對比之碗,Dropout不僅降低了被激活神經(jīng)元的數(shù)量,而且降低了相同神經(jīng)元在多次輸入下反復(fù)被激活的次數(shù)季希,有效的提高了模型的稀疏性褪那。

訓(xùn)練集大小影響

使用同一個網(wǎng)絡(luò)幽纷,在不同的數(shù)據(jù)集上訓(xùn)練網(wǎng)絡(luò),比較有無Dropout下的測試誤差博敬。在MINST上隨機(jī)抽樣得到不同規(guī)模([100, 500, 1k, 5k, 10k, 50k])的訓(xùn)練集友浸。對比結(jié)果發(fā)現(xiàn),在較小的數(shù)據(jù)集[100,500]時冶忱,由于嚴(yán)重的過擬合尾菇,測試誤差都比較差,而且使用Dropout的誤差更差囚枪。當(dāng)數(shù)據(jù)集逐步增大時[1k, 5k]派诬,使用Dropout的測試誤差急劇下降,并且優(yōu)于基準(zhǔn)測試链沼。原因在于當(dāng)前網(wǎng)絡(luò)容量適合該規(guī)模的數(shù)據(jù)集默赂,并且Dropout發(fā)揮了泛化作用。當(dāng)進(jìn)一步增大訓(xùn)練數(shù)據(jù)集時括勺,Dropout和基準(zhǔn)測試誤差下降速度減少缆八,但兩者差距縮小。這是因?yàn)榫W(wǎng)絡(luò)在較大數(shù)據(jù)集上本身的過擬合現(xiàn)象得到緩和疾捍,Dropout的效果提升不再明顯奈辰。

模型均值評估

測試和推斷階段不使用Dropout,而是通過對網(wǎng)絡(luò)權(quán)重(輸出)進(jìn)行(1-p)縮放乱豆,近似平均不同的網(wǎng)絡(luò)模型奖恰。一種更準(zhǔn)確但耗時的方法是采樣訓(xùn)練階段的k個不同網(wǎng)絡(luò)模型,用于逐一測試和推斷宛裕。將網(wǎng)絡(luò)的預(yù)測結(jié)果平均瑟啃,作為最終的預(yù)測結(jié)果。當(dāng)k\rightarrow \infty時揩尸,這種蒙特卡洛平均采樣結(jié)果將無限逼近真實(shí)預(yù)測值蛹屿。

在MINST數(shù)據(jù)集上實(shí)驗(yàn)發(fā)現(xiàn):當(dāng)k=50時,預(yù)測值接近于通過權(quán)重縮放時得到的預(yù)測值岩榆。因此错负,通過簡單的權(quán)重縮放來模擬多模型平均是可行的。

總結(jié)

在標(biāo)準(zhǔn)版本的Dropout提出來之后朗恳,又有很多新類型的Dropout陸續(xù)被提出湿颅,例如DropConnect、Standout等粥诫。盡管Dropout思想很簡單油航,但有效的緩解了過擬合問題。

隨著批歸一化(Batch Normalization, BN)提出后怀浆,BN以其更好的性能和效果而得到廣泛應(yīng)用谊囚。但是怕享,當(dāng)Dropout與BN結(jié)合在一起時,卻并不能獲得額外的增益效果镰踏,結(jié)果反而變差函筋。一種觀點(diǎn)認(rèn)為Dropout和BN有相似的正則化功能,兩者之間不相融奠伪。最近的研究表明跌帐,兩者之間的沖突關(guān)鍵在于網(wǎng)絡(luò)狀態(tài)切換過程中,存在神經(jīng)方差(Neural Variance)不一致行為绊率。簡單來說谨敛,在使用BN時,測試階段使用訓(xùn)練階段的統(tǒng)計(jì)方差滤否,在增加Dropout后脸狸,由于方差偏移作用,不同于(未使用Dropout)真實(shí)的測試方差藐俺,而導(dǎo)致預(yù)測結(jié)果產(chǎn)生錯誤偏差炊甲。

參考文獻(xiàn)

[1] Geoffrey E. Hinton, Nitish Srivastava, Alex Krizhevsky, Ilya Sutskever, Ruslan R. Salakhutdinov.?Improving neural networks by preventing co-adaptation of feature detectors

[2] Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, Ruslan Salakhutdinov.?Dropout: A Simple Way to Prevent Neural Networks from Overfitting

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市欲芹,隨后出現(xiàn)的幾起案子卿啡,更是在濱河造成了極大的恐慌,老刑警劉巖菱父,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件牵囤,死亡現(xiàn)場離奇詭異,居然都是意外死亡滞伟,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進(jìn)店門炕贵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來梆奈,“玉大人,你說我怎么就攤上這事称开∧吨樱” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵鳖轰,是天一觀的道長清酥。 經(jīng)常有香客問我,道長蕴侣,這世上最難降的妖魔是什么焰轻? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮昆雀,結(jié)果婚禮上辱志,老公的妹妹穿的比我還像新娘蝠筑。我一直安慰自己,他們只是感情好揩懒,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布什乙。 她就那樣靜靜地躺著,像睡著了一般已球。 火紅的嫁衣襯著肌膚如雪臣镣。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天智亮,我揣著相機(jī)與錄音忆某,去河邊找鬼。 笑死鸽素,一個胖子當(dāng)著我的面吹牛褒繁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播馍忽,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼棒坏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了遭笋?” 一聲冷哼從身側(cè)響起坝冕,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瓦呼,沒想到半個月后喂窟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡央串,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年啃憎,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片淑履。...
    茶點(diǎn)故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡棱诱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出饲宿,到底是詐尸還是另有隱情厦酬,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布瘫想,位于F島的核電站仗阅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏国夜。R本人自食惡果不足惜减噪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧旋廷,春花似錦鸠按、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至扎运,卻和暖如春瑟曲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背豪治。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工洞拨, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人负拟。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓烦衣,卻偏偏與公主長得像,于是被迫代替她去往敵國和親掩浙。 傳聞我的和親對象是個殘疾皇子花吟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評論 2 355

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