Author:Alex Krizhevsky ; Ilya Sutskever ; Geoffrey E. Hinton
摘要
本文訓(xùn)練了一個(gè)大規(guī)模的深度卷積神經(jīng)網(wǎng)絡(luò)來(lái)將ImageNet LSVRC-2010比賽中的包含120萬(wàn)幅高分辨率的圖像數(shù)據(jù)集分為1000種不同類(lèi)別绿渣。在測(cè)試集上,本文所得的top-1和top-5錯(cuò)誤率分別為37.5%和17.0%璧瞬,該測(cè)試結(jié)果大大優(yōu)于當(dāng)前的最佳水平簸喂。本文的神經(jīng)網(wǎng)絡(luò)包含6千萬(wàn)個(gè)參數(shù)和65萬(wàn)個(gè)神經(jīng)元,包含了5個(gè)卷積層,其中有幾層后面跟著最大池化(max-pooling)層茁裙,以及3個(gè)全連接層,最后還有一個(gè)1000維的softmax層节仿。為了加快訓(xùn)練速度晤锥,本文使用了不飽和神經(jīng)元以及一種高效的基于GPU的卷積運(yùn)算方法。為了減少全連接層的過(guò)擬合廊宪,本文采用了最新的正則化方法“dropout”矾瘾,該方法被證明非常有效。我們以該模型的變體參加了ILSVRC-2012比賽箭启,相比第二名26.2%壕翩,我們以15.3%的top-5測(cè)試錯(cuò)誤率獲勝。
1 引言
當(dāng)前的目標(biāo)識(shí)別方法基本上都使用了機(jī)器學(xué)習(xí)方法傅寡。為了提高目標(biāo)識(shí)別方法的性能放妈,我們可以收集更大的數(shù)據(jù)集,學(xué)習(xí)更強(qiáng)大的模型荐操,使用更好的技術(shù)來(lái)防止過(guò)擬合芜抒。直到目前,帶標(biāo)簽的圖像的數(shù)據(jù)集都相對(duì)較小——都僅僅在成千上萬(wàn)的數(shù)量級(jí)上(例如托启,NORB[16]宅倒,Caltech-101/256 [8, 9]和CIFAR-10/100 [12])。簡(jiǎn)單的識(shí)別任務(wù)在這樣大小的數(shù)據(jù)集上可以被解決的相當(dāng)好屯耸,特別是如果他們進(jìn)行帶標(biāo)簽的轉(zhuǎn)換來(lái)增廣數(shù)據(jù)集拐迁。例如蹭劈,目前在MNIST數(shù)字識(shí)別任務(wù)上(<0.3%)的最好準(zhǔn)確率已經(jīng)接近了人類(lèi)水平[4]。但現(xiàn)實(shí)情況的目標(biāo)呈現(xiàn)出很大的變化唠亚,因此為了學(xué)習(xí)識(shí)別它們链方,有必要使用更大的訓(xùn)練數(shù)據(jù)集。實(shí)際上灶搜,人們也已廣泛地認(rèn)識(shí)到小圖像數(shù)據(jù)集的缺點(diǎn)(例如祟蚀,Pinto et al. [21]),但收集上百萬(wàn)圖像的標(biāo)注數(shù)據(jù)僅在最近才變得的可能割卖。新的更大的數(shù)據(jù)集包括由數(shù)十萬(wàn)張全分割圖像的LabelMe[23]和包含超過(guò)22000類(lèi)的1500萬(wàn)張帶標(biāo)簽高分辨率圖像ImageNet[6]組成前酿。
為了從數(shù)以百萬(wàn)計(jì)的圖像中學(xué)習(xí)出數(shù)千種的目標(biāo),我們需要一個(gè)有很強(qiáng)學(xué)習(xí)能力的模型鹏溯。然而罢维,目標(biāo)識(shí)別任務(wù)的巨大復(fù)雜性意味著,即使在ImageNet這樣大的數(shù)據(jù)集也不能完成任務(wù)丙挽,因此我們的模型也要有許多先驗(yàn)知識(shí)來(lái)彌補(bǔ)所有我們沒(méi)有的數(shù)據(jù)肺孵。卷積神經(jīng)網(wǎng)絡(luò)(CNNs)構(gòu)成了一個(gè)這樣的模型[16, 11, 13, 18, 15, 22, 26]。卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力可以通過(guò)改變網(wǎng)絡(luò)的廣度和深度來(lái)控制颜阐,并且它們都能對(duì)圖像的本質(zhì)做出強(qiáng)大而又正確的判別(即統(tǒng)計(jì)的穩(wěn)定性和像素位置的依賴性)平窘。因此,與具有層次大小相似的標(biāo)準(zhǔn)前饋神經(jīng)網(wǎng)絡(luò)凳怨,CNNs有更少的連接和參數(shù)瑰艘,因此它更容易訓(xùn)練,盡管在理論上cnn的最佳性能可能比標(biāo)準(zhǔn)前饋神經(jīng)網(wǎng)絡(luò)差一點(diǎn)肤舞。
盡管CNN具有引人注目的特性紫新,盡管它們的局部架構(gòu)相當(dāng)有效,但大規(guī)模地應(yīng)用于高分辨率圖像消耗資源仍然過(guò)多李剖。幸運(yùn)的是芒率,目前的GPU,搭配了高度優(yōu)化的2維卷積計(jì)算篙顺,已經(jīng)足夠強(qiáng)大到幫助大規(guī)模CNN的訓(xùn)練偶芍,最新的數(shù)據(jù)集例如ImageNet包含足夠的標(biāo)注樣本來(lái)訓(xùn)練不會(huì)嚴(yán)重的過(guò)擬合的模型。
本文具體的貢獻(xiàn)如下:我們?cè)贗LSVRC-2010和ILSVRC-2012[2]的ImageNet子集上訓(xùn)練了到目前為止最大的卷積神經(jīng)網(wǎng)絡(luò)慰安,并取得了迄今為止在這些數(shù)據(jù)集上報(bào)道過(guò)的最好結(jié)果腋寨。我們編寫(xiě)了高度優(yōu)化的2維卷積的GPU計(jì)算以及卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練中所有其他運(yùn)算聪铺,這些都已公開(kāi)提供化焕。我們的網(wǎng)絡(luò)包含許多新的不尋常的特性,這些特性提高了神經(jīng)網(wǎng)絡(luò)的性能并減少了訓(xùn)練時(shí)間铃剔,詳見(jiàn)第三節(jié)撒桨。即使使用了120萬(wàn)帶標(biāo)簽的訓(xùn)練樣本查刻,網(wǎng)絡(luò)的大小仍然使過(guò)擬合成為一個(gè)嚴(yán)重的問(wèn)題,因此本文使用了許多有效的防止過(guò)擬合的技術(shù)凤类,詳見(jiàn)第四節(jié)穗泵。本文最終的網(wǎng)絡(luò)包含5個(gè)卷積層和3個(gè)全連接層,深度似乎是非常重要的:我們發(fā)現(xiàn)移除任何一層卷積層(每個(gè)卷積層包含的參數(shù)不超過(guò)模型參數(shù)的1%)都會(huì)導(dǎo)致更差的性能谜疤。
最后佃延,網(wǎng)絡(luò)的大小主要受限于目前GPU的內(nèi)存容量和我們?cè)敢馊淌艿挠?xùn)練時(shí)間。本文的網(wǎng)絡(luò)在兩個(gè)GTX 580 3GB GPU上訓(xùn)練五六天夷磕。本文所有的實(shí)驗(yàn)表明履肃,如果有更快的GPU、更大的數(shù)據(jù)集坐桩,結(jié)果可以更好尺棋。
2 數(shù)據(jù)集
ImageNet數(shù)據(jù)集包含有大概22000種類(lèi)別共150多萬(wàn)帶標(biāo)簽的高分辨率圖像。這些圖像是從網(wǎng)絡(luò)上收集得來(lái)绵跷,由亞馬遜的Mechanical Turkey的眾包工具進(jìn)行人工標(biāo)記膘螟。從2010年開(kāi)始,作為Pascal視覺(jué)目標(biāo)挑戰(zhàn)的一部分碾局,ImageNet大規(guī)模視覺(jué)識(shí)別挑戰(zhàn)(ImageNet Large-Scale Visual Recognition Challenge 荆残,ILSVRC)比賽每年都會(huì)舉行。ILSVRC采用ImageNet的子集擦俐,共包含一千個(gè)類(lèi)別脊阴,每個(gè)類(lèi)別包含大約1000幅圖像◎乔疲總的來(lái)說(shuō)嘿期,大約有120萬(wàn)張訓(xùn)練圖像,5萬(wàn)張驗(yàn)證圖像以及15萬(wàn)張測(cè)試圖像埋合。
ILSVRC-2010是ILSVRC競(jìng)賽中唯一可以獲得測(cè)試集標(biāo)簽公開(kāi)的版本备徐,因此本文大多數(shù)實(shí)驗(yàn)都是在這個(gè)版本上運(yùn)行的。由于我們也使用我們的模型參加了ILSVRC-2012競(jìng)賽甚颂,因此在第六節(jié)我們也報(bào)告了模型在這個(gè)版本的數(shù)據(jù)集上的結(jié)果蜜猾,該測(cè)試集標(biāo)簽不可獲取。在ImageNet上通常使用兩種錯(cuò)誤率:top-1和top-5振诬,top-5錯(cuò)誤率是指測(cè)試圖像的正確標(biāo)簽不在模型認(rèn)為的最可能的前五個(gè)標(biāo)簽中的測(cè)試圖像的百分?jǐn)?shù)蹭睡。
ImageNet包含各種不同分辨率的圖像,而我們的系統(tǒng)要求固定的輸入維度赶么。因此肩豁,我們將圖像進(jìn)行下采樣到固定的256×256分辨率。給定一個(gè)矩形圖像,我們首先縮放圖像短邊長(zhǎng)度為256清钥,然后從結(jié)果圖像中裁剪中心的256×256大小的圖像塊琼锋。除了將圖像減去訓(xùn)練集的均值圖像外,本文不對(duì)圖像做任何其它的預(yù)處理祟昭。因此本文直接在每個(gè)像素的原始RGB值上進(jìn)行訓(xùn)練缕坎。
3 架構(gòu)
本文網(wǎng)絡(luò)結(jié)構(gòu)詳見(jiàn)圖2。它包含8層學(xué)習(xí)層——5層卷積層和三層全連接層篡悟。下面將描述該網(wǎng)絡(luò)結(jié)構(gòu)的一些創(chuàng)新和新的特征谜叹。3.1節(jié)至3.4節(jié)根據(jù)他們的重要性從大到小排序。
3.1 ReLU非線性
通常使用一個(gè)關(guān)于輸入x的函數(shù)模擬神經(jīng)元的輸出f搬葬。這種標(biāo)準(zhǔn)函數(shù)是f(x) = tanh(x)或f(x) = (1 + e?x)?1叉谜。考慮到梯度下降的訓(xùn)練時(shí)間踩萎,這些飽和的非線性函數(shù)比不飽和的非線性函數(shù)f(x) = max(0,x)更慢停局。根據(jù)Nair和Hinton[20]的說(shuō)法,本文將這種非線性特征神經(jīng)元稱(chēng)為修正線性單元(ReLU)香府。采用ReLU的深度卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)間比同樣情況下使用tanh單元的速度要快幾倍董栽。在圖1中,對(duì)于一個(gè)特定的四層卷積網(wǎng)絡(luò)企孩,在CIFAR-10數(shù)據(jù)集上達(dá)到25%的訓(xùn)練誤差所需要的迭代次數(shù)可以證實(shí)這一點(diǎn)锭碳。這幅圖表明,如果我們采用傳統(tǒng)的飽和神經(jīng)元模型勿璃,我們將不能在如此大的神經(jīng)網(wǎng)絡(luò)上實(shí)驗(yàn)該工作擒抛。
本文不是第一個(gè)考慮在CNNs中尋找傳統(tǒng)神經(jīng)模型替代方案的。例如补疑,Jarrett等人[11]考慮使用非線性函數(shù)f(x) = |tanh(x)|歧沪,在數(shù)據(jù)集Caltech-101上,與基于局部平均池化的對(duì)比歸一化結(jié)合取得了很好地效果莲组。但是诊胞,在這個(gè)數(shù)據(jù)集上他們主要關(guān)心的就是防止過(guò)擬合,而本文用ReLUs主要是對(duì)訓(xùn)練集的擬合進(jìn)行加速锹杈∧旃拢快速學(xué)習(xí)對(duì)由大規(guī)模數(shù)據(jù)集上訓(xùn)練出大模型的性能有相當(dāng)大的影響。
圖1:使用ReLU(實(shí)線)的四層卷積神經(jīng)網(wǎng)絡(luò)在CIFAR-10數(shù)據(jù)集上達(dá)到25%的訓(xùn)練誤差比使用tanh神經(jīng)元的等價(jià)網(wǎng)絡(luò)(虛線)快六倍竭望。為了使訓(xùn)練盡可能快邪码,每個(gè)網(wǎng)絡(luò)的學(xué)習(xí)率是單獨(dú)選擇的暗挑。沒(méi)有采用任何類(lèi)型的正則化谎柄。影響的大小隨著網(wǎng)絡(luò)結(jié)構(gòu)的變化而變化缘挽,這一點(diǎn)已得到證實(shí)淆九,但使用ReLU的網(wǎng)絡(luò)都比等價(jià)的飽和神經(jīng)元快幾倍吩案。
3.2 多GPU訓(xùn)練
單個(gè)GTX580 GPU只有3G內(nèi)存澳化,這限制了可以在GTX580上進(jìn)行訓(xùn)練的網(wǎng)絡(luò)最大規(guī)模屈雄。事實(shí)證明120萬(wàn)訓(xùn)練樣本圖像用來(lái)進(jìn)行網(wǎng)絡(luò)訓(xùn)練是足夠的猎荠,但是這個(gè)任務(wù)對(duì)一個(gè)GPU來(lái)說(shuō)太大了粪滤。因此我們將網(wǎng)絡(luò)分布在兩個(gè)GPU上斧拍。當(dāng)前的GPU都能很方便地進(jìn)行交叉GPU并行,因?yàn)樗鼈兛梢灾苯酉嗷プx寫(xiě)內(nèi)存杖小,而不用經(jīng)過(guò)主機(jī)內(nèi)存肆汹。我們采用的并行模式本質(zhì)上來(lái)說(shuō)就是在每一個(gè)GPU上放二分之一的核(或者神經(jīng)元),我們還使用了另一個(gè)技巧:只有某些層才能進(jìn)行GPU之間的通信予权。這就意味著昂勉,例如第三層的輸入為第二層的所有特征圖。但是扫腺,第四層的輸入僅僅是第三層在同一GPU上的特征圖岗照。在交叉驗(yàn)證時(shí),連接模式的選擇是一個(gè)問(wèn)題笆环,而這個(gè)也恰好允許我們精確地調(diào)整通信的數(shù)量攒至,直到他占計(jì)算數(shù)量的一個(gè)合理比例。
最終的結(jié)構(gòu)有點(diǎn)像Ciresan等[5]采用的柱狀卷積神經(jīng)網(wǎng)絡(luò)躁劣,但是本文的列不是獨(dú)立的(見(jiàn)圖2)迫吐。與每個(gè)卷積層擁有本文一半的核,并且在一個(gè)GPU上訓(xùn)練的網(wǎng)絡(luò)相比,這種組合讓本文的top-1和top-5錯(cuò)誤率分別下降了1.7%和1.2%账忘。本文的2-GPU網(wǎng)絡(luò)訓(xùn)練時(shí)間比一個(gè)GPU的時(shí)間都要略少志膀。
3.3 局部響應(yīng)歸一化
ReLU具有讓人滿意的特性,它不需要通過(guò)輸入歸一化來(lái)防止飽和鳖擒。只要一些訓(xùn)練樣本產(chǎn)生一個(gè)正輸入給一個(gè)ReLU溉浙,那么在那個(gè)神經(jīng)元中學(xué)習(xí)就會(huì)開(kāi)始。然而蒋荚,我們?nèi)匀话l(fā)現(xiàn)接下來(lái)的局部響應(yīng)歸一化有助于增加泛化性能放航。這里,對(duì)同一個(gè)空間位置的n個(gè)鄰接核特征圖(kernel maps)求和圆裕,N是該層的核的總數(shù)目广鳍。核特征圖的順序顯然是任意的,并且在訓(xùn)練之前就已決定了的吓妆。這種響應(yīng)歸一化實(shí)現(xiàn)了側(cè)抑制的一種形式赊时,側(cè)抑制受啟發(fā)于一種在真實(shí)神經(jīng)中發(fā)現(xiàn)的形式,對(duì)利用不同核計(jì)算得到的神經(jīng)輸出之間的大的活躍度生成競(jìng)爭(zhēng)行拢。常量k祖秒,n,α,β是超參數(shù)竭缝,它們的值通過(guò)驗(yàn)證集確定房维;我們?cè)O(shè)k=2,n=5抬纸,α=0.0001咙俩,β=0.75。我們?cè)谔囟ǖ膶邮褂玫腞eLU非線性之后應(yīng)用了這種歸一化(請(qǐng)看3.5小節(jié))湿故。
這個(gè)方案與Jarrett等人[11]的局部對(duì)比度歸一化方案有一定的相似性阿趁,但我們更恰當(dāng)?shù)姆Q(chēng)其為“亮度歸一化”,因?yàn)楸疚臎](méi)有減去均值坛猪。響應(yīng)歸一化將top-1和top-5的錯(cuò)誤率分別降低了1.4%和1.2%脖阵。我們也在CIFAR-10數(shù)據(jù)集上驗(yàn)證了這個(gè)方案的有效性:一個(gè)四層的CNN網(wǎng)絡(luò)在未歸一化的情況下錯(cuò)誤率是13%,在歸一化的情況下是11%墅茉。
3.4 重疊池化
CNN中的池化層歸納了同一核特征上相鄰組神經(jīng)元的輸出命黔。習(xí)慣上,相鄰池化單元?dú)w納的區(qū)域是不重疊的(例如[17, 11, 4])就斤。更確切的說(shuō)纷铣,池化層可看作由池化單元網(wǎng)格組成,網(wǎng)格間距為s個(gè)像素战转,每個(gè)網(wǎng)格歸納池化單元中心位置z×z大小的鄰居搜立。如果設(shè)置s=z,我們會(huì)得到通常在CNN中采用的傳統(tǒng)局部池化槐秧。如果設(shè)置s<z啄踊,我們會(huì)得到重疊池化。這就是我們網(wǎng)絡(luò)中使用的方法刁标,設(shè)置s=2颠通,z=3。這個(gè)方案分別降低了top-1 0.4%膀懈,top-5 0.3%的錯(cuò)誤率顿锰,與非重疊方案s=2,z=2相比启搂,輸出的維度是相等的硼控。我們?cè)谟?xùn)練過(guò)程中通常觀察采用重疊池化的模型,發(fā)現(xiàn)它更難過(guò)擬合胳赌。
3.5 整體結(jié)構(gòu)
現(xiàn)在我們準(zhǔn)備描述我們的CNN的整體架構(gòu)牢撼。如圖2所示,我們的網(wǎng)絡(luò)包含8個(gè)帶權(quán)重的層疑苫;前5層是卷積層熏版,剩下的3層是全連接層纷责。最后一層全連接層的輸出傳遞給一個(gè)1000維softmax層,softmax會(huì)產(chǎn)生1000類(lèi)標(biāo)簽的分布撼短。我們的網(wǎng)絡(luò)最大化多項(xiàng)邏輯回歸的目標(biāo)再膳,這等價(jià)于最大化預(yù)測(cè)分布下訓(xùn)練樣本正確標(biāo)簽的對(duì)數(shù)概率的均值。
第2曲横,4喂柒,5卷積層的核只與位于同一GPU上的前一層的核映射相連接(看圖2)。第3卷積層的核與第2層的所有核映射相連胜榔。全連接層的神經(jīng)元與前一層的所有神經(jīng)元相連。第1湃番,2卷積層之后是響應(yīng)歸一化層夭织。3.4節(jié)描述的這種最大池化層在響應(yīng)歸一化層和第5卷積層之后。ReLU非線性應(yīng)用在每個(gè)卷積層和全連接層的輸出上吠撮。
第一層卷積層使用96個(gè)大小為11x11x3的卷積核對(duì)224x224x3的輸入圖像以4個(gè)像素為步長(zhǎng)(這是核特征圖中相鄰神經(jīng)元感受域中心之間的距離)進(jìn)行濾波尊惰。第二層卷積層將第一層卷積層的輸出(經(jīng)過(guò)響應(yīng)歸一化和池化)作為輸入,并使用256個(gè)大小為5x5x48的核對(duì)它進(jìn)行濾波泥兰。第三層弄屡、第四層和第五層的卷積層在沒(méi)有任何池化或者歸一化層介于其中的情況下相互連接。第三層卷積層有384個(gè)大小為3x3x256的核與第二層卷積層的輸出(已歸一化和池化)相連鞋诗。第四層卷積層有384個(gè)大小為3x3x192的核膀捷,第五層卷積層有256個(gè)大小為 的核。每個(gè)全連接層有4096個(gè)神經(jīng)元削彬。
圖2 本文CNN的結(jié)構(gòu)圖示全庸,明確地描述了兩個(gè)GPU之間的職責(zé)。一個(gè)GPU運(yùn)行圖上方的層融痛,另一個(gè)運(yùn)行圖下方的層壶笼。兩個(gè)GPU只在特定的層通信。網(wǎng)絡(luò)的輸入是150,528維的雁刷,網(wǎng)絡(luò)剩余層中的神經(jīng)元數(shù)目分別是253440覆劈,186624,64896沛励,64896责语,43264,4096目派,4096鹦筹,1000
4 減少過(guò)擬合
本文的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)有6千萬(wàn)個(gè)參數(shù)。盡管ILSVRC的1000個(gè)類(lèi)別使得每一個(gè)訓(xùn)練樣本利用10bit的數(shù)據(jù)就可以將圖像映射到標(biāo)簽上址貌,但是如果沒(méi)有大量的過(guò)擬合铐拐,是不足以學(xué)習(xí)這么多參數(shù)的徘键。接下來(lái),本文描述了兩種對(duì)抗過(guò)擬合的主要的方法遍蟋。
4.1 數(shù)據(jù)增強(qiáng)
圖像數(shù)據(jù)上最簡(jiǎn)單常用的用來(lái)減少過(guò)擬合的方法是使用標(biāo)簽保留變換(例如[25, 4, 5])來(lái)人工增大數(shù)據(jù)集吹害。我們使用了兩種獨(dú)特的數(shù)據(jù)增強(qiáng)方式,這兩種方式都可以從原始圖像通過(guò)非常少的計(jì)算量產(chǎn)生變換的圖像虚青,因此變換圖像不需要存儲(chǔ)在硬盤(pán)上它呀。在我們的實(shí)現(xiàn)中,變換圖像通過(guò)CPU的Python代碼生成棒厘,而此時(shí)GPU正在訓(xùn)練前一批圖像纵穿。因此,實(shí)際上這些數(shù)據(jù)增強(qiáng)方案是計(jì)算免費(fèi)的奢人。
第一種數(shù)據(jù)增強(qiáng)方式包括生成圖像變換和水平翻轉(zhuǎn)谓媒。我們從256×256圖像上通過(guò)隨機(jī)提取224 × 224的圖像塊實(shí)現(xiàn)了這種方式,然后在這些提取的圖像塊上進(jìn)行訓(xùn)練何乎。這個(gè)讓我們的訓(xùn)練集增大了2048倍((256-224)2*2=2048)句惯,盡管產(chǎn)生的這些訓(xùn)練樣本顯然是高度相互依賴的。如果不使用這個(gè)方法支救,本文的網(wǎng)絡(luò)會(huì)有大量的過(guò)擬合抢野,這將會(huì)迫使我們使用更小的網(wǎng)絡(luò)。在測(cè)試時(shí)各墨,網(wǎng)絡(luò)通過(guò)提取5個(gè)224x224塊(四個(gè)邊角塊和一個(gè)中心塊)以及它們的水平翻轉(zhuǎn)(因此共十個(gè)塊)做預(yù)測(cè)指孤,然后網(wǎng)絡(luò)的softmax層對(duì)這十個(gè)塊做出的預(yù)測(cè)取均值。
第二種數(shù)據(jù)增強(qiáng)方式包括改變訓(xùn)練圖像的RGB通道的強(qiáng)度贬堵。特別地邓厕,我們?cè)谡麄€(gè)ImageNet訓(xùn)練集上對(duì)RGB像素值集合執(zhí)行PCA。對(duì)每一幅訓(xùn)練圖像扁瓢,本文加上多倍的主成分详恼,倍數(shù)的值為相應(yīng)的特征值乘以一個(gè)均值為0標(biāo)準(zhǔn)差為0.1的高斯函數(shù)產(chǎn)生的隨機(jī)變量。因此對(duì)每一個(gè)RGB圖像像素Ix,y=[IRx,y , IGx,y , IBx,y]T加上如下的量,
[p1,p2,p3][α1λ1,α2λ2,α3λ3]T
pi引几,λi分別是RGB像素值3 × 3協(xié)方差矩陣的第i個(gè)特征向量和特征值昧互,αiαi是前面提到的隨機(jī)變量。對(duì)于某個(gè)訓(xùn)練圖像的所有像素伟桅,每個(gè)αi只獲取一次敞掘,直到圖像進(jìn)行下一次訓(xùn)練時(shí)才重新獲取。這個(gè)方案近似抓住了自然圖像的一個(gè)重要特性楣铁,即光照的顏色和強(qiáng)度發(fā)生變化時(shí)玖雁,目標(biāo)特性是不變的。這個(gè)方案降低了top 1錯(cuò)誤率1%
4.2 失活(Dropout)
結(jié)合多種不同模型的預(yù)測(cè)結(jié)果是一種可以降低測(cè)試誤差的非常成功的方法[1,3]盖腕,但是這對(duì)于已經(jīng)要花很多天來(lái)訓(xùn)練的大規(guī)模神經(jīng)網(wǎng)絡(luò)來(lái)說(shuō)顯得太耗費(fèi)時(shí)間了赫冬。但是浓镜,有一種非常有效的模型結(jié)合的方法,訓(xùn)練時(shí)間只需要原先的兩倍劲厌。最新研究的技術(shù)膛薛,叫做“dropout”[10],它將每一個(gè)隱藏神經(jīng)元的輸出以50%的概率設(shè)為0补鼻。這些以這種方式被“踢出”的神經(jīng)元不會(huì)參加前向傳遞哄啄,也不會(huì)加入反向傳播。因此每次有輸入時(shí)风范,神經(jīng)網(wǎng)絡(luò)采樣一個(gè)不同的結(jié)構(gòu)咨跌,但是所有這些結(jié)構(gòu)都共享權(quán)值。這個(gè)技術(shù)降低了神經(jīng)元之間復(fù)雜的聯(lián)合適應(yīng)性硼婿,因?yàn)橐粋€(gè)神經(jīng)元不是依賴于另一個(gè)特定的神經(jīng)元的存在的锌半。因此迫使要學(xué)到在連接其他神經(jīng)元的多個(gè)不同隨機(jī)子集的時(shí)候更魯棒性的特征。在測(cè)試時(shí)加酵,本文使用所有的神經(jīng)元拳喻,但對(duì)其輸出都乘以了0.5哭当,對(duì)采用多指數(shù)dropout網(wǎng)絡(luò)生成的預(yù)測(cè)分布的幾何平均數(shù)來(lái)說(shuō)這是一個(gè)合理的近似猪腕。
本文在圖2中的前兩個(gè)全連接層使用dropout。如果不采用dropout钦勘,本文的網(wǎng)絡(luò)將會(huì)出現(xiàn)大量的過(guò)擬合陋葡。Dropout大致地使達(dá)到收斂的迭代次數(shù)增加了一倍。
5 學(xué)習(xí)細(xì)節(jié)
我們使用隨機(jī)梯度下降來(lái)訓(xùn)練我們的模型彻采,樣本的batch size為128腐缤,動(dòng)量為0.9,權(quán)重衰減為0.0005肛响。我們發(fā)現(xiàn)少量的權(quán)重衰減對(duì)于模型的學(xué)習(xí)是重要的岭粤。換句話說(shuō),權(quán)重衰減不僅僅是一個(gè)正則項(xiàng):它減少了模型的訓(xùn)練誤差特笋。權(quán)重w的更新規(guī)則是是在點(diǎn)ωi虎囚,目標(biāo)對(duì)ω求得的導(dǎo)數(shù)的第i個(gè)batch:Di的均值。
本文對(duì)每一層的權(quán)值使用均值為0蔫磨、標(biāo)準(zhǔn)差為0.01的高斯分布進(jìn)行初始化淘讥。對(duì)第二層、第四層堤如、第五層卷積層以及全連接的隱藏層使用常數(shù)1初始化神經(jīng)元偏置項(xiàng)蒲列。這個(gè)初始化通過(guò)給ReLUs提供正輸入加快了學(xué)習(xí)的初始階段窒朋。本文對(duì)剩余的層使用常數(shù)0初始化神經(jīng)元偏置項(xiàng)。
本文對(duì)所有層使用相同的學(xué)習(xí)速率嫉嘀,這個(gè)由在整個(gè)學(xué)習(xí)過(guò)程中手動(dòng)地調(diào)整得到炼邀。我們采用啟發(fā)式算法:當(dāng)驗(yàn)證錯(cuò)誤率停止降低就將當(dāng)前學(xué)習(xí)速率除以10。本文的學(xué)習(xí)速率初始值設(shè)為0.01剪侮,在終止之前減小了三次拭宁。本文訓(xùn)練該網(wǎng)絡(luò)對(duì)120萬(wàn)的圖像訓(xùn)練集大約進(jìn)行了90個(gè)周期,使用了兩個(gè)NVIDIA GTX 580 3GB GPU瓣俯,花費(fèi)了5到6天的時(shí)間杰标。
圖3 第一層卷積層對(duì)224x224x3的輸入圖像使用96個(gè)大小為11x11x3的卷積核學(xué)習(xí)得到的特征圖。上面的48個(gè)卷積核在GPU1上學(xué)習(xí)彩匕,下面的48個(gè)卷積核在GPU2上學(xué)習(xí)腔剂。詳見(jiàn)6.1節(jié)
6 結(jié)果
我們?cè)贗LSVRC-2010上的結(jié)果概括為表1。我們的神經(jīng)網(wǎng)絡(luò)取得了top-1 37.5%驼仪,top-5 17.0%的錯(cuò)誤率掸犬。在ILSVRC-2010競(jìng)賽中最佳結(jié)果是top-1 47.1%,top-5 28.2%绪爸,采用的方法是對(duì)六個(gè)基于不同特征訓(xùn)練得到的稀疏編碼模型的預(yù)測(cè)結(jié)果求平均數(shù)[2]湾碎,此后最好的結(jié)果是45.7%和25.7%,采用的方法是對(duì)基于從兩種密集采樣特征計(jì)算得到的Fisher向量(FVs)奠货,訓(xùn)練得到兩個(gè)分類(lèi)器介褥,所得的預(yù)測(cè)結(jié)果求平均數(shù)[24]。
表1:ILSVRC-2010測(cè)試集上的結(jié)果對(duì)比递惋。斜體是其它方法取得的最好結(jié)果柔滔。
我們也用我們的模型參加了ILSVRC-2012競(jìng)賽并在表2中報(bào)告了我們的結(jié)果。由于ILSVRC-2012的測(cè)試集標(biāo)簽不是公開(kāi)的萍虽,我們不能報(bào)告我們嘗試的所有模型的測(cè)試錯(cuò)誤率睛廊。在本段的其余部分,我們會(huì)使用驗(yàn)證誤差率和測(cè)試誤差率互換杉编,因?yàn)樵谖覀兊膶?shí)驗(yàn)中它們的差別不會(huì)超過(guò)0.1%(看圖2)超全。本文中描述的CNN取得了top-5 18.2%的錯(cuò)誤率。五個(gè)類(lèi)似的CNN預(yù)測(cè)的平均誤差率為16.4%王财。我們?cè)谧詈蟮某鼗瘜又笤黾右粋€(gè)額外的第6個(gè)卷積層卵迂,使用整個(gè)ImageNet Fall 2011的數(shù)據(jù)(15M圖像,22000種類(lèi)別)作為分類(lèi)數(shù)據(jù)預(yù)訓(xùn)練得到的一個(gè)CNN绒净,再經(jīng)過(guò)微調(diào)见咒,用ILSVRC-2012對(duì)該CNN進(jìn)行測(cè)試得到的錯(cuò)誤率為16.6%。對(duì)上述的五個(gè)在整個(gè)Fall 2011數(shù)據(jù)集上預(yù)訓(xùn)練過(guò)的CNN挂疆,得到的預(yù)測(cè)求平均得到的錯(cuò)誤率結(jié)果為15.3%改览。當(dāng)時(shí)第二的隊(duì)伍得到的錯(cuò)誤率為26.2%下翎,使用的方法是對(duì)基于從多種密集采樣特征計(jì)算得到的FVs,訓(xùn)練得到多個(gè)分類(lèi)器的預(yù)測(cè)值求平均[7]宝当。
表2:ILSVRC-2012驗(yàn)證集和測(cè)試集的誤差對(duì)比视事。斜線部分是其它人取得的最好的結(jié)果。帶星號(hào)的是“預(yù)訓(xùn)練的”對(duì)ImageNet 2011秋季數(shù)據(jù)集進(jìn)行分類(lèi)的模型庆揩。更多細(xì)節(jié)請(qǐng)看第六節(jié)俐东。
最后,我們也報(bào)告了我們?cè)贗mageNet 2009秋季數(shù)據(jù)集上的誤差率订晌,ImageNet 2009秋季數(shù)據(jù)集有10,184個(gè)類(lèi)虏辫,890萬(wàn)張圖像。在這個(gè)數(shù)據(jù)集上我們按照慣例用一半的圖像來(lái)訓(xùn)練锈拨,一半的圖像來(lái)測(cè)試砌庄。由于沒(méi)有確定的測(cè)試集,我們的分割必然與前面作者使用的不一樣奕枢,但是這并不會(huì)明顯地影響結(jié)果娄昆。我們?cè)谠摂?shù)據(jù)集上得到top-1和top-5錯(cuò)誤率分別為67.4%和40.9%,這個(gè)結(jié)果是由在上述網(wǎng)絡(luò)的最后一個(gè)池化層加了第六層卷積層所得到的缝彬。之前在這個(gè)數(shù)據(jù)集上最好的結(jié)果是78.1%和60.9%[19]萌焰。
6.1 定性評(píng)估
圖3顯示了網(wǎng)絡(luò)的兩個(gè)數(shù)據(jù)連接層學(xué)習(xí)到的卷積核。網(wǎng)絡(luò)學(xué)習(xí)到了大量的頻率核跌造、方向選擇核杆怕,也學(xué)到了各種顏色點(diǎn)族购。注意兩個(gè)GPU表現(xiàn)出的專(zhuān)業(yè)化壳贪,3.5小節(jié)中描述的限制連接的結(jié)果。GPU1上的核主要是沒(méi)有顏色的寝杖,而GPU2上的核主要是針對(duì)顏色的违施。這種特殊化在每次運(yùn)行時(shí)都會(huì)發(fā)生,并且獨(dú)立于任何特定隨機(jī)權(quán)值初始化(模除GPU的重編號(hào))瑟幕。在圖4的左邊部分磕蒲,我們通過(guò)在8張測(cè)試圖像上計(jì)算它的top-5預(yù)測(cè)定性地評(píng)估了網(wǎng)絡(luò)學(xué)習(xí)到的東西。注意即使是不在圖像中心的目標(biāo)也能被網(wǎng)絡(luò)識(shí)別只盹,例如左上角的小蟲(chóng)辣往。大多數(shù)top-5標(biāo)簽都顯得很合理。例如殖卑,只有別的種類(lèi)的貓被似是而非貼上豹子的標(biāo)簽站削。在一些情況下(窗格、櫻桃)會(huì)存在對(duì)照片的意圖的判斷的含糊不清孵稽。
圖4:(左)8張ILSVRC-2010測(cè)試圖像和我們的模型認(rèn)為最可能的5個(gè)標(biāo)簽许起。每張圖像的下面是它的正確標(biāo)簽十偶,正確標(biāo)簽的概率用紅條表示(如果正確標(biāo)簽在top 5中)。(右)第一列是5張ILSVRC-2010測(cè)試圖像园细。剩下的列展示了6張訓(xùn)練圖像惦积,這些圖像在最后的隱藏層的特征向量與測(cè)試圖像的特征向量有最小的歐氏距離。
另一種探討網(wǎng)絡(luò)的視覺(jué)知識(shí)的方法就是考慮最終圖像在最后4096維隱藏層產(chǎn)生的特征激活度猛频。如果兩幅圖像生成的特征激活向量之間有較小的歐式距離狮崩,我們可以認(rèn)為神經(jīng)網(wǎng)絡(luò)的更高層特征認(rèn)為它們是相似的。圖4顯示了根據(jù)這種測(cè)度下的五幅測(cè)試集圖像和六幅跟他們最相似的訓(xùn)練集圖像鹿寻。注意在像素水平厉亏,第二列中檢索到的訓(xùn)練圖像一般地不會(huì)和第一列的查詢圖像相近。例如烈和,檢索到的狗和大象以多種姿勢(shì)出現(xiàn)爱只。我們?cè)谘a(bǔ)充材料中展示更多測(cè)試圖像的結(jié)果。
使用歐氏距離計(jì)算4096維招刹、實(shí)值向量之間的相似度效率較低恬试,但是可以通過(guò)訓(xùn)練一個(gè)自動(dòng)編碼器來(lái)將這些向量壓縮為短的二進(jìn)制編碼而提高效率。 這個(gè)相比將自動(dòng)編碼器直接應(yīng)用到原始像素上疯暑,是一個(gè)更加好的圖像檢索方法[14]训柴,前者沒(méi)有利用圖像的標(biāo)簽,因此會(huì)傾向于檢索到有相似邊界模式的圖像妇拯,而不論他們語(yǔ)義上是否相似幻馁。
7 探討
我們的結(jié)果表明一個(gè)大型深度卷積神經(jīng)網(wǎng)絡(luò)在一個(gè)具有高度挑戰(zhàn)性的數(shù)據(jù)集上僅使用有監(jiān)督學(xué)習(xí)可以取得破紀(jì)錄的結(jié)果。值得注意的是越锈,如果移除一個(gè)卷積層仗嗦,我們的網(wǎng)絡(luò)性能會(huì)降低。例如甘凭,移除任何中間層都會(huì)引起網(wǎng)絡(luò)損失大約2%的top-1性能稀拐。因此深度對(duì)于實(shí)現(xiàn)我們的結(jié)果非常重要。
為了簡(jiǎn)化本文的實(shí)驗(yàn)丹弱,我們沒(méi)有使用任何無(wú)監(jiān)督的預(yù)訓(xùn)練德撬,盡管我們認(rèn)為它會(huì)有所幫助,尤其是我們可以在標(biāo)簽數(shù)據(jù)沒(méi)有發(fā)生相應(yīng)增長(zhǎng)的情況下躲胳,獲得足夠的計(jì)算資源來(lái)增大我們網(wǎng)絡(luò)的大小蜓洪,能夠有足夠的計(jì)算能力去顯著地增加網(wǎng)絡(luò)的大小。到目前為止坯苹,由于我們使用更大的網(wǎng)絡(luò)網(wǎng)絡(luò)隆檀、訓(xùn)練了更長(zhǎng)時(shí)間,本文的結(jié)果已經(jīng)有所提高,但我們?nèi)匀挥泻芏嘈枨髞?lái)進(jìn)行時(shí)空下人類(lèi)視覺(jué)系統(tǒng)的研究刚操。最后我們想在視頻序列上使用非常大規(guī)模的深度卷積網(wǎng)絡(luò)闸翅,視頻序列的時(shí)序結(jié)構(gòu)會(huì)提供許多有幫助的信息,而這些信息在靜態(tài)圖像上是丟失了或者不那么明顯菊霜。