天天看點

VGG——深度學習架構(二)

用于大規模圖像識别的深度卷積網絡

摘要

在這項工作中,我們研究了卷積網絡深度對其在大規模圖像識别設定的準确性的影響。我們的主要貢獻是通過使用

非常小(3×3)卷積濾波器

的架構對

增加深度的網絡

進行了全面的評估,這表明通過

将深度推至16-19個權重層

,可以顯著改善現有技術配置。這些發現是我們

ImageNet 2014挑戰賽

送出的基礎,我們的團隊在本地化和分類方面分别獲得了第一名和第二名。我們還表明,我們的表示可以很好地推廣到其他資料集,在那裡他們獲得了最先進的結果。我們已經公開了我們的兩個性能最好的卷積神經網絡模型,以促進對深度視覺表示在計算機視覺中的使用的進一步研究。

1 導論

最近,

卷積網絡

(ConvNets)在

大規模圖像和視訊識别領域

取得了巨大成功(Krizhevsky et al., 2012;Zeiler & Fergus, 2013;Sermanet等人,2014;Simonyan & Zisserman, 2014),由于大型公共圖像存儲庫,如ImageNet (Deng et al., 2009)和高性能計算系統,如gpu或大規模分布式叢集(Dean et al., 2012),這已經成為可能。特别是,ImageNet大規模視覺識别挑戰(ILSVRC) (Russakovsky et al., 2014)在深度視覺識别體系結構的發展中發揮了重要作用,它已經成為幾代大規模圖像分類系統的試驗台,從高維淺層特征編碼(Perronnin et al., 2010) (ILSVRC-2011獲獎者)到深度卷積網(

Krizhevsky

et al., 2012)

(ILSVRC-2012

獲獎者)。

随着卷積神經網絡(ConvNets)在計算機視覺領域變得越來越普遍,人們進行了一些嘗試,以

改進Krizhevsky等人(2012)的原始架構

,以獲得更好的精度。例如,ILSVRC2013 (Zeiler & Fergus, 2013;Sermanet等人,2014)使用了

更小的接受視窗大小和更小的第一個卷積層的步幅

。另一條改進線是在整個圖像和

多個尺度上密集地訓練和測試網絡

(Sermanet et al., 2014;霍華德,2014)。在本文中,我們讨論了

ConvNet體系結構設計

的另一個

重要方面

——它的

深度

。為此,

我們固定了體系結構的其他參數,并通過增加更多的卷積層來穩步增加網絡的深度,這是可行的,因為在所有層中都使用了非常小的(3 × 3)卷積濾波器。

是以,我們提出了更精确的ConvNet架構,它不僅在ILSVRC分類和定位任務上達到了最先進的精度,而且也适用于其他圖像識别資料集。即使作為一個相對簡單的管道的一部分(例如,深度特征分類的線性支援向量機沒有微調),它們也能取得優異的性能。我們已經釋出了我們的兩個性能最好的模型,以促進進一步的研究。本文的其餘部分組織如下。在第二節中,我們描述了卷積神經網絡的結構。然後在第3節中介紹了圖像分類訓練和評估的細節,并在第4節中比較了ILSVRC分類任務的配置。第5節是本文的結尾。為了完整性,我們還在附錄xa中描述和評估了ILSVRC-2014對象定位系統,并在附錄b中讨論了非常深入的特性對其他資料集的概括。最後,附錄C包含了主要的論文修改清單。

2 ConvNet 配置

為了在公平的環境下

測量增加的ConvNet深度帶來的改進

,我們

所有的ConvNet層配置都采用相同的原則設計

,靈感來自

Ciresan

et al. (2011);

Krizhevsky

等人(2012)。在本節中,我們首先描述了ConvNet配置的一般布局(第2.1節),然後較長的描述了評估過程中的具體配置(第2.2節)。我們的設計選擇将在第2.3節中與現有技術進行讨論和比較。

2.1 結構

在訓練期間,我們的卷積神經網絡的

輸入

是一個固定大小的

224 × 224

RGB圖像。我們所做的

唯一預處理

就是

從每個像素中減去在訓練集上計算的平均RGB值

。圖像經過一堆卷積(conv.)層,其中我們使用帶有

非常小的接受域的濾波器:3 × 3

(這是捕捉左/右、上/下、中間概念的最小尺寸)。在其中一種配置中,我們還使用了

1 × 1卷積濾波器

,這可以看作是輸入通道的線性變換(随後是非線性)。

卷積步長固定為1像素

;對輸入的卷積層進行空間

填充

使卷積後的空間分辨率保持不變

,即3 × 3個卷積層的填充為1像素。空間池是由5個最大池化層來實作的,它們在一些卷積層之後(并不是所有的卷積層之後都有最大池化層)。最大池化在一個2 × 2像素的視窗上執行,步幅為2。

