alexnet 论文翻译
ImageNet Classification with Deep Convolutional Neural Networks
Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton
摘要
我們訓(xùn)練了一個(gè)大型的深度卷積神經(jīng)網(wǎng)絡(luò),來(lái)將在ImageNet LSVRC-2010大賽中的120萬(wàn)張高清圖像分為1000個(gè)不同的類別。對(duì)測(cè)試數(shù)據(jù),我們得到了top-1誤差率37.5%,以及top-5誤差率17.0%,這個(gè)效果比之前最頂尖的都要好得多。該神經(jīng)網(wǎng)絡(luò)有6000萬(wàn)個(gè)參數(shù)和650,000個(gè)神經(jīng)元,由五個(gè)卷積層,以及某些卷積層后跟著的max-pooling層,和三個(gè)全連接層,還有排在最后的1000-way的softmax層組成。為了使訓(xùn)練速度更快,我們使用了非飽和的神經(jīng)元和一個(gè)非常高效的GPU關(guān)于卷積運(yùn)算的工具。為了減少全連接層的過(guò)擬合,我們采用了最新開發(fā)的正則化方法,稱為“dropout”,它已被證明是非常有效的。在ILSVRC-2012大賽中,我們又輸入了該模型的一個(gè)變體,并依靠top-5測(cè)試誤差率15.3%取得了勝利,相比較下,次優(yōu)項(xiàng)的錯(cuò)誤率是26.2%。
1 引言
當(dāng)前物體識(shí)別的方法基本上都使用了機(jī)器學(xué)習(xí)方法。為了改善這些方法的性能,我們可以收集更大的數(shù)據(jù)集,學(xué)習(xí)更強(qiáng)有力的模型,并使用更好的技術(shù),以防止過(guò)擬合。直到最近,標(biāo)記圖像的數(shù)據(jù)集都相當(dāng)小——大約數(shù)萬(wàn)張圖像(例如,NORB [16],Caltech-101/256 [8, 9],以及CIFAR-10/100 [12])。簡(jiǎn)單的識(shí)別任務(wù)可以用這種規(guī)模的數(shù)據(jù)集解決得相當(dāng)好,特別是當(dāng)它們用標(biāo)簽-保留轉(zhuǎn)換增強(qiáng)了的時(shí)候。例如,在MNIST數(shù)字識(shí)別任務(wù)中當(dāng)前最好的誤差率(<0.3%)接近于人類的表現(xiàn)[4]。但是現(xiàn)實(shí)環(huán)境中的物體表現(xiàn)出相當(dāng)大的變化,因此要學(xué)習(xí)它們以對(duì)它們進(jìn)行識(shí)別就必須使用更大的訓(xùn)練集。事實(shí)上,小規(guī)模圖像數(shù)據(jù)集的缺陷已被廣泛認(rèn)同(例如,Pinto等人[21]),但是直到最近,收集有著上百萬(wàn)張圖像的帶標(biāo)簽數(shù)據(jù)集才成為可能。更大型的新數(shù)據(jù)集包括LabelMe [23],它由幾十萬(wàn)張完全分割圖組成,還有ImageNet [6],它由多于22,000個(gè)種類中超過(guò)1500萬(wàn)張帶標(biāo)簽的高分辨率圖像組成。?
為了從幾百萬(wàn)張圖像中學(xué)習(xí)數(shù)以千計(jì)的物體,我們需要一個(gè)學(xué)習(xí)能力更強(qiáng)的模型。然而,物體識(shí)別任務(wù)的極大復(fù)雜性意味著這個(gè)問(wèn)題不能被指定,即使是通過(guò)與ImageNet一樣大的數(shù)據(jù)集,所以我們的模型中也應(yīng)該有大量的先驗(yàn)知識(shí),以補(bǔ)償我們所沒(méi)有的全部數(shù)據(jù)。卷積神經(jīng)網(wǎng)絡(luò)(CNN)構(gòu)成了一個(gè)這種類型的模型[16, 11, 13, 18, 15, 22, 26]。它們的能力可以通過(guò)改變其深度與廣度得到控制,它們也可作出有關(guān)圖像性質(zhì)的強(qiáng)壯且多半正確的假設(shè)(即,統(tǒng)計(jì)數(shù)據(jù)的穩(wěn)定性和像素依賴關(guān)系的局部性)。因此,與層次規(guī)模相同的標(biāo)準(zhǔn)前饋神經(jīng)網(wǎng)絡(luò)相比,CNN的連接關(guān)系和參數(shù)更少,所以更易于訓(xùn)練,而其理論上的最佳性能可能只略差一點(diǎn)。?
不論CNN的性質(zhì)多有吸引力,也不論它們局部結(jié)構(gòu)的相對(duì)效率有多高,將它們大規(guī)模地應(yīng)用到高分辨率圖像中仍然是極其昂貴的。幸運(yùn)的是,目前的GPU搭配了一個(gè)高度優(yōu)化的2D卷積工具,強(qiáng)大到足以促進(jìn)大規(guī)模CNN的訓(xùn)練,而且最近的數(shù)據(jù)集像ImageNet包含足夠的帶標(biāo)簽的樣例來(lái)訓(xùn)練這樣的模型,還不會(huì)有嚴(yán)重的過(guò)擬合。?
本文的具體貢獻(xiàn)如下:我們?cè)贗LSVRC-2010和ILSVRC-2012大賽中使用過(guò)的ImageNet的子集上[2],訓(xùn)練了迄今為止最大型的卷積神經(jīng)網(wǎng)絡(luò)之一,并取得了迄今為止在這些數(shù)據(jù)集上報(bào)告過(guò)的最好結(jié)果。我們寫了一個(gè)高度優(yōu)化的GPU二維卷積工具以及訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)過(guò)程中的所有其他操作,這些我們都提供了公開地址。我們的網(wǎng)絡(luò)中包含一些既新鮮而又不同尋常的特征,它們提高了網(wǎng)絡(luò)的性能,并減少了網(wǎng)絡(luò)的訓(xùn)練時(shí)間,這些詳見第3節(jié)。我們的網(wǎng)絡(luò)中甚至有120萬(wàn)個(gè)帶標(biāo)簽的訓(xùn)練樣本,這么大的規(guī)模使得過(guò)擬合成為一個(gè)顯著的問(wèn)題,所以我們使用了幾種有效的方法來(lái)防止過(guò)擬合,這些在第4節(jié)中給以描述。我們最終的網(wǎng)絡(luò)包含五個(gè)卷積層和三個(gè)全連接層,且這種層次深度似乎是重要的:我們發(fā)現(xiàn),移去任何卷積層(其中每一個(gè)包含的模型參數(shù)都不超過(guò)1%)都會(huì)導(dǎo)致性能變差。?
最后,網(wǎng)絡(luò)的規(guī)模主要受限于當(dāng)前GPU的可用內(nèi)存和我們?cè)敢馊萑痰挠?xùn)練時(shí)間。我們的網(wǎng)絡(luò)在兩塊GTX 580 3GB GPU上訓(xùn)練需要五到六天。我們所有的實(shí)驗(yàn)表明,等更快的GPU和更大的數(shù)據(jù)集可用以后,我們的結(jié)果就可以輕而易舉地得到改進(jìn)。
2 數(shù)據(jù)集
ImageNet是一個(gè)擁有超過(guò)1500萬(wàn)張帶標(biāo)簽的高分辨率圖像的數(shù)據(jù)集,這些圖像分屬于大概22,000個(gè)類別。這些圖像是從網(wǎng)上收集,并使用Amazon Mechanical Turk群眾外包工具來(lái)人工貼標(biāo)簽的。作為PASCAL視覺(jué)目標(biāo)挑戰(zhàn)賽的一部分,一年一度的ImageNet大型視覺(jué)識(shí)別挑戰(zhàn)賽(ILSVRC)從2010年開始就已經(jīng)在舉辦了。ILSVRC使用ImageNet的一個(gè)子集,分為1000種類別,每種類別中都有大約1000張圖像。總之,大約有120萬(wàn)張訓(xùn)練圖像,50,000張驗(yàn)證圖像和150,000張測(cè)試圖像。?
ILSVRC-2010是ILSVRC中能獲得測(cè)試集標(biāo)簽的唯一版本,因此這也就是我們完成大部分實(shí)驗(yàn)的版本。由于我們也在ILSVRC-2012上輸入了模型,在第6節(jié)中我們也會(huì)報(bào)告這個(gè)數(shù)據(jù)集版本上的結(jié)果,該版本上的測(cè)試集標(biāo)簽難以獲取。在ImageNet上,習(xí)慣性地報(bào)告兩個(gè)誤差率:top-1和top-5,其中top-5誤差率是指測(cè)試圖像上正確標(biāo)簽不屬于被模型認(rèn)為是最有可能的五個(gè)標(biāo)簽的百分比。?
ImageNet由各種分辨率的圖像組成,而我們的系統(tǒng)需要一個(gè)恒定的輸入維數(shù)。因此,我們下采樣這些圖像到固定的分辨率256×256。給定一張矩形圖像,我們首先重新縮放圖像,使得短邊長(zhǎng)度為256,然后從得到的圖像中裁剪出中央256×256的一片。除了遍歷訓(xùn)練集從每個(gè)像素中減去平均活躍度外,我們沒(méi)有以任何其他方式預(yù)處理圖像。所以我們用這些像素(中央那一片的)原始RGB值訓(xùn)練網(wǎng)絡(luò)。
3 體系結(jié)構(gòu)
圖2總結(jié)了我們網(wǎng)絡(luò)的體系結(jié)構(gòu)。它包含八個(gè)學(xué)習(xí)層——五個(gè)卷積層和三個(gè)全連接層。下面,我們將介紹該網(wǎng)絡(luò)體系結(jié)構(gòu)的一些新穎獨(dú)特的功能。3.1-3.4是根據(jù)我們對(duì)于其重要性的估計(jì)來(lái)排序的,最重要的排在最前面。
3.1 ReLU非線性
將神經(jīng)元的輸出f,作為其輸入x的函數(shù),對(duì)其建模的標(biāo)準(zhǔn)方法是用或者。就梯度下降的訓(xùn)練時(shí)間而言,這些飽和非線性函數(shù)比不飽和非線性函數(shù)要慢得多。我們跟隨Nair和Hinton[20]稱這種不飽和非線性的神經(jīng)元為修正線性單元(ReLU)。訓(xùn)練帶ReLUs的深度卷積神經(jīng)網(wǎng)絡(luò)比帶tanh單元的同等網(wǎng)絡(luò)要快好幾倍。如圖1所示,它顯示出對(duì)于特定的四層卷積網(wǎng)絡(luò),在CIFAR-10數(shù)據(jù)集上達(dá)到25%的訓(xùn)練誤差所需的迭代次數(shù)。此圖顯示,如果我們使用了傳統(tǒng)的飽和神經(jīng)元模型,就不能用如此大的神經(jīng)網(wǎng)絡(luò)來(lái)對(duì)該工作完成實(shí)驗(yàn)。
圖1:帶ReLU的四層卷積神經(jīng)網(wǎng)絡(luò)(實(shí)線)在CIFAR-10數(shù)據(jù)集上達(dá)到25%訓(xùn)練誤差率要比帶tanh神經(jīng)元的同等網(wǎng)絡(luò)(虛線)快六倍。每個(gè)網(wǎng)絡(luò)的學(xué)習(xí)速率是獨(dú)立選取的,以使得訓(xùn)練盡可能快。沒(méi)有使用任何形式的正則化。這里演示的效果因網(wǎng)絡(luò)結(jié)構(gòu)的不同而不同,但帶ReLU的網(wǎng)絡(luò)學(xué)習(xí)始終比帶飽和神經(jīng)元的同等網(wǎng)絡(luò)快好幾倍。
我們不是第一個(gè)在CNN中考慮傳統(tǒng)神經(jīng)元模型的替代品的。例如,Jarrett等人[11]聲稱,非線性函數(shù)由于其后隨局部average pooling的對(duì)比度歸一化的類型,它在Caltech-101數(shù)據(jù)集上工作得特別好。然而,在該數(shù)據(jù)集上的主要關(guān)注點(diǎn)是防止過(guò)擬合,所以他們正在觀察的效果不同于我們報(bào)告的為擬合訓(xùn)練集使用ReLU時(shí)的加速能力。更快的學(xué)習(xí)對(duì)大型數(shù)據(jù)集上訓(xùn)練的大型模型的性能有很大影響。
3.2 在多個(gè)GPU上訓(xùn)練
單個(gè)GTX 580 GPU只有3GB內(nèi)存,這限制了可以在其上訓(xùn)練的網(wǎng)絡(luò)的最大規(guī)模。事實(shí)證明,120萬(wàn)個(gè)訓(xùn)練樣本才足以訓(xùn)練網(wǎng)絡(luò),這網(wǎng)絡(luò)太大了,不適合在一個(gè)GPU上訓(xùn)練。因此我們將網(wǎng)絡(luò)分布在兩個(gè)GPU上。目前的GPU特別適合跨GPU并行化,因?yàn)樗鼈兡軌蛑苯訌牧硪粋€(gè)GPU的內(nèi)存中讀出和寫入,不需要通過(guò)主機(jī)內(nèi)存。我們采用的并行方案基本上是在每個(gè)GPU中放置一半核(或神經(jīng)元),還有一個(gè)額外的技巧:GPU間的通訊只在某些層進(jìn)行。這就是說(shuō),例如,第3層的核需要從第2層中所有核映射輸入。然而,第4層的核只需要從第3層中位于同一GPU的那些核映射輸入。選擇連接模式是一個(gè)交叉驗(yàn)證的問(wèn)題,但是這讓我們可以精確地調(diào)整通信量,直到它的計(jì)算量在可接受的部分。?
由此產(chǎn)生的體系結(jié)構(gòu)有點(diǎn)類似于Ciresan等人提出的“柱狀”CNN的體系結(jié)構(gòu)[5],不同之處在于我們的縱列不是獨(dú)立的(見圖2)。與在一個(gè)GPU上訓(xùn)練的每個(gè)卷積層有一半核的網(wǎng)絡(luò)比較,該方案將我們的top-1與top-5誤差率分別減少了1.7%與1.2%。訓(xùn)練雙GPU網(wǎng)絡(luò)比訓(xùn)練單GPU網(wǎng)絡(luò)花費(fèi)的時(shí)間略少一些 (實(shí)際上單GPU網(wǎng)絡(luò)與雙GPU網(wǎng)絡(luò)在最后的卷積層有著相同數(shù)量的核。這是因?yàn)榇蠖鄶?shù)網(wǎng)絡(luò)的參數(shù)在第一個(gè)全連接層,這需要上一個(gè)卷積層作為輸入。所以,為了使兩個(gè)網(wǎng)絡(luò)有數(shù)目大致相同的參數(shù),我們不把最后一個(gè)卷積層大小減半(也不把它后面跟隨的全連接層減半)。因此,這種比較關(guān)系更偏向有利于單GPU網(wǎng)絡(luò),因?yàn)樗入pGPU網(wǎng)絡(luò)的“一半大小”要大)。
?
3.4 池化重疊
CNN中的匯聚層總結(jié)在相同核圖中的相鄰神經(jīng)元組的輸出。 傳統(tǒng)上,由相鄰池單元概括的鄰域不重疊(例如,[17,11,4])。 更準(zhǔn)確地說(shuō),池層可以被認(rèn)為是由間隔為s個(gè)像素的池單元網(wǎng)格組成,每個(gè)池匯總了以池單元的位置為中心的大小為z×z的鄰域。如果我們?cè)O(shè)置s = z,我們獲得在CNN中常用的傳統(tǒng)的局部合并。 如果我們?cè)O(shè)置s <z,我們獲得重疊池。 這是我們?cè)谡麄€(gè)網(wǎng)絡(luò)中使用的,其中s = 2和z = 3。與非重疊方案相比,該方案分別將前1和前5錯(cuò)誤率降低0.4%和0.3%s = 2,z = 2,產(chǎn)生等效尺寸的輸出。 我們通常在訓(xùn)練期間觀察到具有重疊池的模型發(fā)現(xiàn)它稍微更難以過(guò)度擬合
3.3 局部響應(yīng)歸一化
ReLU具有所希望的特性,它們不需要輸入歸一化來(lái)防止它們達(dá)到飽和。如果至少有一些訓(xùn)練樣例對(duì)ReLU產(chǎn)生了正輸入,學(xué)習(xí)就將發(fā)生在那個(gè)神經(jīng)元。可是,我們?nèi)匀话l(fā)現(xiàn)下列局部歸一化方案有助于一般化。用表示點(diǎn)處通過(guò)應(yīng)用核 計(jì)算出的神經(jīng)元激活度,然后應(yīng)用ReLU非線性,響應(yīng)歸一化活性由下式給出?
?
其中求和覆蓋了n個(gè)“相鄰的”位于相同空間位置的核映射,N是該層中的核總數(shù)。核映射的順序當(dāng)然是任意的,且在訓(xùn)練開始前就確定。受到在真實(shí)神經(jīng)元中發(fā)現(xiàn)的類型啟發(fā),這種響應(yīng)歸一化實(shí)現(xiàn)了一種側(cè)向抑制,在使用不同核計(jì)算神經(jīng)元輸出的過(guò)程中創(chuàng)造對(duì)大激活度的競(jìng)爭(zhēng)。常數(shù)k,n,α和β是超參數(shù),它們的值要用驗(yàn)證集來(lái)確定;我們使用。我們?cè)谀承討?yīng)用ReLU歸一化后再應(yīng)用這種歸一化(見3.5節(jié))。?
該方案與Jarrett等人的局部對(duì)比度歸一化方案具有一些相似之處[11],但我們的方案更正確的命名為“亮度歸一化”,因?yàn)槲覀儾粶p去平均活躍度。響應(yīng)歸一化將我們的top-1與top-5誤差率分別減少了1.4%與1.2%。我們也驗(yàn)證了該方案在CIFAR-10數(shù)據(jù)集上的有效性:四層CNN不帶歸一化時(shí)的測(cè)試誤差率是13%,帶歸一化時(shí)是11%(由于版面有限我們不能詳細(xì)描述該網(wǎng)絡(luò),但這里提供的代碼和參數(shù)文件對(duì)其有精確詳細(xì)的說(shuō)明:http://code.google.com/p/cuda-convnet/)。
3.4 重疊Pooling
CNN中的Pooling層總結(jié)了同一核映射中鄰近神經(jīng)元組的輸出。傳統(tǒng)上,通過(guò)鄰接pooling單元總結(jié)的鄰近關(guān)系不重疊(例如,[17,11,4])。更準(zhǔn)確地說(shuō),一個(gè)pooling層可以被認(rèn)為是由間隔s像素的pooling單元網(wǎng)格組成,每個(gè)網(wǎng)格總結(jié)出一個(gè)z×z大小的鄰近關(guān)系,都位于pooling單元的中心位置。若設(shè)s=z,我們得到傳統(tǒng)的局部pooling,正如常用于CNN中的那樣。若設(shè)s
3.5 總體結(jié)構(gòu)
現(xiàn)在,我們已經(jīng)準(zhǔn)備好描述CNN的總體結(jié)構(gòu)。如圖2所示,該網(wǎng)絡(luò)包括八個(gè)帶權(quán)層;前五層是卷積層,剩下三層是全連接層。最后一個(gè)全連接層的輸出被送到一個(gè)1000-way的softmax層,其產(chǎn)生一個(gè)覆蓋1000類標(biāo)簽的分布。我們的網(wǎng)絡(luò)使得多分類的Logistic回歸目標(biāo)最大化,這相當(dāng)于最大化了預(yù)測(cè)分布下訓(xùn)練樣本中正確標(biāo)簽的對(duì)數(shù)概率平均值。
圖2:CNN體系結(jié)構(gòu)示意圖,明確顯示了兩個(gè)GPU之間的職責(zé)劃分。一個(gè)GPU運(yùn)行圖中頂部的層次部分,而另一個(gè)GPU運(yùn)行圖中底部的層次部分。GPU之間僅在某些層互相通信。該網(wǎng)絡(luò)的輸入是150,528維的,且該網(wǎng)絡(luò)剩下各層的神經(jīng)元數(shù)分別為253,440–186,624–64,896–64,896–43,264–4096–4096–1000。
第二、第四和第五個(gè)卷積層的核只連接到前一個(gè)卷積層也位于同一GPU中的那些核映射上(見圖2)。第三個(gè)卷積層的核被連接到第二個(gè)卷積層中的所有核映射上。全連接層中的神經(jīng)元被連接到前一層中所有的神經(jīng)元上。響應(yīng)歸一化層跟在第一、第二個(gè)卷積層后面。3.4節(jié)中描述的那種最大Pooling層,跟在響應(yīng)歸一化層以及第五個(gè)卷積層之后。ReLU非線性應(yīng)用于每個(gè)卷積層及全連接層的輸出。?
第一個(gè)卷積層利用96個(gè)大小為11×11×3、步長(zhǎng)為4個(gè)像素(這是同一核映射中鄰近神經(jīng)元的感受野中心之間的距離)的核,來(lái)對(duì)大小為224×224×3的輸入圖像進(jìn)行濾波。第二個(gè)卷積層需要將第一個(gè)卷積層的(響應(yīng)歸一化及池化的)輸出作為自己的輸入,且利用256個(gè)大小為5×5×48的核對(duì)其進(jìn)行濾波。第三、第四和第五個(gè)卷積層彼此相連,沒(méi)有任何介于中間的pooling層與歸一化層。第三個(gè)卷積層有384個(gè)大小為3×3×256的核被連接到第二個(gè)卷積層的(歸一化的、池化的)輸出。第四個(gè)卷積層擁有384個(gè)大小為3×3×192的核,第五個(gè)卷積層擁有256個(gè)大小為3×3×192的核。全連接層都各有4096個(gè)神經(jīng)元。
4 減少過(guò)擬合
我們的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)有6000萬(wàn)個(gè)參數(shù)。雖然ILSVRC的1000個(gè)類別使得每個(gè)訓(xùn)練樣本強(qiáng)加10比特約束到從圖像到標(biāo)簽的映射上,這顯示出要學(xué)習(xí)如此多的參數(shù)而不帶相當(dāng)大的過(guò)擬合,這些類別是不夠的。下面,我們描述減少過(guò)擬合的兩種主要方法。
4.1 數(shù)據(jù)增強(qiáng)
減少圖像數(shù)據(jù)過(guò)擬合最簡(jiǎn)單最常用的方法,是使用標(biāo)簽-保留轉(zhuǎn)換,人為地?cái)U(kuò)大數(shù)據(jù)集(例如,[25,4,5])。我們使用數(shù)據(jù)增強(qiáng)的兩種不同形式,這兩種形式都允許轉(zhuǎn)換圖像用很少的計(jì)算量從原始圖像中產(chǎn)生,所以轉(zhuǎn)換圖像不需要存儲(chǔ)在磁盤上。在我們的實(shí)現(xiàn)中,轉(zhuǎn)換圖像是由CPU上的Python代碼生成的,而GPU是在之前那一批圖像上訓(xùn)練的。所以這些數(shù)據(jù)增強(qiáng)方案實(shí)際上是計(jì)算自由。?
數(shù)據(jù)增強(qiáng)的第一種形式由生成圖像轉(zhuǎn)化和水平反射組成。為此,我們從256×256的圖像中提取隨機(jī)的224×224的碎片(還有它們的水平反射),并在這些提取的碎片上訓(xùn)練我們的網(wǎng)絡(luò)(這就是圖2中輸入圖像是224×224×3維的原因)。這使得我們的訓(xùn)練集規(guī)模擴(kuò)大了2048倍,但是由此產(chǎn)生的訓(xùn)練樣例一定高度地相互依賴。如果沒(méi)有這個(gè)方案,我們的網(wǎng)絡(luò)會(huì)有大量的過(guò)擬合,這將迫使我們使用小得多的網(wǎng)絡(luò)。在測(cè)試時(shí),該網(wǎng)絡(luò)通過(guò)提取五個(gè)224×224的碎片(四個(gè)邊角碎片和中心碎片)連同它們的水平反射(因此總共是十個(gè)碎片)做出了預(yù)測(cè),并在這十個(gè)碎片上來(lái)平均該網(wǎng)絡(luò)的softmax層做出的預(yù)測(cè)。?
數(shù)據(jù)增強(qiáng)的第二種形式包含改變訓(xùn)練圖像中RGB通道的強(qiáng)度。具體來(lái)說(shuō),我們?cè)诒榧罢麄€(gè)ImageNet訓(xùn)練集的RGB像素值集合中執(zhí)行PCA。對(duì)于每個(gè)訓(xùn)練圖像,我們成倍增加已有主成分,比例大小為對(duì)應(yīng)特征值乘以一個(gè)從均值為0,標(biāo)準(zhǔn)差為0.1的高斯分布中提取的隨機(jī)變量。這樣一來(lái),對(duì)于每個(gè)RGB圖像像素,我們?cè)黾酉旅孢@項(xiàng):?
?
其中與分別是RGB像素值的3×3協(xié)方差矩陣的第i個(gè)特征向量與特征值,是前面提到的隨機(jī)變量。每個(gè)對(duì)于特定訓(xùn)練圖像的全部像素只提取一次,直到那個(gè)圖像再次被用于訓(xùn)練,在那時(shí)它被重新提取。這個(gè)方案大致抓住了自然圖像的一個(gè)重要屬性,即,光照強(qiáng)度與顏色是變化的,而對(duì)象識(shí)別是不變的。該方案將top-1誤差率減少了1%以上。
4.2 Dropout
結(jié)合許多不同模型的預(yù)測(cè)是一種非常成功的減少測(cè)試誤差的方式[1,3],但它先前訓(xùn)練花了好幾天時(shí)間,似乎對(duì)于大型神經(jīng)網(wǎng)絡(luò)來(lái)說(shuō)太過(guò)昂貴。然而,有一個(gè)非常有效的模型組合版本,它在訓(xùn)練中只花費(fèi)兩倍于單模型的時(shí)間。最近推出的叫做“dropout”的技術(shù)[10],它做的就是以0.5的概率將每個(gè)隱層神經(jīng)元的輸出設(shè)置為零。以這種方式“dropped out”的神經(jīng)元既不利于前向傳播,也不參與反向傳播。所以每次提出一個(gè)輸入,該神經(jīng)網(wǎng)絡(luò)就嘗試一個(gè)不同的結(jié)構(gòu),但是所有這些結(jié)構(gòu)之間共享權(quán)重。因?yàn)樯窠?jīng)元不能依賴于其他特定神經(jīng)元而存在,所以這種技術(shù)降低了神經(jīng)元復(fù)雜的互適應(yīng)關(guān)系。正因如此,要被迫學(xué)習(xí)更為魯棒的特征,這些特征在結(jié)合其他神經(jīng)元的一些不同隨機(jī)子集時(shí)有用。在測(cè)試時(shí),我們將所有神經(jīng)元的輸出都僅僅只乘以0.5,對(duì)于獲取指數(shù)級(jí)dropout網(wǎng)絡(luò)產(chǎn)生的預(yù)測(cè)分布的幾何平均值,這是一個(gè)合理的近似方法。?
我們?cè)趫D2中前兩個(gè)全連接層使用dropout。如果沒(méi)有dropout,我們的網(wǎng)絡(luò)會(huì)表現(xiàn)出大量的過(guò)擬合。dropout使收斂所需的迭代次數(shù)大致增加了一倍。
5 學(xué)習(xí)的詳細(xì)過(guò)程
我們使用隨機(jī)梯度下降法和一批大小為128、動(dòng)力為0.9、權(quán)重衰減為0.0005的樣例來(lái)訓(xùn)練我們的網(wǎng)絡(luò)。我們發(fā)現(xiàn),這少量的權(quán)重衰減對(duì)于模型學(xué)習(xí)是重要的。換句話說(shuō),這里的權(quán)重衰減不僅僅是一個(gè)正則化矩陣:它減少了模型的訓(xùn)練誤差。對(duì)于權(quán)重w的更新規(guī)則為?
?
其中i是迭代指數(shù),v是動(dòng)力變量,ε是學(xué)習(xí)率,是目標(biāo)關(guān)于w、對(duì)?求值的導(dǎo)數(shù)在第i批樣例?上的平均值。?
我們用一個(gè)均值為0、標(biāo)準(zhǔn)差為0.01的高斯分布初始化了每一層的權(quán)重。我們用常數(shù)1初始化了第二、第四和第五個(gè)卷積層以及全連接隱層的神經(jīng)元偏差。該初始化通過(guò)提供帶正輸入的ReLU來(lái)加速學(xué)習(xí)的初級(jí)階段。我們?cè)谄溆鄬佑贸?shù)0初始化神經(jīng)元偏差。?
我們對(duì)于所有層都使用了相等的學(xué)習(xí)率,這是在整個(gè)訓(xùn)練過(guò)程中手動(dòng)調(diào)整的。我們遵循的啟發(fā)式是,當(dāng)驗(yàn)證誤差率在當(dāng)前學(xué)習(xí)率下不再提高時(shí),就將學(xué)習(xí)率除以10。學(xué)習(xí)率初始化為0.01,在終止前降低三次。我們訓(xùn)練該網(wǎng)絡(luò)時(shí)大致將這120萬(wàn)張圖像的訓(xùn)練集循環(huán)了90次,在兩個(gè)NVIDIA GTX 580 3GB GPU上花了五到六天。
6 結(jié)果
我們?cè)贗LSVRC-2010測(cè)試集上的結(jié)果總結(jié)于表1中。我們的網(wǎng)絡(luò)實(shí)現(xiàn)了top-1測(cè)試集誤差率37.5%,top-5測(cè)試集誤差率17.0%?(若沒(méi)有如4.1節(jié)所述的在十個(gè)碎片上平均預(yù)測(cè),誤差率是39.0%與18.3%)。ILSVRC-2010大賽中取得的最好表現(xiàn)是47.1%與28.2%,它的方法是用不同特征訓(xùn)練六個(gè)sparse-coding模型,對(duì)這些模型產(chǎn)生的預(yù)測(cè)求平均值[2],自那以后公布的最好結(jié)果是45.7%與25.7%,它的方法是從兩類密集采樣的特征中計(jì)算出費(fèi)舍爾向量(FV),用費(fèi)舍爾向量訓(xùn)練兩個(gè)分類器,再對(duì)這兩個(gè)分類器的預(yù)測(cè)求平均值[24]。
表1:ILSVRC-2010測(cè)試集上的結(jié)果比較。斜體字是他人取得的最好結(jié)果。
我們也在ILSVRC-2012大賽中輸入了我們的模型,并在表2中報(bào)告結(jié)果。由于ILSVRC-2012測(cè)試集標(biāo)簽是不公開的,我們不能對(duì)試過(guò)的所有模型都報(bào)告測(cè)試誤差率。在本段的其余部分,我們將驗(yàn)證誤差率與測(cè)試誤差率互換,因?yàn)楦鶕?jù)我們的經(jīng)驗(yàn),它們之間相差不超過(guò)0.1%(見表2)。本文所描述的CNN實(shí)現(xiàn)了18.2%的top-5誤差率。對(duì)五個(gè)相似CNN的預(yù)測(cè)求平均值得出了16.4%的誤差率。訓(xùn)練一個(gè)在最末pooling層之后還有一個(gè)額外的第六個(gè)卷積層的CNN,用以對(duì)整個(gè)ImageNet 2011年秋季發(fā)布的圖像(15M張圖像,22K種類別)進(jìn)行分類,然后在ILSVRC-2012上“微調(diào)”它,這種方法得出了16.6%的誤差率。用在整個(gè)2011年秋季發(fā)布的圖像上預(yù)訓(xùn)練的兩個(gè)CNN,結(jié)合先前提到的五個(gè)CNN,再對(duì)這七個(gè)CNN作出的預(yù)測(cè)求平均值,這種方法得出了15.3%的誤差率。比賽中的第二名實(shí)現(xiàn)了26.2%的誤差率,用的方法是從不同類密集采樣的特征中計(jì)算FV,用FV訓(xùn)練幾個(gè)分類器,再對(duì)這幾個(gè)分類器的預(yù)測(cè)求平均值[7]。
表2:在ILSVRC-2012驗(yàn)證集與測(cè)試集上的誤差率比較。斜體字是由他人取得的最好結(jié)果。帶星號(hào)的模型是經(jīng)過(guò)“預(yù)訓(xùn)練”以對(duì)整個(gè)ImageNet 2011年秋季發(fā)布的圖像集進(jìn)行分類的。詳見第6節(jié)。
最后,我們還報(bào)告在ImageNet 2009年秋季版本上的誤差率,該版本有10,184種類別與890萬(wàn)張圖像。在這個(gè)數(shù)據(jù)集上,我們按照文獻(xiàn)慣例,用一半圖像來(lái)訓(xùn)練,用另一半圖像來(lái)測(cè)試。由于沒(méi)有確定的測(cè)試集,我們的劃分必然不同于以前的作者使用的劃分,但這并不會(huì)明顯地影響到結(jié)果。我們?cè)谠摂?shù)據(jù)集上的top-1誤差率和top-5誤差率分別為67.4%和40.9%,這是通過(guò)上述的網(wǎng)絡(luò)得到的,但還有個(gè)附加條件,第六個(gè)卷積層接在最后一個(gè)pooling層之后。該數(shù)據(jù)集上公布的最佳結(jié)果是78.1%和60.9%[19]。
6.1 定性評(píng)價(jià)
圖3顯示了通過(guò)該網(wǎng)絡(luò)的兩個(gè)數(shù)據(jù)連接層學(xué)習(xí)到的卷積核。該網(wǎng)絡(luò)已經(jīng)學(xué)習(xí)到各種各樣的頻率與方向選擇核,以及各種顏色的斑點(diǎn)。注意兩個(gè)GPU顯現(xiàn)出的特性,3.5節(jié)中描述了一個(gè)結(jié)果是限制連接。GPU1上的核大多數(shù)顏色不明確,而GPU2上的核大多數(shù)顏色明確。這種特性在每一次運(yùn)行中都會(huì)出現(xiàn),且獨(dú)立于所有特定的隨機(jī)權(quán)重初始化(以GPU的重新編數(shù)為模)。
圖3:通過(guò) 的輸入圖像上第一個(gè)卷積層學(xué)習(xí)到的96個(gè)大小為 的卷積核。頂部的48個(gè)核是從GPU1上學(xué)到的,底部的48個(gè)核是從GPU2上學(xué)到的。詳見6.1節(jié)。
在圖4左邊面板上,通過(guò)計(jì)算該網(wǎng)絡(luò)在八個(gè)測(cè)試圖像上的top-5預(yù)測(cè),我們定性地判斷它學(xué)到了什么。注意到即使是偏離中心的物體,比如左上角的一小塊,也可以被網(wǎng)絡(luò)識(shí)別。大多數(shù)的top-5標(biāo)簽似乎合情合理。例如,只有其他類型的貓科動(dòng)物被認(rèn)為是對(duì)豹貌似合理的標(biāo)簽。在某些情況下(鐵柵、櫻桃),對(duì)于圖片意圖的焦點(diǎn)存在歧義。
圖4:(左圖)八個(gè)ILSVRC-2010測(cè)試圖像,以及被我們的模型認(rèn)為最有可能的五個(gè)標(biāo)簽。正確的標(biāo)簽寫在每個(gè)圖像下面,正確標(biāo)簽的概率也以紅色條予以顯示(若它在前5之內(nèi))。(右圖)第一列是五個(gè)ILSVRC-2010測(cè)試圖像。其余列顯示了六個(gè)訓(xùn)練圖像,它們?cè)谧詈蟮碾[層產(chǎn)生的特征向量與測(cè)試圖像的特征向量有最小的歐氏距離。
探測(cè)網(wǎng)絡(luò)的視覺(jué)知識(shí)有另一種方法,就是考慮由位于最后的4096維隱層上的圖像引起的特征激活。如果兩個(gè)圖像用小歐氏分離產(chǎn)生了特征激活向量,我們可以說(shuō),在神經(jīng)網(wǎng)絡(luò)的更高級(jí)別上認(rèn)為它們是相似的。圖4顯示了測(cè)試集中的五個(gè)圖像,以及訓(xùn)練集中根據(jù)這一標(biāo)準(zhǔn)與其中每一個(gè)最相似的六個(gè)圖像。注意,在像素級(jí)別,檢索到的訓(xùn)練圖像一般不會(huì)接近第一列中的查詢圖像。例如,檢索到的狗和大象表現(xiàn)出各種各樣的姿勢(shì)。我們會(huì)在補(bǔ)充材料里給出更多測(cè)試圖像的結(jié)果。?
通過(guò)使用兩個(gè)4096維實(shí)值向量之間的歐氏距離來(lái)計(jì)算相似性是低效的,但它可以通過(guò)訓(xùn)練一個(gè)自動(dòng)編碼器將這些向量壓縮為短的二進(jìn)制代碼來(lái)變得高效。這應(yīng)該會(huì)產(chǎn)生一個(gè)比應(yīng)用自動(dòng)編碼器到原始像素要好得多的圖像檢索方法[14],它不利用圖像標(biāo)簽,此后還有一種用相似邊緣圖案來(lái)檢索圖像的傾向,而不論它們?cè)谡Z(yǔ)義上是否相似。
7 討論
我們的研究結(jié)果表明,大型深度卷積神經(jīng)網(wǎng)絡(luò)在一個(gè)非常具有挑戰(zhàn)性的數(shù)據(jù)集上使用純粹的監(jiān)督學(xué)習(xí),能夠達(dá)到破紀(jì)錄的結(jié)果。值得注意的是,如果有一個(gè)卷積層被移除,我們的網(wǎng)絡(luò)性能就會(huì)降低。例如,除去任何中間層都將導(dǎo)致該網(wǎng)絡(luò)的top-1性能有2%的損失。所以該層次深度對(duì)于達(dá)到我們的結(jié)果確實(shí)是重要的。?
為了簡(jiǎn)化實(shí)驗(yàn),我們沒(méi)有使用任何無(wú)監(jiān)督的預(yù)訓(xùn)練,即使我們預(yù)計(jì)它將帶來(lái)幫助,特別是我們可以獲得足夠的計(jì)算能力來(lái)顯著地?cái)U(kuò)大網(wǎng)絡(luò)規(guī)模,而不帶來(lái)標(biāo)記數(shù)據(jù)量的相應(yīng)增加。到目前為止,我們的結(jié)果有所改善,因?yàn)槲覀円呀?jīng)讓網(wǎng)絡(luò)更大,訓(xùn)練時(shí)間更久,但是為了匹配人類視覺(jué)系統(tǒng)的infero-temporal路徑,我們?nèi)匀挥懈叩臄?shù)量級(jí)要去達(dá)到。最終我們想要在視頻序列上使用非常大型的深度卷積網(wǎng)絡(luò),其中的瞬時(shí)結(jié)構(gòu)會(huì)提供非常有用的信息,這些信息在靜態(tài)圖像中丟失了或極不明顯。
參考文獻(xiàn)
[1] R.M. Bell and Y. Koren. Lessons from the netflix prize challenge. ACM SIGKDD Explorations Newsletter, 9(2):75–79, 2007.?
[2] A. Berg, J. Deng, and L. Fei-Fei. Large scale visual recognition challenge 2010. www.image-net.org/challenges. 2010.?
[3] L. Breiman. Random forests. Machine learning, 45(1):5–32, 2001.?
[4] D. Cires?an, U. Meier, and J. Schmidhuber. Multi-column deep neural networks for image classification. Arxiv preprint arXiv:1202.2745, 2012.?
[5] D.C. Cires?an, U. Meier, J. Masci, L.M. Gambardella, and J. Schmidhuber. High-performance neural networks for visual object classification. Arxiv preprint arXiv:1102.0183, 2011.?
[6] J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, and L. Fei-Fei. ImageNet: A Large-Scale Hierarchical Image Database. In CVPR09, 2009.?
[7] J. Deng, A. Berg, S. Satheesh, H. Su, A. Khosla, and L. Fei-Fei. ILSVRC-2012, 2012. URL?http://www.image-net.org/challenges/LSVRC/2012/.?
[8] L. Fei-Fei, R. Fergus, and P. Perona. Learning generative visual models from few training examples: An incremental bayesian approach tested on 101 object categories. Computer Vision and Image Understanding, 106(1):59–70, 2007.?
[9] G. Griffin, A. Holub, and P. Perona. Caltech-256 object category dataset. Technical Report 7694, California Institute of Technology, 2007. URL?http://authors.library.caltech.edu/7694.?
[10] G.E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever, and R.R. Salakhutdinov. Improving neural networks by preventing co-adaptation of feature detectors. arXiv preprint arXiv:1207.0580, 2012.?
[11] K. Jarrett, K. Kavukcuoglu, M. A. Ranzato, and Y. LeCun. What is the best multi-stage architecture for object recognition? In International Conference on Computer Vision, pages 2146–2153. IEEE, 2009.?
[12] A. Krizhevsky. Learning multiple layers of features from tiny images. Master’s thesis, Department of Computer Science, University of Toronto, 2009.?
[13] A. Krizhevsky. Convolutional deep belief networks on cifar-10. Unpublished manuscript, 2010.?
[14] A. Krizhevsky and G.E. Hinton. Using very deep autoencoders for content-based image retrieval. In ESANN, 2011.?
[15] Y. Le Cun, B. Boser, J.S. Denker, D. Henderson, R.E. Howard, W. Hubbard, L.D. Jackel, et al. Handwritten digit recognition with a back-propagation network. In Advances in neural information processing systems, 1990.?
[16] Y. LeCun, F.J. Huang, and L. Bottou. Learning methods for generic object recognition with invariance to pose and lighting. In Computer Vision and Pattern Recognition, 2004. CVPR 2004. Proceedings of the 2004 IEEE Computer Society Conference on, volume 2, pages II–97. IEEE, 2004.?
[17] Y. LeCun, K. Kavukcuoglu, and C. Farabet. Convolutional networks and applications in vision. In Circuits and Systems (ISCAS), Proceedings of 2010 IEEE International Symposium on, pages 253–256. IEEE, 2010.?
[18] H. Lee, R. Grosse, R. Ranganath, and A.Y. Ng. Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations. In Proceedings of the 26th Annual International Conference on Machine Learning, pages 609–616. ACM, 2009.?
[19] T. Mensink, J. Verbeek, F. Perronnin, and G. Csurka. Metric Learning for Large Scale Image Classification: Generalizing to New Classes at Near-Zero Cost. In ECCV - European Conference on Computer Vision, Florence, Italy, October 2012.?
[20] V. Nair and G. E. Hinton. Rectified linear units improve restricted boltzmann machines. In Proc. 27th International Conference on Machine Learning, 2010.?
[21] N. Pinto, D.D. Cox, and J.J. DiCarlo. Why is real-world visual object recognition hard? PLoS computational biology, 4(1):e27, 2008.?
[22] N. Pinto, D. Doukhan, J.J. DiCarlo, and D.D. Cox. A high-throughput screening approach to discovering good forms of biologically inspired visual representation. PLoS computational biology, 5(11):e1000579, 2009.?
[23] B.C. Russell, A. Torralba, K.P. Murphy, and W.T. Freeman. Labelme: a database and web-based tool for image annotation. International journal of computer vision, 77(1):157–173, 2008.?
[24] J. Sánchez and F. Perronnin. High-dimensional signature compression for large-scale image classification. In Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on, pages 1665–1672. IEEE, 2011.?
[25] P.Y. Simard, D. Steinkraus, and J.C. Platt. Best practices for convolutional neural networks applied to visual document analysis. In Proceedings of the Seventh International Conference on Document Analysis and Recognition, volume 2, pages 958–962, 2003.?
[26] S.C. Turaga, J.F. Murray, V. Jain, F. Roth, M. Helmstaedter, K. Briggman, W. Denk, and H.S. Seung. Convolutional networks can learn to generate affinity graphs for image segmentation. Neural Computation, 22(2):511–538, 2010.
總結(jié)
以上是生活随笔為你收集整理的alexnet 论文翻译的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Caffe学习笔记4图像特征进行可视化
- 下一篇: ALEX net 解读