1. 程式人生 > >中文版 ImageNet Classification with Deep Convolutional Neural Networks

中文版 ImageNet Classification with Deep Convolutional Neural Networks

rest bat 幫助 lin 直接 cif 原始的 出了 war

ImageNet Classification with Deep Convolutional Neural Networks

摘要

我們訓練了一個大型深度卷積神經網絡來將ImageNet LSVRC-2010競賽的120萬高分辨率的圖像分到1000不同的類別中。在測試數據上,我們得到了top-1 37.5%, top-5 17.0%的錯誤率,這個結果比目前的最好結果好很多。這個神經網絡有6000萬參數和650000個神經元,包含5個卷積層(某些卷積層後面帶有池化層)和3個全連接層,最後是一個1000維的softmax。為了訓練的更快,我們使用了非飽和神經元並對卷積操作進行了非常有效的GPU實現。為了減少全連接層的過擬合,我們采用了一個最近開發的名為dropout

的正則化方法,結果證明是非常有效的。我們也使用這個模型的一個變種參加了ILSVRC-2012競賽,贏得了冠軍並且與第二名 top-5 26.2%的錯誤率相比,我們取得了top-5 15.3%的錯誤率。

1 引言

當前的目標識別方法基本上都使用了機器學習方法。為了提高目標識別的性能,我們可以收集更大的數據集,學習更強大的模型,使用更好的技術來防止過擬合。直到最近,標註圖像的數據集都相對較小--在幾萬張圖像的數量級上(例如,NORB[16],Caltech-101/256 [8, 9]和CIFAR-10/100 [12])。簡單的識別任務在這樣大小的數據集上可以被解決的相當好,尤其是如果通過標簽保留變換進行數據增強的情況下。例如,目前在MNIST數字識別任務上(<0.3%)的最好準確率已經接近了人類水平[4]。但真實環境中的對象表現出了相當大的可變性,因此為了學習識別它們,有必要使用更大的訓練數據集。實際上,小圖像數據集的缺點已經被廣泛認識到(例如,Pinto et al. [21]),但收集上百萬圖像的標註數據僅在最近才變得的可能。新的更大的數據集包括LabelMe [23],它包含了數十萬張完全分割的圖像,ImageNet [6],它包含了22000個類別上的超過1500萬張標註的高分辨率的圖像。

為了從數百萬張圖像中學習幾千個對象,我們需要一個有很強學習能力的模型。然而對象識別任務的巨大復雜性意味著這個問題不能被指定,即使通過像ImageNet這樣的大數據集,因此我們的模型應該也有許多先驗知識來補償我們所沒有的數據。卷積神經網絡(CNNs)構成了一個這樣的模型[16, 11, 13, 18, 15, 22, 26]。它們的能力可以通過改變它們的廣度和深度來控制,它們也可以對圖像的本質進行強大且通常正確的假設(也就是說,統計的穩定性和像素依賴的局部性)。因此,與具有層次大小相似的標準前饋神經網絡,CNNs有更少的連接和參數,因此它們更容易訓練,而它們理論上的最佳性能可能僅比標準前饋神經網絡差一點。

盡管CNN具有引人註目的質量,盡管它們的局部架構相當有效,但將它們大規模的應用到到高分辨率圖像中仍然是極其昂貴的。幸運的是,目前的GPU,搭配了高度優化的2D卷積實現,強大到足夠促進有趣地大量CNN的訓練,最近的數據集例如ImageNet包含足夠的標註樣本來訓練這樣的模型而沒有嚴重的過擬合。

本文具體的貢獻如下:我們在ILSVRC-2010和ILSVRC-2012[2]的ImageNet子集上訓練了到目前為止最大的神經網絡之一,並取得了迄今為止在這些數據集上報道過的最好結果。我們編寫了高度優化的2D卷積GPU實現以及訓練卷積神經網絡內部的所有其它操作,我們把它公開了。我們的網絡包含許多新的不尋常的特性,這些特性提高了神經網絡的性能並減少了訓練時間,詳見第三節。即使使用了120萬標註的訓練樣本,我們的網絡尺寸仍然使過擬合成為一個明顯的問題,因此我們使用了一些有效的技術來防止過擬合,詳見第四節。我們最終的網絡包含5個卷積層和3個全連接層,深度似乎是非常重要的:我們發現移除任何卷積層(每個卷積層包含的參數不超過模型參數的1%)都會導致更差的性能。