一個卷積層(在不同的體系結構中有不同的深度)堆棧後面是三個全連接配接(FC)層:前兩個層各有4096個通道,第三個層執行1000種ILSVRC分類,是以包含1000個通道(每個類一個)。最後一層是Softmax。在所有網絡中,全連接配接層的配置是相同的。

所有隐藏層都配備了

非線性校正

(

ReLU

(Krizhevsky et al., 2012))。我們注意到,我們的網絡(除了一個)沒有包含局部響應歸一化(LRN)标準化(Krizhevsky et al., 2012):正如第4節所示,這種标準化不會提高ILSVRC資料集的性能,但會增加記憶體消耗和計算時間。在适用的情況下,LRN層的參數為(Krizhevsky et al., 2012)。

2.2 配置

表1

列出了本文中評估的ConvNet配置,每列一個。下面我們将以

網名(A-E)

來稱呼它們。

所有配置均遵循2.1節中提出的通用設計,僅在深度上不同

:從網絡A的11個權重層(8個卷積層和3個FC層)到網絡E的19個權重層(16個卷積層和3個FC層)。卷積層的寬度(通道的數量)比較小,從第一層的64開始,然後在每一個最大池化層之後增加2倍,直到512。

VGG——深度學習架構(二)

表1:ConvNet配置(按列顯示)。随着添加更多的層(添加的層以粗體顯示),配置的深度從左(A)到右(E)增加。卷積層參數記為“conv <接受域大小>-<通道數>”。為了簡潔,沒有顯示ReLU激活函數。

VGG——深度學習架構(二)

在表2中,我們報告了每個配置的參數數量。盡管深度很大,但我們的網中的權重數并不大于具有更大的卷積層寬度和接受域的更淺的網中的權重數(

144M權重

(Sermanet et al., 2014))。

表2:參數數量(機關:億)

網絡 A,A-LRN B C D E
參數數量 1.33 1.33 1.34 1.38 1.44

2.3 讨論

我們的ConvNet配置與ILSVRC-2012 (Krizhevsky et al., 2012)和ILSVRC-2013比賽(Zeiler & Fergus, 2013;Sermanet等人,2014)。而不是在第一層中使用相對

較大的接受域

(例如

11×11with stride 4

in (

Krizhevsky

et al., 2012),或

7×7 stride

2 in (Zeiler & Fergus, 2013;Sermanet et al ., 2014)),我們使用非常小的

3×3

接受字段在整個網絡,這是與輸入每個像素卷積(1步)。很容易看到一堆

兩個3×3 卷積層

(沒有空間池)之間有一個

有效的接受域5×5

;

三層卷積層有一個7 × 7的有效感受野

。那麼,通過使用三層3×3 卷積層而不是單一的7×7層,我們得到了什麼?首先,将非線性校正層從

單一

的非線性校正層

改為三個

非線性校正層,使決策函數具有更強的分辨力;其次,我們減少了參數的數量:假設一個

三層3 × 3卷積

堆棧的輸入和輸出都有

C通道

,該堆棧的參數為 3 ( 3 2 C 2 ) = 27 C 2 3(3^2C^2)= 27C^2 3(32C2)=27C2權重;同時,

一個7 × 7的卷積層

需要 7 2 C 2 = 49 C 2 7^2C^2= 49C^2 72C2=49C2參數,即多

81%

。這可以看作是對7 × 7卷積濾波器進行了正則化,迫使它們通過3 × 3濾波器進行分解(在兩者之間注入非線性)。

加入1 × 1個卷積層(配置C,表1)是一種在不影響卷積層接受場的情況下增加決策函數非線性的方法。即使在我們的例子中1×1卷積本質上是在相同次元空間上的線性投影(輸入和輸出通道的數量是相同的),一個額外的非線性是由整流函數引入的。值得注意的是,1×1 卷積層最近已經被Lin等人(2014)的“網絡中的網絡”架構所使用。

Ciresan等人(2011)曾使用過小型卷積濾波器,但他們的網深度明顯低于我們的,而且他們沒有對大規模的ILSVRC資料集進行評估。Goodfellow等(2014)将深度卷積神經網絡(deep ConvNets, 11個權重層)應用于街道号碼識别任務中,結果表明,深度越深,識别效果越好。GoogLeNet (Szegedy et al ., 2014),表現條目ilsvrc - 2014的分類任務,是我們工作的獨立開發,但類似,因為它是基于很深回旋網3重量(22層)和小卷積過濾器(除了3×3,他們也用1×1和5×5旋轉)。然而,他們的網絡拓撲結構比我們的複雜,而且特征圖的空間分辨率在第一層被更大幅度地降低,以減少計算量。如第4.5節所示,我們的模型在單網絡分類精度方面優于Szegedy et al.(2014)。

