Dropout:一種防止人工智能神經(jīng)網(wǎng)絡(luò)算法過度擬合的有效方法
之前我在金融風(fēng)控違約預(yù)測(cè)模型方面積累大量經(jīng)驗(yàn),有多種方法可以防止模型過度擬合。如果大家有興趣可以點(diǎn)擊下面視頻了解。

前幾天我建立一個(gè)肺癌圖像識(shí)別模型,如下圖模型區(qū)分能力和預(yù)測(cè)能力都非常好,過度擬合較低。



今天重點(diǎn)談?wù)勅斯ぶ悄軋D像識(shí)別模型降低過度擬合的一個(gè)通用良好方法-dropout。通過大量數(shù)據(jù)集實(shí)驗(yàn),此方法有效。
概述
具有大量參數(shù)的深度神經(jīng)網(wǎng)絡(luò)是非常強(qiáng)大的機(jī)器學(xué)習(xí)系統(tǒng)。然而,在這種網(wǎng)絡(luò)中,過度擬合是一個(gè)嚴(yán)重的問題。大型網(wǎng)絡(luò)也是使用速度慢,難以通過結(jié)合許多預(yù)測(cè)來處理過度擬合測(cè)試時(shí)使用不同的大型神經(jīng)網(wǎng)絡(luò)。dropout是解決這個(gè)問題的一種方法。關(guān)鍵思想是從神經(jīng)網(wǎng)絡(luò)中隨機(jī)丟棄單元(及其連接)培訓(xùn)期間的網(wǎng)絡(luò)。這可以防止單位過度適應(yīng)。在訓(xùn)練期間,來自指數(shù)級(jí)數(shù)量的不同“稀疏”網(wǎng)絡(luò)的丟棄樣本。在測(cè)試時(shí),很容易對(duì)所有這些稀疏網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果進(jìn)行平均通過簡(jiǎn)單地使用具有較小權(quán)重的單個(gè)非精簡(jiǎn)網(wǎng)絡(luò)。這非常重要減少了過度擬合,并對(duì)其他正則化方法進(jìn)行了重大改進(jìn)。我們研究表明,dropout提高了神經(jīng)網(wǎng)絡(luò)在監(jiān)督學(xué)習(xí)中的性能視覺、語音識(shí)別、文檔分類和計(jì)算生物學(xué)中的任務(wù),在許多基準(zhǔn)數(shù)據(jù)集上獲得最先進(jìn)的結(jié)果。
1.介紹
深度神經(jīng)網(wǎng)絡(luò)包含多個(gè)非線性隱藏層,這使得它們非??梢詫W(xué)習(xí)其輸入和輸出之間非常復(fù)雜的關(guān)系的表達(dá)模型輸出。然而,由于訓(xùn)練數(shù)據(jù)有限,許多復(fù)雜的關(guān)系將是采樣噪聲的結(jié)果,因此它們將存在于訓(xùn)練集中,但不是真實(shí)的測(cè)試數(shù)據(jù),即使它來自相同的分布。這會(huì)導(dǎo)致過度擬合已經(jīng)制定了減少這種情況的方法,包括盡快停止訓(xùn)練驗(yàn)證集的性能開始變差,引入了各種權(quán)重懲罰諸如L1和L2正則化和軟權(quán)重共享(Nowlan和Hinton,1992)。
通過無限計(jì)算,“正則化”固定大小模型的最佳方法是對(duì)參數(shù)的所有可能設(shè)置的預(yù)測(cè)進(jìn)行平均,通過給定訓(xùn)練數(shù)據(jù)的后驗(yàn)概率對(duì)每個(gè)設(shè)置進(jìn)行加權(quán)。這有時(shí)可以非常接近適用于簡(jiǎn)單或小型模型,但我們希望使巨大計(jì)算量變少。我們建議通過近似相等加權(quán)的幾何共享參數(shù)的指數(shù)數(shù)量的學(xué)習(xí)模型的預(yù)測(cè)的平均值。