最後,網絡尺寸主要受限於目前GPU的內存容量和我們能忍受的訓練時間。我們的網絡在兩個GTX 580 3GB GPU上訓練五六天。我們的所有實驗表明我們的結果可以簡單地通過等待更快的GPU和更大的可用數據集來提高。

2 數據集

ImageNet數據集有超過1500萬的標註高分辨率圖像,這些圖像屬於大約22000個類別。這些圖像是從網上收集的,使用了Amazon’s Mechanical Turk的眾包工具通過人工標註的。從2010年起,作為Pascal視覺對象挑戰賽的一部分,每年都會舉辦ImageNet大規模視覺識別挑戰賽(ILSVRC)。ILSVRC使用ImageNet的一個子集,1000個類別每個類別大約1000張圖像。總計,大約120萬訓練圖像,50000張驗證圖像和15萬測試圖像。

ILSVRC-2010是ILSVRC競賽中唯一可以獲得測試集標簽的版本,因此我們大多數實驗都是在這個版本上運行的。由於我們也使用我們的模型參加了ILSVRC-2012競賽,因此在第六節我們也報告了模型在這個版本的數據集上的結果,這個版本的測試標簽是不可獲得的。在ImageNet上,按照慣例報告兩個錯誤率:top-1top-5top-5錯誤率是指測試圖像的正確標簽不在模型認為的五個最可能的便簽之中。

ImageNet包含各種分辨率的圖像,而我們的系統要求不變的輸入維度。因此,我們將圖像進行下采樣到固定的256×256分辨率。給定一個矩形圖像,我們首先縮放圖像短邊長度為256,然後從結果圖像中裁剪中心的256×256大小的圖像塊。除了在訓練集上對像素減去平均活躍度外,我們不對圖像做任何其它的預處理。因此我們在原始的RGB像素值(中心的)上訓練我們的網絡。

3 架構

我們的網絡架構概括為圖2。它包含八個學習層--5個卷積層和3個全連接層。下面,我們將描述我們網絡結構中的一些新奇的不尋常的特性。3.1-3.4小節按照我們對它們評估的重要性進行排序,最重要的最有先。

3.1 ReLU非線性

將神經元輸出f建模為輸入x的函數的標準方式是用f(x) = tanh(x)f(x) = (1 + e−x)−1。考慮到梯度下降的訓練時間,這些飽和的非線性比非飽和非線性f(x) = max(0,x)更慢。根據Nair和Hinton[20]的說法,我們將這種非線性神經元稱為修正線性單元(ReLU)。采用ReLU的深度卷積神經網絡訓練時間比等價的tanh單元要快幾倍。在圖1中,對於一個特定的四層卷積網絡,在CIFAR-10數據集上達到25%的訓練誤差所需要的叠代次數可以證實這一點。這幅圖表明,如果我們采用傳統的飽和神經元模型,我們將不能在如此大的神經網絡上實驗該工作。

技術分享圖片

圖1:使用ReLU的四層卷積神經網絡在CIFAR-10數據集上達到25%的訓練誤差比使用tanh神經元的等價網絡(虛線)快六倍。為了使訓練盡可能快,每個網絡的學習率是單獨選擇的。沒有采用任何類型的正則化。影響的大小隨著網絡結構的變化而變化,這一點已得到證實,但使用ReLU的網絡都比等價的飽和神經元快幾倍。

我們不是第一個考慮替代CNN中傳統神經元模型的人。例如,Jarrett等人[11]聲稱非線性函數f(x) = |tanh(x)|與其對比度歸一化一起,然後是局部均值池化,在Caltech-101數據集上工作的非常好。然而,在這個數據集上主要的關註點是防止過擬合,因此他們觀測到的影響不同於我們使用ReLU擬合數據集時的加速能力。更快的學習對大型數據集上大型模型的性能有很大的影響。

3.2 多GPU訓練

單個GTX580 GPU只有3G內存,這限制了可以在GTX580上進行訓練的網絡最大尺寸。事實證明120萬圖像用來進行網絡訓練是足夠的,但網絡太大因此不能在單個GPU上進行訓練。因此我們將網絡分布在兩個GPU上。目前的GPU非常適合跨GPU並行,因為它們可以直接互相讀寫內存,而不需要通過主機內存。我們采用的並行方案基本上每個GPU放置一半的核(或神經元),還有一個額外的技巧:只在某些特定的層上進行GPU通信。這意味著,例如,第3層的核會將第2層的所有核映射作為輸入。然而,第4層的核只將位於相同GPU上的第3層的核映射作為輸入。連接模式的選擇是一個交叉驗證問題,但這可以讓我們準確地調整通信數量,直到它的計算量在可接受的範圍內。