3 分類架構

在前一節中,我們介紹了網絡配置的細節。在本節中,我們描述了分類卷積神經網絡訓練和評估的細節。

3.1 訓練

卷積神經網絡的訓練過程通常遵循Krizhevsky等人(2012)(除了從多尺度訓練圖像中取樣輸入作物,稍後解釋)。即,訓練是通過使用小批量梯度下降(基于反向傳播(LeCun et al., 1989))的動量優化多項logistic回歸目标來進行的。批大小設定為256,動量設定為0.9。訓練通過重量衰減(L2penalty multiplier設定為 5 ⋅ 1 0 − 4 5·10^{−4} 5⋅10−4)和前兩個全連接配接層的dropout正則化(drop ratio設定為0.5)進行規範化。學習速率最初設定為 1 0 − 2 10^{−2} 10−2,然後當驗證集的準确性停止提高時,學習率降低了10倍。總的來說,學習速率下降了3次,370K次(74 epoch)後停止學習。我們推測,與(Krizhevsky et al., 2012)相比,盡管我們的網有更多的參數和更大的深度,但由于(a)更大的深度和更小的對流濾波器尺寸所造成的隐式正則化,我們的網需要更少的時點來收斂;(b)某些層的預初始化。

網絡權值的初始化是很重要的,因為糟糕的初始化會由于深度網絡的梯度的不穩定性而導緻學習停滞。為了避免這個問題,我們從訓練配置A(表1)開始,它足夠淺,可以用随機初始化進行訓練。然後,在訓練更深層次的架構時,我們初始化了前4個卷積層和最後3個完全連接配接的層,使用網絡A層(中間層随機初始化)。我們沒有降低預初始化層的學習速率,允許它們在學習過程中進行更改。對于随機初始化(如适用),我們從均值為0、方差為10−2的正态分布中取樣權值。偏差初始化為零。值得注意的是,在論文送出後,我們發現,使用gloria & Bengio(2010)的随機初始化程式,在沒有預先訓練的情況下初始化權重是可能的。

為了獲得fixed-size224×224ConvNet輸入圖像,從重新縮放的訓練圖像中随機裁剪它們(每SGD疊代一次裁剪每張圖像)。為了進一步增加訓練集,作物經曆了随機水準翻轉和随機rgb顔色變換(Krizhevsky et al., 2012)。訓練圖像縮放解釋如下。

訓練圖像大小。設S是各向同性重新縮放的訓練圖像的最小邊,從這張圖像裁剪卷積神經網絡的輸入(我們也稱S為訓練尺度)。當裁剪大小固定為224 × 224時,原則上S可以取不小于224的任何值:對于S = 224,裁剪将捕獲全圖像統計資料,完全覆寫訓練圖像的最小邊;對于S≫224,裁剪将對應于圖像的一小部分,包含一個小對象或對象部分。

我們考慮兩種方法來設定訓練尺度S。第一種是固定S,它對應于單尺度訓練(注意,采樣作物内的圖像内容仍然可以表示多尺度圖像統計)。在我們的實驗中,我們評估了在兩個固定尺度下訓練的模型:S = 256(這在現有技術中已被廣泛使用(Krizhevsky et al., 2012;Zeiler & Fergus, 2013;Sermanet等,2014)),S = 384。給定一個ConvNet配置,我們首先使用S = 256對網絡進行訓練。為了加快S = 384網絡的訓練速度,我們使用S = 256預先訓練的權值初始化網絡,并使用較小的初始學習率10−3。

第二種設定S的方法是多尺度訓練,每幅訓練圖像通過從一定範圍[Smin, Smax](我們使用Smin= 256和Smax= 512)随機采樣S來單獨縮放。因為圖像中的物體可以有不同的大小,是以在訓練時考慮到這一點是有益的。這也可以看作是通過尺度抖動來增強訓練集,即訓練一個單一的4模型來識别大範圍尺度上的物體。由于速度方面的原因,我們通過對具有相同配置的單尺度模型的所有層進行微調來訓練多尺度模型,預先用固定的S = 384進行訓練。

3.2 測試

在測試時,給定一個經過訓練的卷積神經網絡和一個輸入圖像,按以下方式對其進行分類。首先,它是各向同性重新縮放到一個預定義的最小圖像邊,記為Q(我們也稱它為測試尺度)。我們注意到Q并不一定等于教育訓練量表S(正如我們将在第4節中展示的那樣,對每個S使用幾個Q值會導緻性能的提高)。然後,将網絡以類似于(Sermanet et al., 2014)的方式在重新縮放的測試圖像上密集應用。即,将全連接配接層首先轉換為卷積層(第一個FC層轉換為7 × 7卷積層,最後兩個FC層轉換為1 × 1卷積層)。得到的完全卷積網絡然後應用于整個(未裁剪)圖像。結果是一個類分數圖,其中通道數等于類數,空間分辨率随輸入圖像大小而變化。最後,為獲得圖像的固定大小的類分數向量,對類分數地圖進行空間平均(求和池)。我們還通過水準翻轉圖像來增加測試集;原始和flippedimagesareaverage以獲得圖像的最終分數。