(a)一個(gè)標(biāo)準(zhǔn)的神經(jīng)網(wǎng)絡(luò),有兩個(gè)隱藏層。
(b):dropuot神經(jīng)網(wǎng)絡(luò)模型。
正確的:通過向左側(cè)的網(wǎng)絡(luò)應(yīng)用丟棄而生成的稀疏網(wǎng)絡(luò)的示例。有交叉的圓圈單位已被丟棄。
Model combination模型組合幾乎總是提高機(jī)器學(xué)習(xí)方法的性能。然而,對(duì)于大型神經(jīng)網(wǎng)絡(luò)許多單獨(dú)訓(xùn)練的網(wǎng)都非常昂貴。結(jié)合多種模型當(dāng)單個(gè)模型彼此不同時(shí)神經(jīng)網(wǎng)絡(luò)模型不同,它們要么具有不同的架構(gòu),要么經(jīng)過訓(xùn)練基于不同的數(shù)據(jù)。訓(xùn)練許多不同的架構(gòu)是困難的,因?yàn)檎业阶罴训拿總€(gè)架構(gòu)的超參數(shù)都是一項(xiàng)艱巨的任務(wù),訓(xùn)練每個(gè)大型網(wǎng)絡(luò)需要大量的計(jì)算。此外,大型網(wǎng)絡(luò)通常需要大量訓(xùn)練數(shù)據(jù),并且可能沒有足夠的數(shù)據(jù)來訓(xùn)練不同的網(wǎng)絡(luò)數(shù)據(jù)的不同子集。即使能夠訓(xùn)練許多不同的大型網(wǎng)絡(luò),在測(cè)試時(shí)使用它們是不可行的,因?yàn)樵趹?yīng)用程序中快速響應(yīng)非常重要。
dropuot是一種解決這兩個(gè)問題的技術(shù)。它可防止過度裝配和提供了一種近似組合多種不同神經(jīng)網(wǎng)絡(luò)的方法高效的架構(gòu)。“dropuot”一詞是指dropuot單位(隱藏和可見)。我們把一個(gè)單元放出去,意味著暫時(shí)把它從網(wǎng)絡(luò)及其所有傳入和傳出連接,如圖1所示。要丟棄的單元的選擇是隨機(jī)的。在最簡(jiǎn)單的情況下,每個(gè)單元保留獨(dú)立于其他單位的固定概率p,其中p可以通過驗(yàn)證來選擇設(shè)置或可以簡(jiǎn)單地設(shè)置為0.5,這似乎接近于對(duì)于大范圍的網(wǎng)絡(luò)和任務(wù)。然而,對(duì)于輸入單元,最佳保留概率為通常比0.5更接近1。

