1. 程式人生 > >VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNTION(翻譯)

VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNTION(翻譯)

而不是 lar 標準 類別 研究 src 架構 數量 分辨率

0 - ABSTRACT

  在這個工作中,我們研究了卷積網絡的深度對於它在大規模圖像識別設置上的準確率的效果。我們的主要貢獻是對使用非常小的卷積核(3×3)來增加深度的網絡架構進行徹底評估,這說明了通過將深度增加到16-19層能夠比之前最好的業界水平更好。這些發現是我們參加ImageNet Challenge 2014的基礎,在這個比賽中我們團隊在定位和分類追蹤任務上分別獲得了第一和第二的名次。我們也表明了我們的模型可以很好的擴展到其他數據集上,並都達到了最佳的水平。我們已經將我們的兩個效果最好的卷積網絡模型開源,以此希望能夠促進計算機視覺中深度視覺表達的更進一步的研究。

1 - INTRODUCTION

  卷積網絡(ConvNets)最近在大規模圖像和視頻識別上面取得了很大的成功,這可能得益於大型的開源圖像庫,例如ImageNet,以及高性能的計算系統,例如GPUs或者大規模分布式集群。特別是在深度視覺識別架構發展中扮演重要角色的ImageNet Large-Scale Visual Recognition Challenge (ILSVRC),從高維淺層特征編碼到深度卷積網絡,它為幾代大規模圖像分類系統提供了測試平臺。

  隨著卷積網絡在計算機視覺領域中的應用越來越廣,越來越多人嘗試在Krizhevsky等人提出的原始架構上進行改進從而獲得更高的準確率。例如,ILSVRC-2013最好的參賽模型在第一個卷積層上使用了較小的接收窗口以及較小的步長。另一種改進方案是在增幅圖像和它的幾個尺寸上進行訓練和測試網絡。在本文中,我們關註了另一個卷積網絡架構設計的重要方面——它的深度。為此,我們固定了網絡架構中的其他參數,並且通過添加更多的卷積層有規則地增加網絡的深度,因為沃恩所有層使用的是非常小的卷積核(3×3),因此這是可行的。

  因此,我們提出了有著更高精度的卷積網絡架構,這個架構不僅實現了在ILSVRC分類和定位任務中的最好效果,而且在其他圖像識別數據集上也表現了優異的性能,即時只是用來作為一個相對簡單框架的一部分(例如作為無需微調的線性SVM的深度特征分類)。我們開源了兩個性能最好的模型來促進進一步的研究。

  本文剩下的部分將被組織成如下幾部分。在Sect. 2中,我們描述我們的卷積網絡結構。Sect. 3將介紹圖像分類任務的訓練和評估的細節。Sect. 4將對在ILSVRC分類任務上的不同架構進行比較。Sect. 5總結這篇文章。為了文章的完整性,我們也在Appendix A部分描述和評估我們的ILSVRC-2014目標定位系統,並在Appendix B部分討論了非常深的特征在其他數據集的泛化能力。最後,Appendix C部分包括了本文的主要修訂記錄。

2 - CONVNET CONFIGURATIONS

  為了公平的衡量由增加的卷積層深度所帶來的性能提高,我們所有的卷積層都采用相同的方式設計,這由Ciresan等人(2011)Krizhevsky等人(2012)提出。在這個部分,我們首先描述我們卷積網絡結構中的通用層(Sect. 2.1),然後描述在評估中具體的配置細節(Sect. 2.2)。在Sect. 2.3中討論了我們的設計選擇並且與向前最好的技術進行比較。

2.1 - ARCHITECTURE

  在訓練階段,卷積網絡的輸入為固定的244×244尺寸的RGB圖像。我們唯一做的預處理是對每一個像素減去訓練集中的RGB均值。圖像通過堆疊起來的卷積層,這些層我們使用了非常小的接收域:3×3(這是用來獲取左右、上下以及中心信息的最小尺寸)。在我們的一種配置中,我們也使用了1×1卷積過濾器,這可以看成對於輸入通道的一個線性變換(其後面接一個非線性變換)。卷積的步長固定為1像素;卷積層的空間填充(spatial padding)用來保持卷積後的圖像的空間分辨率,對於3×3卷積核填充為1個像素。空間池化包含5個最大池化層,它們接在部分卷積層後面(並不是全部卷積層都後接有池化層)。最大池化層是通過2×2像素的窗口,步長為2來表現的。

  在堆疊卷積層(在不同架構有著不同的深度)之後接著三個全連接層:前面兩個全連接層有4096個通道,第三個用來做1000類的ILSVRC的分類因此包含1000個通道(每一個類別一個通道)。最後一層是soft-max層。全連接層的配置在所有網絡中是一致的。

  全部的隱藏層都是用非線性修正(ReLU)。註意到我們的網絡(除了一個)都不包含了局部響應標準化(LRN):這將在Sect. 4中展示,這個標準化並不會提高網絡在ILSVRC數據集上的表現,但是反而增加了內存的消耗以及計算時間。在適用的情況下,LRN層的參數都是那些(Krizhevsky等人在2012提出的)。

2.2 - CONFIGURATIONS

  本文所評估的卷積網絡配置如表1所示,每一列代表一種網絡。接下來我們將分別稱它們為(A-E)。所有網絡的配置遵循Sect. 2.1的通用設計,它們只有在深度上面不一樣:從網絡A中有11個權重層(8個卷積層和3個全連接層)到網絡E中有19個權重層(16個卷積層和3個全連接層)。卷積層的寬度(通道的數量)非常小,從第一層的64開始,沒經過一個最大池化層增加一倍,直到達到512。

 技術分享圖片