由于全卷積網絡适用于整個圖像,是以不需要在測試時對多個作物進行采樣(Krizhevsky et al., 2012),這是效率較低的,因為它需要對每一種作物進行網絡重新計算。與此同時,如Szegedy等人(2014)所做的那樣,使用大量的作物可以提高精度,因為與完全卷積的網絡相比,它可以對輸入圖像進行更精細的采樣。此外,由于不同的卷積邊界條件,多作物估值與密集估值是互補的:當應用一個事先作物,卷積功能地圖用0填充,在密集的情況下評估填充為同一作物自然來自鄰近的部分圖像(由于玲珑和空間池),這大大增加了整體網絡接受域,是以更多的上下文被捕捉。雖然我們相信在實踐中多種作物的增加計算時間notjustify thepotentialgainsin準确性,forreferencewe也evaluateournetworksusing50crops /規模(5×5正則網格與2次),總共150種作物/ 3尺度,這是與所使用的144種作物/ 4尺度Szegedy et al。(2014)。

3.3 實作細節

我們的實作來自于公開可用的

c++ Caffe

工具箱(Jia, 2013)(在2013年12月擴充),但包含了一些重要的修改,允許我們在單個系統中安裝的

多個gpu

上執行訓練和評估,以及在多個尺度上對全尺寸(未裁剪)圖像進行訓練和評估(如上所述)。多GPU訓練利用資料并行性,将每批訓練圖像分割成若幹批GPU,在每個GPU上并行處理。GPU批處理梯度計算後,将它們平均得到完整批處理的梯度。梯度計算在GPU上是同步的,是以結果與在單個GPU上訓練是完全相同的。

雖然最近有人提出了更複雜的方法來加速卷積神經網絡的訓練(Krizhevsky, 2014),這些方法為不同的網絡層采用了模型和資料并行性,但我們發現,我們的概念上簡單得多的方案已經在現成的4-GPU系統上提供了3.75倍的加速。與使用單個GPU相比。在一個配備了4個NVIDIA Titan Black gpu的系統上,根據架構的不同,單個網絡的訓練需要2-3周。

4 分類實驗

資料集。在本節中,我們将在ILSVRC-2012資料集(用于ILSVRC 2012 - 2014挑戰)上展示所描述的ConvNet架構獲得的圖像分類結果。該資料集包括

1000個類

的圖像,并分為三個集:

訓練(1.3M圖像),驗證(50K圖像),和測試(100K圖像持有類标簽)

。分類性能使用兩個名額進行評估:top-1和top-5錯誤。前者是多類分類錯誤,即分類錯誤圖像的比例;後者是ILSVRC中使用的5個主要評價标準,計算為ground-truth類别在預測類别前5名之外的圖像比例。對于大多數實驗,我們使用驗證集作為測試集。某些實驗也在測試集上進行,并作為“VGG”團隊進入ILSVRC-2014比賽送出給ILSVRC官方伺服器(Russakovsky et al., 2014)。

4.1 單尺度評估

我們首先用第2.2節中描述的層配置在單個尺度上評估單個ConvNet模型的性能。測試圖像大小設定為:固定的S為 Q = S Q = S Q=S,抖動的 S ∈ [ S m i n , S m a x ] S∈[S_{min}, S_{max}] S∈[Smin​,Smax​]為 Q = 0.5 ( S m i n + S m a x ) Q = 0.5(S_{min}+ S_{max}) Q=0.5(Smin​+Smax​)。結果如表3所示。首先,我們注意到使用

局部響應歸一化(A- lrn網絡)并不能改進沒有任何歸一化層的模型A

。是以,我們沒有在更深層次的架構(B-E)中采用歸一化。

VGG——深度學習架構(二)

第二,我們觀察到的分類誤差随深度增加事先:從11層至19層E .值得注意的是,盡管

同樣的深度

,

配置C

(包含

三個1×1 卷積層

),執行比

配置D

,采用

3×3 卷積層

在整個網絡。這表明,雖然額外的非線性确實有幫助(C比B更好),但通過使用具有非微不足道接受域的卷積濾波器捕獲空間環境也很重要(D比C更好)。當

深度達到19層

時,我們的架構的

錯誤率就飽和