左:訓(xùn)練時(shí)出現(xiàn)概率為p的單位,與單位相連
右:在測(cè)試時(shí),單位始終存在權(quán)重乘以p。測(cè)試時(shí)的輸出與預(yù)期輸出相同
在訓(xùn)練時(shí)間。
將丟棄應(yīng)用于神經(jīng)網(wǎng)絡(luò)相當(dāng)于從稀疏的網(wǎng)絡(luò)由所有幸存的單元組成(圖1b)。A.
具有n個(gè)單元的神經(jīng)網(wǎng)絡(luò)可以看作是2n個(gè)可能的稀疏神經(jīng)網(wǎng)絡(luò)的集合。這些網(wǎng)絡(luò)都共享權(quán)重,使得參數(shù)的總數(shù)仍然是O(n**2.),或較少的對(duì)于每個(gè)訓(xùn)練案例的每次呈現(xiàn),對(duì)新的稀疏網(wǎng)絡(luò)進(jìn)行采樣訓(xùn)練。因此,訓(xùn)練一個(gè)有缺失的神經(jīng)網(wǎng)絡(luò)可以被視為訓(xùn)練2n的集合具有廣泛權(quán)重共享的稀疏網(wǎng)絡(luò),其中每個(gè)稀疏網(wǎng)絡(luò)都得到訓(xùn)練非常罕見,如果有的話。
在測(cè)試時(shí),從指數(shù)上明確平均預(yù)測(cè)是不可行的許多稀疏模型。然而,一種非常簡(jiǎn)單的近似平均方法在實(shí)踐這個(gè)想法是在測(cè)試時(shí)使用一個(gè)神經(jīng)網(wǎng)絡(luò)而不中斷。重量該網(wǎng)絡(luò)的權(quán)重是訓(xùn)練權(quán)重的縮小版本。如果單位保留概率p在訓(xùn)練期間,該單元的輸出權(quán)重乘以測(cè)試時(shí)的p時(shí)間,如圖2所示。這確保了任何隱藏單元的預(yù)期輸出(低于用于在訓(xùn)練時(shí)丟棄單元的分布)與在訓(xùn)練時(shí)的實(shí)際輸出相同測(cè)試時(shí)間。通過進(jìn)行這種縮放,2**n個(gè)具有共享權(quán)重的網(wǎng)絡(luò)可以組合成測(cè)試時(shí)使用的單個(gè)神經(jīng)網(wǎng)絡(luò)。我們發(fā)現(xiàn)在測(cè)試時(shí)使用這種近似平均法與訓(xùn)練相比,在各種分類問題上的泛化誤差更低使用其他正則化方法。
dropuot的概念并不局限于前饋神經(jīng)網(wǎng)絡(luò)。它可以更普遍應(yīng)用于圖形模型,如Boltzmann機(jī)器。在本文中,我們介紹dropuot限制Boltzmann機(jī)器模型,并將其與標(biāo)準(zhǔn)限制Boltzmann機(jī)器(RBM)。我們的實(shí)驗(yàn)表明,dropuot風(fēng)險(xiǎn)管理比某些方面的標(biāo)準(zhǔn)成果管理制。
dropuot由來動(dòng)機(jī)
dropuot的動(dòng)機(jī)來自性在進(jìn)化中的作用理論(Livnat等人,2010). 有性生殖包括獲取父母一方一半的基因。另一種方法是添加非常少量的隨機(jī)突變,并將它們結(jié)合起來,產(chǎn)生一個(gè)孩子。無性繁殖的替代方法是產(chǎn)生一個(gè)具有輕微突變拷貝的后代父母的基因。無性繁殖似乎是一種更好的方法優(yōu)化個(gè)人健康狀況,因?yàn)橐唤M良好的基因協(xié)同工作可以直接傳給后代。另一方面,有性生殖很可能特別是如果這些基因集很大,這會(huì)降低已經(jīng)進(jìn)化出復(fù)雜協(xié)同適應(yīng)的生物體的適應(yīng)性。然而,有性生殖是大多數(shù)先進(jìn)生物進(jìn)化的方式。有性生殖優(yōu)越性的一個(gè)可能解釋是,長(zhǎng)期以來術(shù)語,自然選擇的標(biāo)準(zhǔn)可能不是個(gè)人的適應(yīng)性,而是混合能力基因。一組基因能夠與另一組隨機(jī)的基因使它們更健壯。因?yàn)橐粋€(gè)基因不能依靠大量的伴侶無論何時(shí),它都必須學(xué)會(huì)自己或與他人合作做一些有用的事情少數(shù)其他基因。根據(jù)這一理論,性生殖的作用不僅僅是為了讓有用的新基因在人群中傳播通過減少復(fù)雜的協(xié)同適應(yīng)來促進(jìn)這一過程,從而減少一種改善個(gè)體健康的新基因。類似地,神經(jīng)系統(tǒng)中的每個(gè)隱藏單元受過輟學(xué)訓(xùn)練的網(wǎng)絡(luò)必須學(xué)會(huì)與隨機(jī)選擇的其他樣本一起工作單位。這將使每個(gè)隱藏單元更強(qiáng)大,并推動(dòng)其創(chuàng)建有用的而不依賴其他隱藏單元來糾正錯(cuò)誤。然而一個(gè)層中的隱藏單元仍然會(huì)學(xué)習(xí)彼此做不同的事情。一可以想象,通過制作許多拷貝,網(wǎng)絡(luò)將變得強(qiáng)大,防止dropuot但這是一個(gè)糟糕的解決方案,原因與副本代碼完全相同是處理嘈雜頻道的糟糕方法。一個(gè)密切相關(guān)但略有不同的輟學(xué)動(dòng)機(jī)來自于思考
關(guān)于成功的陰謀。10起陰謀,每起涉及5人比一場(chǎng)需要50人參與的大陰謀更能制造混亂他們的零件正確。如果情況沒有改變,并且有足夠的時(shí)間排練大陰謀可以很好地運(yùn)作,但在非平穩(wěn)條件下,陰謀越小它繼續(xù)工作的機(jī)會(huì)就越大。復(fù)雜的協(xié)同適應(yīng)可以訓(xùn)練得很好。在訓(xùn)練集上,但在新的測(cè)試數(shù)據(jù)上,它們比多個(gè)更簡(jiǎn)單的測(cè)試數(shù)據(jù)更容易失敗共同適應(yīng),實(shí)現(xiàn)同樣的目標(biāo)。
多個(gè)數(shù)據(jù)集實(shí)驗(yàn)結(jié)果
我們訓(xùn)練了用于不同數(shù)據(jù)集分類問題的丟棄神經(jīng)網(wǎng)絡(luò)域。我們發(fā)現(xiàn),dropuot改進(jìn)了所有數(shù)據(jù)集的泛化性能與不使用輟學(xué)的神經(jīng)網(wǎng)絡(luò)相比。表1簡(jiǎn)要描述了數(shù)據(jù)集。
數(shù)據(jù)集為
?MNIST:手寫數(shù)字的標(biāo)準(zhǔn)玩具數(shù)據(jù)集。
?TIMIT:用于清晰語音識(shí)別的標(biāo)準(zhǔn)語音基準(zhǔn)。
?CIFAR-10和CIFAR-100:微小的自然圖像(Krizhevsky,2009)。
?街景房屋編號(hào)數(shù)據(jù)集(SVHN):
谷歌街景(Netzer等人,2011年)。
?ImageNet:大量自然圖像的集合。
?Reuters-RCV1:路透社新聞網(wǎng)文章集
我們選擇了一組不同的數(shù)據(jù)集來證明dropuot是一種通用技術(shù)用于改進(jìn)神經(jīng)網(wǎng)絡(luò),并且不特定于任何特定的應(yīng)用領(lǐng)域。我們給出了一些關(guān)鍵結(jié)果,表明了輟學(xué)的有效性。