表1:卷積網絡配置(以列表示)。從A到E網絡結構的深度逐步增加,同時加入了更多的層(加入的層用粗體表示)。卷積層的參數表示為"conv<receptive field size>-<number of channels>"。為了簡潔,ReLU激活函數沒有顯示。

  在表2,我們展示了每一種配置的參數數量。經過網絡很深,我們網絡的權重數量並不比一個更淺但有更大卷積層寬度和接收域的網絡的權重數量多。

       技術分享圖片

表2:參數數量(單位:百萬)

2.3 - DISCUSSION

  我們的卷積網絡架構與ILSVRC-2013和ILSVRC-2013中表現最好的模型很不一樣。我們在整個網絡中使用了很小的3×3接收域,而不是在第一層卷積使用相對較大的接收域(11×11以及步長為4)或者7×7和步長為2,這樣做可以對輸入的每一個像素都進行卷積(步長為1)。很容易發現,兩個3×3卷積層堆疊(中間沒有空間池化)相當於一個5×5的有效接收域;3個堆疊的話則相當於7×7的有效接收域。所以為何我們要使用三個3×3卷積層而不是一個簡單的7×7卷積層呢?首先,我們使用三個非線性修正層而不是簡單的一個,這使得決策函數變得更具判別性。其次,我們減少了參數的數量:假設三個3×3卷積層的輸入和輸出都有C個通道,那麽這個堆疊起來的網絡有$3(3^2C^2)=27C^2$個權重;同時,一個單一的7×7卷積層將需要$7^2C^2=49C^2$個參數,也就是相對增加了81%。這相當於在7×7卷積核上強加了一個正則化,迫使它們通過3×3的濾波器來分解(中間有非線性的加入)。

  1×1卷積層的使用(架構C,表1)是在不影響卷積層接收域的情況下增加非線性決策函數的一種方法。雖然在我們的情況下,1×1卷積層本質上相當於到相同空間維度的一個線性投影(輸入和輸出的通道數是一樣的),但是修正函數使其加入了非線性。值得註意的是,1×1卷積層最近被Lin等人使用在"Network in Network"架構中。

  之前Ciresan等人(2011)使用過小尺寸的卷積核,但是它們的網絡遠沒有我們的深,並且他們也沒有在大規模ILSVRC數據集上進行評估。Goodfellow等人(2014)在街道數值識別任務中應用了深度卷積網絡(11個權重層),並且證明了增加的深度使得模型產生更好的性能。Szegedy等人(2014)提出的GoogLeNet,ILSVRC-2014分類任務的第一名,區分於我們的工作,其有獨立的方向研究,但是相似的是我們都是基於非常深的卷積網絡(22個權重層)以及小的卷積核(除了3×3,他們還使用了1×1以及5×5卷積)。他們的網絡拓撲比我們的更加復雜,並且為了降低計算量,其特征圖的空間分辨率在第一層下降非常嚴重。Sect. 4.5將會展示我們的模型在單一網絡分類準確率上優於GoogleNet。

3 - CLASSIFICATION FRAMEWORK

  在前面的部分我們展示了我們網絡配置的細節。在這個部分,我們將描述用於分類的卷積網絡訓練和評估的細節。

3.1 - TRAINING

  卷積網絡訓練過程基本遵循Krizhevsky等人(2012)(除了從多尺度訓練圖像上采樣裁剪的輸入圖像,稍後會做解釋)。也就是說,通過使用含動量的最小批量梯度下降(基於反向傳播)優化多元邏輯回歸來對模型進行訓練。其中batch size設置為256,momentum為0.9。訓練將通過權值衰減進行調整($L_2$懲罰系數設置為$5\times 10^{-4}$以及對前面兩個全連接層執行dropout來進行調整(dropout的比率設置為0.5)。學習率被初始化為$10^{-2}$,而後當驗證集的準確率停止提高的時候,將學習率除以10。學習率總共降低了3次,訓練一共進行了370K次叠代(74個epoch)。我們猜測,盡管與Krizhevsky等人(2012)相比我們的網絡有著更大數目的參數以及更深的深度,當我們的網絡只需要更少的epoch來收斂,這得益於(a)更深的深度和更小的卷積核尺寸隱式地增強了正則化;(b)對某些層進行了預初始化。

  網絡權重的初始化時非常重要的,因為不合適的初始化由於深度網絡梯度的不穩定性而會阻礙網絡的學習。為了避開這個問題,我們從訓練配置A(表1)開始,它足夠淺以使得能夠使用隨機初始化進行訓練。然後,當訓練更深的架構的時候,我們使用網絡A的相應網絡層來初始化開始的四個卷積層和後面的三個全連接層(中間層采用隨機初始化)。我們對於與初始化層的學習率不進行降低,允許它們(有於初始化的參數?)在訓練過程中進行改變。對於隨機初始化,我們從均值為$0$以及方差為$10^{-2}$的正態分布中對權重進行采樣。偏置項將被初始化為$0$。值得註意的是,在文章提交後我們發現可以使用Glorot & Bengio(2010)中的隨機初始化程序來對權重進行初始化而不需要進行預訓練。

  為了獲得固定的244×244尺寸的卷積網絡輸入圖片,將從尺寸放縮過後的訓練圖像上進行隨機裁剪(每一張圖像的每一個SGD叠代時候裁剪一次)。為了進一步增強訓練集,裁剪圖片進行隨機的水平翻轉以及隨機的RGB顏色轉換。訓練圖像的尺寸放縮將在後面部分進行解釋。

VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNTION(翻譯)