了,但更深入的模型可能有利于更大的資料集。我們還比較了B網絡和5個5×5 卷積層的淺層網,這是

B

通過将

每對3×3 卷積層替換為單個5×5 卷積層

(其接受場與2.3節中解釋的相同)得到的。

淺層網

的最大誤差比B(在中心作物上)高7%,這證明了帶有小過濾器的

深層網

優于帶有大過濾器的淺層網。

最後,訓練時間尺度抖動(S∈[256;512])的結果明顯優于對固定最小邊(S = 256或S = 384)的圖像進行訓練,即使在測試時使用單一尺度。這證明了尺度抖動訓練集的擴大确實有助于捕獲多尺度圖像統計。

4.2 多尺度評價

在單個尺度上評估了卷積神經網絡模型後,我們現在

評估了測試時尺度抖動的影響

。它包括在測試圖像的幾個縮放版本上運作一個模型(對應于不同的Q值),然後對産生的類後驗進行平均。

考慮到訓練尺度和測試尺度之間的差異較大,會導緻性能下降

,我們對

固定S訓練後的模型

進行三種測試圖像大小的評估,接近訓練圖像的大小: Q = S − 32 , S , S + 32 Q = {S−32,S, S + 32} Q=S−32,S,S+32。同時,由于訓練時的尺度抖動,使得網絡在測試時适用于更大範圍的尺度,是以變量 S ∈ [ S m i n ; S m a x ] S∈[S_{min};S_{max}] S∈[Smin​;Smax​]訓練的模型在更大的尺度範圍内進行評估 Q = { S m i n , 0.5 ( S m i n + S m a x ) , S m a x } Q = \left \{ Smin,0.5(S_{min}+ S_{max}), S_{max} \right \} Q={Smin,0.5(Smin​+Smax​),Smax​}。

結果如表4所示,表明在測試時間

尺度抖動導緻了更好的性能

(相比于在單個尺度下評價相同的模型,如表3所示)。與之前一樣,最深配置(D和E)表現最好,在驗證集上,我們最好的單網絡性能是24.8%/7.5% top-1/top-5 錯誤率(在表4中用粗體突出顯示)。在測試集上,配置

E達到7.3%的top-5 錯誤率。

VGG——深度學習架構(二)

4.3 MULTI-CROP 評價

在表5中,我們比較了密集ConvNet評價和多作物評價(詳見3.2節)。我們也評估了兩種評估技術的互補性,平均他們的softmax輸出。可以看出,使用多種作物比密集評估的性能稍好,而且這兩種方法确實是互補的,因為它們的組合優于各自的性能。如上所述,我們假設這是由于對卷積邊界條件的不同處理。

4.4 ConvNet 融合

到目前為止,我們評估了單個ConvNet模型的性能。在這部分的實驗中,我們通過平均它們的軟最大類後驗來組合幾個模型的輸出。由于模型的互補性,這提高了性能,并在2012年(Krizhevsky et al., 2012)和2013年(Zeiler & Fergus, 2013;Sermanet等人,2014)。

結果如表6所示。在ILSVRC送出時,我們隻訓練了單尺度網絡,以及多尺度模型D(通過微調全連接配接層而不是所有層)。7個網絡的內建結果有7.3%的ILSVRC測試誤差。送出後,我們隻考慮了兩個性能最好的多尺度模型(配置D和E),采用密集評估将測試誤差降低到7.0%,采用組合密集和多作物評估将測試誤差降低到6.8%。作為參考,我們的最佳單模型達到了7.1%的誤差(模型E,表5)。

表5:ConvNet評價技術比較。在所有實驗中,訓練量表S從[256;512],考慮了三種檢驗量表Q:{256,384,512}。

VGG——深度學習架構(二)
VGG——深度學習架構(二)

4.5 與技術水準的比較

最後,我們将結果與表7中的最新技術進行比較。在

ILSVRC-2014

挑戰賽的分類任務(Russakovsky et al., 2014)中,我們的“VGG”團隊使用7個模型的內建以7

7.3%的測試誤差獲得第二名

。送出後,我們使用

兩個模型的內建将錯誤率降低到6.8%

從表7可以看出,我們的非常深的ConvNets明顯優于上一代模型,在ILSVRC-2012和ILSVRC-2013比賽中取得了最好的成績。我們的結果與分類任務獲勝者(GoogLeNet有6.7%的錯誤)相比也具有競争力,并且顯著優于ILSVRC-2013獲獎作品Clarifai,後者在使用外部訓練資料時達到11.2%,而在沒有外部訓練資料時達到11.7%。這是值得注意的,考慮到我們的最佳結果是通過結合兩個模型實作的——顯著少于在大多數ILSVRC送出中使用的。在單網性能方面,我們的體系結構達到了最好的結果(7.0%的測試錯誤),比單個GoogLeNet的性能高出0.9%。值得注意的是,我們并沒有背離LeCun等人(1989)的經典ConvNet架構,而是通過大幅增加深度對其進行了改進。