例如在MNIST實(shí)驗(yàn)中,我們發(fā)現(xiàn)應(yīng)用dropout技術(shù)后,模型error錯(cuò)誤率顯著降低到0.79.

如下圖,神經(jīng)網(wǎng)絡(luò)模型各有2至4個(gè)隱藏層,具有1024至2048個(gè)單元。應(yīng)用dropout技術(shù)后模型error錯(cuò)誤率顯著降低。

下圖是街景房屋編號(hào)數(shù)據(jù)集的結(jié)果,應(yīng)用dropout技術(shù)后模型error錯(cuò)誤率顯著降低到2.55%。

下圖是來自圖像數(shù)據(jù)集的樣本。每行對(duì)應(yīng)不同的類別。應(yīng)用dropout技術(shù)后模型error錯(cuò)誤率顯著降低。


根據(jù)我們的模型預(yù)測(cè),一些ImageNet測(cè)試用例具有4個(gè)最可能的標(biāo)簽。水平條的長(zhǎng)度與分配給標(biāo)簽的概率成比例。根據(jù)模型。粉色表示地面真相。應(yīng)用dropout技術(shù)后模型error錯(cuò)誤率顯著降低。


下圖是TIMIT核心測(cè)試集的電話錯(cuò)誤率。應(yīng)用dropout技術(shù)后模型error錯(cuò)誤率顯著降低。

最后我強(qiáng)調(diào)一下,很多學(xué)生在寫論文時(shí),核心觀點(diǎn)和標(biāo)題不正確。他們常犯一個(gè)錯(cuò)誤是神經(jīng)網(wǎng)絡(luò)算法比邏輯回歸或集成樹算法更優(yōu)越。神經(jīng)網(wǎng)絡(luò)算法多用于圖像識(shí)別和語音識(shí)別,邏輯回歸或集成樹算法多用于金融風(fēng)控違約預(yù)測(cè)模型。不同算法沒有完全優(yōu)劣之分,而是應(yīng)用場(chǎng)景不一樣。當(dāng)然我們也會(huì)用一些神經(jīng)網(wǎng)絡(luò)算法建立金融風(fēng)控違約預(yù)測(cè)模型,但應(yīng)用非常少,模型性能也不一定最優(yōu)。一種算法表現(xiàn)平淡無奇,但通過精心數(shù)據(jù)預(yù)處理后,算法預(yù)測(cè)能力可以得到增強(qiáng)。比如邏輯回歸之間應(yīng)用于原始數(shù)據(jù),性能一般。但對(duì)數(shù)據(jù)分箱處理后再轉(zhuǎn)換為woe值,邏輯回歸模型預(yù)測(cè)能力可以得到顯著增強(qiáng)。

版權(quán)聲明:文章來自公眾號(hào)(python風(fēng)控模型),未經(jīng)許可,不得抄襲。遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。