除了我們的列不是獨立的之外(看圖2),最終的架構有點類似於Ciresan等人[5]采用的“columnar” CNN。與每個卷積層一半的核在單GPU上訓練的網絡相比,這個方案降分別低了我們的top-1 1.7%top-5 1.2%的錯誤率。雙GPU網絡比單GPU網絡稍微減少了訓練時間。

技術分享圖片

圖 2:我們CNN架構圖解,明確描述了兩個GPU之間的責任。在圖的頂部,一個GPU運行在部分層上,而在圖的底部,另一個GPU運行在部分層上。GPU只在特定的層進行通信。網絡的輸入是150,528維,網絡剩下層的神經元數目分別是253,440–186,624–64,896–64,896–43,264–4096–4096–1000(8層)。

3.3 局部響應歸一化

ReLU具有讓人滿意的特性,它不需要通過輸入歸一化來防止飽和。如果至少一些訓練樣本對ReLU產生了正輸入,那麽那個神經元上將發生學習。然而,我們仍然發現接下來的局部響應歸一化有助於泛化。aix,yax,yi表示神經元激活,通過在(x,y)(x,y)位置應用核ii,然後應用ReLU非線性來計算,響應歸一化激活bix,ybx,yi通過下式給定:

bix,y=aix,y/(k+αj=max(0,in/2)min(N1,i+n/2)(aix,y)2)βbx,yi=ax,yi/(k+α∑j=max(0,i−n/2)min(N−1,i+n/2)(ax,yi)2)β

求和運算在n個“毗鄰的”核映射的同一位置上執行,N是本層的卷積核數目。核映射的順序當然是任意的,在訓練開始前確定。響應歸一化的順序實現了一種側抑制形式,靈感來自於真實神經元中發現的類型,為使用不同核進行神經元輸出計算的較大活動創造了競爭。常量k,n,α,β是超參數,它們的值通過驗證集確定;我們設k=2,n=5,α=0.0001,β=0.75。我們在特定的層使用的ReLU非線性之後應用了這種歸一化(請看3.5小節)。

這個方案與Jarrett等人[11]的局部對比度歸一化方案有一定的相似性,但我們更恰當的稱其為“亮度歸一化”,因此我們沒有減去均值。響應歸一化分別減少了top-1 1.4%top-5 1.2%的錯誤率。我們也在CIFAR-10數據集上驗證了這個方案的有效性:一個沒有歸一化的四層CNN取得了13%的錯誤率,而使用歸一化取得了11%的錯誤率。

3.4 重疊池化

CNN中的池化層歸納了同一核映射上相鄰組神經元的輸出。習慣上,相鄰池化單元歸納的區域是不重疊的(例如[17, 11, 4])。更確切的說,池化層可看作由池化單元網格組成,網格間距為ss個像素,每個網格歸納池化單元中心位置z×zz×z大小的鄰居。如果設置s=zs=z,我們會得到通常在CNN中采用的傳統局部池化。如果設置s<zs<z,我們會得到重疊池化。這就是我們網絡中使用的方法,設置s=2s=2,z=3z=3。這個方案分別降低了top-1 0.4%top-5 0.3%的錯誤率,與非重疊方案s=2z=2s=2,z=2相比,輸出的維度是相等的。我們在訓練過程中通常觀察采用重疊池化的模型,發現它更難過擬合。

3.5 整體架構

現在我們準備描述我們的CNN的整體架構。如圖2所示,我們的網絡包含8個帶權重的層;前5層是卷積層,剩下的3層是全連接層。最後一層全連接層的輸出是1000維softmax的輸入,softmax會產生1000類標簽的分布。我們的網絡最大化多項邏輯回歸的目標,這等價於最大化預測分布下訓練樣本正確標簽的對數概率的均值。

第2,4,5卷積層的核只與位於同一GPU上的前一層的核映射相連接(看圖2)。第3卷積層的核與第2層的所有核映射相連。全連接層的神經元與前一層的所有神經元相連。第1,2卷積層之後是響應歸一化層。3.4節描述的這種最大池化層在響應歸一化層和第5卷積層之後。ReLU非線性應用在每個卷積層和全連接層的輸出上。