表7:與ILSVRC分類的最新進展進行比較。我們的方法記為“VGG”。隻報告沒有外部訓練資料的結果。

VGG——深度學習架構(二)

5 結論

在這項工作中,我們評估了非常深的卷積網絡(多達19個權重層)用于大規模圖像分類。研究表明,表示深度有利于分類精度,并且可以使用正常的convnetarchitecture (LeCun et al., 1989;Krizhevsky等人,2012),深度大幅增加。在附錄中,我們還展示了我們的模型可以很好地适用于廣泛的任務和資料集,比對或優于圍繞較少深度圖像表示建構的更複雜的識别管道。我們的研究結果再次證明了深度在視覺表現中的重要性。

A 定位

在本文的主體部分,我們考慮了ILSVRC挑戰的分類任務,并對不同深度的ConvNet體系結構進行了全面的評估。在本節中,我們将轉向挑戰的本土化任務,我們在2014年以25.3%的錯誤獲勝。可以将其看作是對象檢測的一種特殊情況,對于前5類中的每一個,都應該預測一個對象邊界框,而不考慮類中的實際對象數量。為此,我們采用了ILSVRC-2013本地化挑戰的獲獎者Sermanet等人(2014)的方法,進行了一些修改。我們的方法在a .1節中描述,在a .2節中評估。

A.1 定位 ConvNet

為了執行對象定位,我們使用一個非常深的ConvNet,其中最後一個完全連接配接的層預測邊界框位置,而不是類的分數。邊界框由存儲中心坐标、寬度和高度的4-D向量表示。可以選擇是所有類共享包圍盒預測(單類回歸,SCR (Sermanet et al., 2014)),還是類特異性預測(單類回歸,PCR)。在前一種情況下,最後一層是4-D,而在後一種情況下是4000-D(因為資料集中有1000個類)。除了最後一個包圍盒預測層,我們使用了ConvNet體系結構D(表1),該體系結構包含16個權重層,在分類任務中表現最好(Sect. 4)。

訓練。本地化卷積神經網絡的訓練與分類卷積神經網絡的訓練類似(第3.1節)。主要的差別是,我們用歐幾裡德損失來代替邏輯回歸目标,這将懲罰預測的界盒參數與ground-truth的偏差。我們訓練了兩個定位模型,每個都在一個尺度上:S = 256和S = 384(由于時間限制,我們沒有在ILSVRC-2014送出中使用訓練尺度抖動)。使用相應的分類模型(在相同的尺度上進行訓練)初始化訓練,初始學習率設定為10−3。我們探索了對所有層進行微調和隻對前兩個完全連接配接的層進行微調,就像在(Sermanet et al., 2014)中做的那樣。最後一個完全連接配接的層是随機初始化并從頭開始訓練的。

測試。我們考慮兩種測試方案。第一個用于比較驗證集上不同的網絡修改,并且隻考慮ground truth類的邊界框預測(以排除分類錯誤)。将該網絡僅應用于圖像的中心裁剪,即可得到邊界框。

第二個,成熟的,測試程式是基于定位卷積神經網絡對整個圖像的密集應用,類似于分類任務(3.2節)。不同之處是,最後一個完全連接配接的層的輸出是一組邊界框預測,而不是類分數圖。為了得到最終的預測,我們使用Sermanet et al.(2014)的貪婪合并過程,該過程首先合并空間上接近的預測(通過平均它們的坐标),然後根據分類卷積神經網絡(ConvNet)獲得的類分數對它們進行評級。當使用多個定位卷積神經網絡時,我們首先取它們的邊界框預測集的并集,然後在并集上運作合并過程。我們沒有使用Sermanet et al.(2014)在ICLR 2015年會議上發表的多池10偏移技術,該技術提高了包圍盒預測的空間分辨率,并可以進一步改善結果。

A.2 定位實驗

在本節中,我們首先确定性能最佳的本地化設定(使用第一個測試協定),然後在一個成熟的場景中評估它(第二個協定)。定位誤差根據ILSVRC準則進行測量(Russakovsky et al., 2014),即如果包圍盒預測與ground-truth包圍盒的聯合比相交大于0.5,則認為包圍盒預測是正确的。

設定的比較。從表8可以看出,單類回歸(PCR)優于類不可知單類回歸(SCR),這與Sermanet et al.(2014)的研究結果不同,在Sermanet et al.(2014)中,PCR優于SCR。我們還注意到,與隻調整完全連接配接的層相比,調整所有本地化任務層的效果明顯更好。在這些實驗中,設定最小的圖像邊S = 384;S = 256的結果表現出相同的行為,并沒有顯示為簡短。

全面的評估。有确定最好的本地化設定(PCR, fine-tuningof所有層),我們現在把它應用在成熟的場景中,在五大類标簽預計使用我們表現最好的分類系統(4.5。),和多個densely-computed邊界框預測合并使用Sermanet et al .(2014)的方法。從表9可以看出,與使用中心作物(表8)相比,使用定位ConvNet對整個圖像的應用顯著改善了結果,盡管使用了前5個預測類标簽而不是groundtruth。與分類任務(第4節)類似,在多個尺度上進行測試,并結合多個網絡的預測,進一步提高了性能。

全面的評估。在确定最好的本地化設定(所有層的PCR,微調),我們現在把它應用在成熟的場景中,在五大類标簽預計使用我們表現最好的分類系統(4.5。),和多個人口計算邊界框預測合并使用Sermanet et al .(2014)的方法。從表9可以看出,與使用中心作物(表8)相比,将定位ConvNet應用于整個圖像顯著改善了結果,盡管使用的是前5個預測類别标簽而不是ground truth。與分類任務(第4節)類似,在多個尺度上進行測試,并結合多個網絡的預測,進一步提高了性能。

與技術水準的比較。我們将最佳本地化結果與表10所示的技術狀态進行了比較。我們的“VGG”團隊以25.3%的測試誤差赢得了ILSVRC-2014的本地化挑戰(Russakovsky et al., 2014)。值得注意的是,我們的結果比ILSVRC-2013獲獎者Overfeat (Sermanet et al., 2014)的結果要好得多,盡管我們使用了更少的尺度,也沒有使用他們的分辨率增強技術。我們設想,如果将這種技術整合到我們的方法中,可以獲得更好的本地化性能。這表明我們的深度卷積神經網絡帶來的性能提升——我們使用更簡單的本地化方法獲得了更好的結果,但使用了更強大的表示。

B 非常深的特征的概括

在前幾節中,我們讨論了ILSVRC資料集上非常深的卷積神經網絡的訓練和評估。在本節中,我們評估了在ILSVRC上預訓練的卷積神經網絡,作為其他較小的資料集上的特征11提取器,在這些資料集上,由于過拟合,從頭開始訓練大型模型是不可行的。最近,有很多人對這樣一個用例感興趣(Zeiler & Fergus, 2013;Donahue等人,2013;Razavian等人,2014;Chatfield等人,2014),因為事實證明,在ILSVRC上學習的深度圖像表示,可以很好地概括到其他資料集,在這些資料集中,它們的表現大大優于手工表示。遵循這一工作路線,我們将調查我們的模型是否比采用最新方法的更淺的模型具有更好的性能。在此評估中,我們考慮了ILSVRC(第4節)上具有最佳分類性能的兩個模型-配置“Net-D”和“Net-E”(我們公開提供的)。

為了利用在ILSVRC上預先訓練的ConvNets對其他資料集進行圖像分類,我們删除了最後一個全連接配接層(執行1000路ILSVRC分類),并使用第二層的4096-D激活作為圖像特征,這些特征在多個位置和尺度上聚合。得到的圖像描述符被l2 -歸一化,并與目标資料集上訓練的線性SVM分類器相結合。為簡單起見,預先訓練的卷積神經網絡的權重保持不變(不進行微調)。

特性聚合的執行方式與ILSVRC評估過程類似(第3.2節)。即,首先對圖像進行縮放,使其最小邊等于Q,然後在圖像平面上密集應用網絡(當所有權重層都被視為卷積時,這是可能的)。然後,我們對生成的特征圖執行全局平均池化,進而生成一個4096-D的圖像描述符。然後用水準翻轉圖像的描述符平均描述符。如4.2節所示,在多個尺度上進行評價是有益的,是以我們提取了多個尺度q上的特征,得到的多尺度特征可以跨尺度堆疊或合并。堆疊允許後續分類器學習如何在一個尺度範圍内最佳地組合圖像統計資料;然而,這是以增加描述符維數為代價的。我們在下面的實驗中回到這個設計選擇的讨論。我們也評估特征的後期融合,使用兩個網絡計算,這是通過堆疊各自的圖像描述符執行。

vocs -2007和vocs -2012的圖像分類。我們首先對PASCAL vocs -2007和vocs -2012基準的圖像分類任務進行評估(Everingham et al., 2015)。這些資料集分别包含10K和22.5K的圖像,每張圖像用一個或多個标簽标注,對應20個對象類别。VOC組織者提供預先定義的教育訓練、驗證和測試資料(VOC-2012的測試資料不公開;相反,提供了一個正式的評估伺服器)。識别性能是使用不同類别的平均精度(mAP)來衡量的。