第1卷積層使用96個核對224 × 224 × 3的輸入圖像進行濾波,核大小為11 × 11 × 3,步長是4個像素(核映射中相鄰神經元感受野中心之間的距離)。第2卷積層使用用第1卷積層的輸出(響應歸一化和池化)作為輸入,並使用256個核進行濾波,核大小為5 × 5 × 48。第3,4,5卷積層互相連接,中間沒有接入池化層或歸一化層。第3卷積層有384個核,核大小為3 × 3 × 256,與第2卷積層的輸出(歸一化的,池化的)相連。第4卷積層有384個核,核大小為3 × 3 × 192,第5卷積層有256個核,核大小為3 × 3 × 192。每個全連接層有4096個神經元。

4 減少過擬合

我們的神經網絡架構有6000萬參數。盡管ILSVRC的1000類使每個訓練樣本從圖像到標簽的映射上強加了10比特的約束,但這不足以學習這麽多的參數而沒有相當大的過擬合。下面,我們會描述我們用來克服過擬合的兩種主要方式。

4.1 數據增強

圖像數據上最簡單常用的用來減少過擬合的方法是使用標簽保留變換(例如[25, 4, 5])來人工增大數據集。我們使用了兩種獨特的數據增強方式,這兩種方式都可以從原始圖像通過非常少的計算量產生變換的圖像,因此變換圖像不需要存儲在硬盤上。在我們的實現中,變換圖像通過CPU的Python代碼生成,而此時GPU正在訓練前一批圖像。因此,實際上這些數據增強方案是計算免費的。

第一種數據增強方式包括產生圖像變換和水平翻轉。我們從256×256圖像上通過隨機提取224 × 224的圖像塊實現了這種方式,然後在這些提取的圖像塊上進行訓練。這通過一個2048因子增大了我們的訓練集,盡管最終的訓練樣本是高度相關的。沒有這個方案,我們的網絡會有大量的過擬合,這會迫使我們使用更小的網絡。在測試時,網絡會提取5個224 × 224的圖像塊(四個角上的圖像塊和中心的圖像塊)和它們的水平翻轉(因此總共10個圖像塊)進行預測,然後對網絡在10個圖像塊上的softmax層進行平均。

第二種數據增強方式包括改變訓練圖像的RGB通道的強度。具體地,我們在整個ImageNet訓練集上對RGB像素值集合執行PCA。對於每幅訓練圖像,我們加上多倍找到的主成分,大小成正比的對應特征值乘以一個隨機變量,隨機變量通過均值為0,標準差為0.1的高斯分布得到。因此對於每幅RGB圖像像素Ixy=[IRxy,IGxy,IBxy]TIxy=[IxyR,IxyG,IxyB]T,我們加上下面的數量:

[p1,p2,p3][α1λ1,α2λ2,α3λ3]T[p1,p2,p3][α1λ1,α2λ2,α3λ3]T

pipi,λiλi分別是RGB像素值3 × 3協方差矩陣的第ii個特征向量和特征值,αiαi是前面提到的隨機變量。對於某個訓練圖像的所有像素,每個αiαi只獲取一次,直到圖像進行下一次訓練時才重新獲取。這個方案近似抓住了自然圖像的一個重要特性,即光照的顏色和強度發生變化時,目標身份是不變的。這個方案減少了top 1錯誤率1%以上

4.2 失活(Dropout)

將許多不同模型的預測結合起來是降低測試誤差[1, 3]的一個非常成功的方法,但對於需要花費幾天來訓練的大型神經網絡來說,這似乎太昂貴了。然而,有一個非常有效的模型結合版本,它只花費兩倍的訓練成本。這種最近引入的技術,叫做“dropout”[10],它會以0.5的概率對每個隱層神經元的輸出設為0。那些“失活的”的神經元不再進行前向傳播並且不參與反向傳播。因此每次輸入時,神經網絡會采樣一個不同的架構,但所有架構共享權重。這個技術減少了復雜的神經元互適應,因為一個神經元不能依賴特定的其它神經元的存在。因此,神經元被強迫學習更魯棒的特征,它在與許多不同的其它神經元的隨機子集結合時是有用的。在測試時,我們使用所有的神經元但它們的輸出乘以0.5,對指數級的許多失活網絡的預測分布進行幾何平均,這是一種合理的近似。

我們在圖2中的前兩個全連接層使用失活。如果沒有失活,我們的網絡表現出大量的過擬合。失活大致上使要求收斂的叠代次數翻了一倍。

5 學習細節

我們使用隨機梯度下降來訓練我們的模型,樣本的batch size為128,動量為0.9,權重衰減為0.0005。我們發現少量的權重衰減對於模型的學習是重要的。換句話說,權重衰減不僅僅是一個正則項:它減少了模型的訓練誤差。權重ww的更新規則是

vi+1:=0.9?vi0.0005?ε?wiε??Lw|wi?Divi+1:=0.9?vi−0.0005?ε?wi−ε??∂L∂w|wi?Di

ii是叠代索引,vv是動量變量,εε是學習率,?Lw|wi?Di?∂L∂w|wi?Di是目標函數對ww,在wiwi上的第ii批微分DiDi的平均。

我們使用均值為0,標準差為0.01的高斯分布對每一層的權重進行初始化。我們在第2,4,5卷積層和全連接隱層將神經元偏置初始化為常量1。這個初始化通過為ReLU提供正輸入加速了學習的早期階段。我們在剩下的層將神經元偏置初始化為0。

我們對所有的層使用相等的學習率,這個是在整個訓練過程中我們手動調整得到的。當驗證誤差在當前的學習率下停止提供時,我們遵循啟發式的方法將學習率除以10。學習率初始化為0.01,在訓練停止之前降低三次。我們在120萬圖像的訓練數據集上訓練神經網絡大約90個循環,在兩個NVIDIA GTX 580 3GB GPU上花費了五到六天。

6 結果

我們在ILSVRC-2010上的結果概括為表1。我們的神經網絡取得了top-1 37.5%top-5 17.0%的錯誤率。在ILSVRC-2010競賽中最佳結果是top-1 47.1%top-5 28.2%,使用的方法是對6個在不同特征上訓練的稀疏編碼模型生成的預測進行平均,從那時起已公布的最好結果是top-1 45.7%top-5 25.7%,使用的方法是平均在Fisher向量(FV)上訓練的兩個分類器的預測結果,Fisher向量是通過兩種密集采樣特征計算得到的[24]。

技術分享圖片

表1:ILSVRC-2010測試集上的結果對比。斜體是其它人取得的最好結果。

我們也用我們的模型參加了ILSVRC-2012競賽並在表2中報告了我們的結果。由於ILSVRC-2012的測試集標簽不可以公開得到,我們不能報告我們嘗試的所有模型的測試錯誤率。在這段的其余部分,我們會使用驗證誤差率和測試誤差率互換,因為在我們的實驗中它們的差別不會超過0.1%(看圖2)。本文中描述的CNN取得了top-5 18.2%的錯誤率。五個類似的CNN預測的平均誤差率為16.4%。為了對ImageNet 2011秋季發布的整個數據集(1500萬圖像,22000個類別)進行分類,我們在最後的池化層之後有一個額外的第6卷積層,訓練了一個CNN,然後在它上面進行“fine-tuning”,在ILSVRC-2012取得了16.6%的錯誤率。對在ImageNet 2011秋季發布的整個數據集上預訓練的兩個CNN和前面提到的五個CNN的預測進行平均得到了15.3%的錯誤率。第二名的最好競賽輸入取得了26.2%的錯誤率,他的方法是對FV上訓練的一些分類器的預測結果進行平均,FV在不同類型密集采樣特征計算得到的。

技術分享圖片

表2:ILSVRC-2012驗證集和測試集的誤差對比。斜線部分是其它人取得的最好的結果。帶星號的是“預訓練的”對ImageNet 2011秋季數據集進行分類的模型。更多細節請看第六節。

最後,我們也報告了我們在ImageNet 2009秋季數據集上的誤差率,ImageNet 2009秋季數據集有10,184個類,890萬圖像。在這個數據集上我們按照慣例用一半的圖像來訓練,一半的圖像來測試。由於沒有建立測試集,我們的數據集分割有必要不同於以前作者的數據集分割,但這對結果沒有明顯的影響。我們在這個數據集上的的top-1和top-5錯誤率是67.4%和40.9%,使用的是上面描述的在最後的池化層之後有一個額外的第6卷積層網絡。這個數據集上公開可獲得的最好結果是78.1%和60.9%[19]。