值得注意的是,通過檢驗vocs -2007和vocs -2012驗證集上的性能,我們發現在多個尺度上通過平均計算的聚合圖像描述符與通過堆疊進行聚合相比,前者執行sim12。我們假設這是由于VOC資料集中的對象出現在不同的尺度上,是以沒有特定的尺度特定語義可供分類器利用。由于平均具有不膨脹描述子次元的優點,我們能夠在廣泛的尺度上聚合圖像描述子:Q∈{256,384,512,640,768}。值得注意的是,在較小的{256,384,512}範圍内的改進非常有限(0.3%)。

在表11中報告了測試集的性能并與其他方法進行了比較。我們的網絡“Net-D”和“Net-E”在VOC資料集上表現出相同的性能,它們的組合稍微改善了結果。我們的方法在ILSVRC資料集上進行預訓練,設定了圖像表示的新技術狀态,比Chatfield等人(2014)之前的最佳結果高出6%以上。值得注意的是,Wei et al.(2014)的方法在一個擴充的2000類ILSVRC資料集上進行了預訓練,該資料集包含額外的1000個類别,語義上與VOC資料集上的類别相近。它還受益于與目标檢測輔助分類管道的融合。

caltech -101和Caltech-256的圖像分類。在本節中,我們将在Caltech-101 (Fei-Fei et al., 2004)和Caltech-256(Griffin et al., 2007)的圖像分類基準上評估非常深入的特征。Caltech-101包含被标記為102個類(101個對象類和一個背景類)的9K圖像,而Caltech-256更大,有31K圖像和257個類。對這些資料集的一個标準評估協定是生成幾個随機分割成訓練和測試資料,并報告分割期間的平均識别性能,這是由平均類召回率衡量的(補償不同數量的測試圖像類)。FollowingChatfield等人(2014);Zeiler & Fergus (2013);他等人(2014),在Caltech-101上,我們生成了3個随機分割成訓練和測試資料,是以每個分割包含每類30個訓練圖像,每類多達50個測試圖像。在Caltech-256上,我們也生成了3個分割,每個分割包含每個類60個訓練圖像(其餘用于測試)。在每一組中,20%的訓練圖像被用作超參數選擇的驗證集。

我們發現,與VOC不同的是,在Caltech資料集上,在多個尺度上計算的描述符的堆疊比平均或最大池化表現更好。這可以用以下事實來解釋:在加州理工學院,圖像對象通常占據整個圖像,是以多尺度圖像特征在語義上是不同的(捕獲整個對象vs.對象部分),而堆疊允許分類器利用這種特定于尺度的表示。我們使用Q∈{256,384,512}三個量表。

我們的模型彼此進行了比較,并比較了表11所示的技術狀态。可以看出,更深層次的19層Net-E比16層Net-D性能更好,兩者結合進一步提高了性能。在Caltech-101上,我們的表示方法與He等人(2014)的方法相競争,但後者在vocs -2007上的表現明顯不如我們的網。在Caltech-256上,我們的功能遠遠超過了目前的水準(Chatfield等人,2014年)(8.6%)。

vocs -2012行動分類。我們還在PASCAL vocs -2012動作分類任務(Everingham et al., 2015)上評估了我們表現最好的圖像表示(Net-D和Net-E特征的疊加),該任務包括從單個圖像中預測一個動作類,給定一個執行動作的人的邊界框。該資料集包含4.6K個訓練圖像,分為11個類。與vocs -2012對象分類任務類似,使用mAP測量性能。我們考慮了兩個訓練設定:(i)計算整個圖像上的卷積神經網絡特征,忽略所提供的邊界框;(ii)計算整個圖像和給定邊界框上的特征,并将其疊加,得到最終的表示。結果與表12中其他方法進行了比較。

我們的表示即使沒有使用提供的邊界框,也達到了VOC動作分類任務的最先進水準,并且在同時使用圖像和邊界框時,結果得到了進一步的改進。與其他方法不同的是,我們沒有納入任何特定任務的啟發式,而是依賴于非常深的卷積特征的表示能力。

其他識别T問。自從我們的模型公開釋出以來,它們一直被研究團體積極地用于廣泛的圖像識别任務,表現始終優于更淺層的表現。例如,Girshick等(2014)用我們的16層模型代替Krizhevsky等(2012)的ConvNet來實作目标檢測結果的狀态。與Krizhevsky等人(2012)的更淺架構相比,在語義分割(Long等人,2014)、圖像字幕生成(Kiros等人,2014;Karpathy & Fei-Fei, 2014),紋理和材料識别(Cimpoi et al., 2014;Bell等人,2014)。

原論文位址:Very Deep Convolutional Networks for Large-Scale Image Recognition

繼續閱讀