6.1 定性評估

圖3顯示了網絡的兩個數據連接層學習到的卷積核。網絡學習到了大量的頻率核、方向選擇核,也學到了各種顏色點。註意兩個GPU表現出的專業化,3.5小節中描述的受限連接的結果。GPU 1上的核主要是沒有顏色的,而GPU 2上的核主要是針對顏色的。這種專業化在每次運行時都會發生,並且是與任何特別的隨機權重初始化(以GPU的重新編號為模)無關的。

技術分享圖片

圖3:第一卷積層在224×224×3的輸入圖像上學習到的大小為11×11×3的96個卷積核。上面的48個核是在GPU 1上學習到的而下面的48個卷積核是在GPU 2上學習到的。更多細節請看6.1小節。

在圖4的左邊部分,我們通過在8張測試圖像上計算它的top-5預測定性地評估了網絡學習到的東西。註意即使是不在圖像中心的目標也能被網絡識別,例如左上角的小蟲。大多數的top-5標簽似乎是合理的。例如,對於美洲豹來說,只有其它類型的貓被認為是看似合理的標簽。在某些案例(格柵,櫻桃)中,網絡在意的圖片焦點真的很含糊。

技術分享圖片

圖4:(左)8張ILSVRC-2010測試圖像和我們的模型認為最可能的5個標簽。每張圖像的下面是它的正確標簽,正確標簽的概率用紅條表示(如果正確標簽在top 5中)。(右)第一列是5張ILSVRC-2010測試圖像。剩下的列展示了6張訓練圖像,這些圖像在最後的隱藏層的特征向量與測試圖像的特征向量有最小的歐氏距離。

探索網絡可視化知識的另一種方式是思考最後的4096維隱藏層在圖像上得到的特征激活。如果兩幅圖像生成的特征激活向量之間有較小的歐式距離,我們可以認為神經網絡的更高層特征認為它們是相似的。圖4表明根據這個度量標準,測試集的5張圖像和訓練集的6張圖像中的每一張都是最相似的。註意在像素級別,檢索到的訓練圖像與第一列的查詢圖像在L2上通常是不接近的。例如,檢索的狗和大象似乎有很多姿態。我們在補充材料中對更多的測試圖像呈現了這種結果。

通過兩個4096維實值向量間的歐氏距離來計算相似性是效率低下的,但通過訓練一個自動編碼器將這些向量壓縮為短二值編碼可以使其變得高效。這應該會產生一種比將自動編碼器應用到原始像素上[14]更好的圖像檢索方法,自動編碼器應用到原始像素上的方法沒有使用圖像標簽,因此會趨向於檢索與要檢索的圖像具有相似邊緣模式的圖像,無論它們是否是語義上相似。

7 探討

我們的結果表明一個大型深度卷積神經網絡在一個具有高度挑戰性的數據集上使用純有監督學習可以取得破紀錄的結果。值得註意的是,如果移除一個卷積層,我們的網絡性能會降低。例如,移除任何中間層都會引起網絡損失大約2%的top-1性能。因此深度對於實現我們的結果非常重要。

為了簡化我們的實驗,我們沒有使用任何無監督的預訓練,盡管我們希望它會有所幫助,特別是在如果我們能獲得足夠的計算能力來顯著增加網絡的大小而標註的數據量沒有對應增加的情況下。到目前為止,我們的結果已經提高了,因為我們的網絡更大、訓練時間更長,但為了匹配人類視覺系統的下顳線(視覺專業術語)我們仍然有許多數量級要達到。最後我們想在視頻序列上使用非常大的深度卷積網絡,視頻序列的時序結構會提供非常有幫助的信息,這些信息在靜態圖像上是缺失的或遠不那麽明顯。

References

[1] R.M.BellandY.Koren.Lessonsfromthenetflixprizechallenge.ACMSIGKDDExplorationsNewsletter, 9(2):75–79, 2007.

[2] A. Berg, J. Deng, and L. Fei-Fei. Large scale visual recognition challenge 2010. www.imagenet.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.Sa?nchezandF.Perronnin.High-dimensionalsignaturecompressionforlarge-scaleimageclassification. 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,andH.S.Seung.Convolutional networks can learn to generate affinity graphs for image segmentation. Neural Computation, 22(2):511–538, 2010.

中文版 ImageNet Classification with Deep Convolutional Neural Networks