[譯]基於深度殘差學習的圖像識別

[譯]基於深度殘差學習的圖像識別

Deep Residual Learning for Image Recognition

Kaiming He Xiangyu Zhang Shaoqing Ren Jian Sun
微軟研究院
{kahe, v-xiangz, v-shren, jiansun}@microsoft.com

摘要:神經網絡的訓練因其層次加深而變得愈加困難。我們所提出的殘差學習框架可以更輕鬆的對比前人所提深很多的網絡進行訓練。相對於之前網絡所學習的是無參考的函數,我們顯著改進的網絡結構可根據網絡的輸入對其殘差函數進行學習。我們提供的詳實經驗證據表明對這樣的殘差網絡進行尋優更加容易,並且隨網絡層次的顯著加深可以獲得更好的準確率。我們利用ImageNet數據集驗證了深達152層殘差網絡——儘管這個網絡的深度是VGG網絡[41]的8倍,然而複雜度卻相對較低。該殘差網絡對ImageNet測試集的錯誤率爲3.57%,這個結果取得了2015年ILSVRC分類任務的第一名。此外,我們分析了分別用100層和1000層網絡對CIFAR-10數據集的處理。
  表示深度對於很多類型的視覺識別任務至關重要。我們僅依賴於較深的表示,將對COCO物品檢測數據集的處理結果提高了28%。深度殘差網絡是我們提交給ILSVRC和COCO 2015比賽的核心,同時也在ImageNet物品檢測、ImageNet地理位置檢測、COCO物品檢測和COCO分割中贏得了第一名。

1 引言

  深度卷積神經網絡[22, 21]的提出引發了圖像分類方法的一系列突破[21, 50, 40]。深度網絡自然集成了低、中、高層特徵表示[50]的多層次端對端形式的分類器,多層特徵可以通過網絡層堆疊的數量(網絡深度)來豐富其表達。最近的實證[41, 44]顯示網絡的深度是極其重要的,其中挑戰ImageNet數據集的優秀成果[41, 44, 13, 16]都是採用“較深”[41]的模型,深度從16層[41]至30層[16]不等。很多其他的重要視覺識別任務[8, 12, 7, 32, 27]也很大程度上得益於較深的網絡模型。
  網絡深度非常重要,但也存在一些問題:是否能夠簡單的通過增加更多的網絡層次學習到更好的網絡?解決這個問題的障礙之一是臭名昭著的所謂梯度消失(爆炸)問題[1, 9],這從根本上妨礙了網絡收斂,雖然這個問題已被廣泛討論,並試圖通過一些辦法加以解決,包括通過規範初始化[23, 9, 37, 13]和引入中值規範化層[16]的方式使得多達幾十層的利用隨機梯度下降(SGD)方法使得反饋網絡[22]的求解得以收斂。
  雖然這些較深的網絡得以收斂,一個所謂的退化(degradation)問題也暴露了出來,即隨着網絡深度的增加,準確率(accuracy)增長的速率會很快達到飽和(這可能也並不奇怪)然後就很快的下降了。令人意外的是,此類退化問題並不是由於過擬合造成的,而且,對一個合適的深度網絡模型增加更多的層次會使得訓練誤差更高,這曾被報告於[11, 42]並且也被我們的實驗充分驗證了,圖1展示了一個典型的案例。



圖1 利用20層和56層的平凡網絡對於CIFAR-10數據集的訓練誤差(左圖)和測試誤差(右圖)。可見越深的網絡會產生越大的訓練誤差和測試誤差。ImageNet數據集上發生的類似現象見圖4。

  退化問題(對訓練的準確度而言)表明了並不是所有的系統都能容易的達到優化。讓我們考慮一個較爲淺層的結構以及另一個作爲對比以此爲基礎但包含了較多網絡層次、相對較深的結構。對於構造更深的網絡模型的方法之一是在所增加的層次上均採用恆等映射(Identity Mapping),而其他層次則是直接使用已經學習好的淺層網絡。這種構造方法的存在意在使得加深後的模型所產生的訓練誤差不應高於它所基於的較淺的模型。然而,經驗表明我們從手頭的辦法中無法找到和這種構造式方法一樣好或者更優的解決方案(或者是無法在可行的時間的完成更深網絡的構造)。
  在本文中,我們提出一種深度殘差學習框架來解決退化問題。我們利用多層網絡擬合一個殘差映射,而不是寄希望於每組少數的幾個層的網絡層就可以直接擬合出我們所期望的實際映射關係。正式的,我們用H(x)表示所期望得到的實際映射,我們使得堆疊的非線性多層網絡去擬合另一個映射關係F(x) := H(x)-x,那麼實際的映射關係即可表示爲F(x)+x。我們認爲對殘差映射尋優可能會比直接對原始的參考映射尋優更爲方便。更進一步的,如果一個識別映射是被優化了的,相比於利用一個堆疊的非線性組合擬合一個恆等映射,則使得其殘差值趨於0值會更加容易一些。
  公式F(x)+x可以通過添加了“捷徑連接(shortcut connections)”的前向神經網絡實現(見圖2)。捷徑連接[2, 34, 49]是指一種跳過一個或多個層次的連接。在我們的案例中,所使用的捷徑連接僅僅是進行恆等映射(identify mapping),它們的輸出被加入到堆疊層次的輸出中(見圖2)。恆等映射捷徑連接的增加並沒有引入新的參數也沒有增加計算複雜度。整個網絡仍然可以通過SGD反向傳播進行端到端的訓練,也可以利用常用的庫(如:Caffe[19])加以實現而不用修改求解方法。



圖2 殘差學習:一個構建單元

  我們基於ImageNet數據集[36]進行詳盡實驗,演示了退化問題,並對我們提出的方法進行了評估。結果表明:1)我們提出的超深度殘差網絡更便於優化,而其所對應的平凡網絡(即簡單通過層次堆疊而成的網絡)的訓練誤差卻隨着網絡層次的加深而變大;2)我們所提出的深度殘差網絡更容易在增加深度時獲得精度的提高,明顯優於之前的網絡結構所得到的結果。
  類似的現象也可以通過對於CIFAR-10數據集[20]的實驗看到,實驗結果表明對網絡尋優的難度和我們所提出的方法的效果並不侷限於特定的數據集。我們對該數據集展示了對深度爲100層網絡的訓練,嘗試了深達1000層的網絡。
  對於ImageNet分類數據集[36],我們通過超深的殘差網絡獲得了很好的結果。我們的152層殘差網絡是目前已知最深的應用於ImageNet數據集的網絡,然而其複雜度卻低於VGG網絡[41]。我們的方法最終對ImageNet測試數據集的誤差爲3.57%,位列前五,並且獲得了2015年ILSVRC分類比賽的第一名。超深度的表示對於其他的識別任務也有很好的泛化能力,這使得我們在2015年ILSVRC&COCO比賽中贏得了ImageNet物品檢測、ImageNet地理定位、COCO物品檢測和COCO圖像分割的第一名。事實表明,殘差學習方法是具有一般性的,我們也希望它能夠被進一步應用於其他視覺和非視覺類問題的解決。

2 相關工作

殘差表示。在圖像識別中,VLAD[18]是通過基於詞典的殘差向量來進行編碼表示的,而Fisher向量[30]則可以被認爲是VLAD[18]的概率版本。它們都是很好的用於圖像檢索和分類的淺層表示方法[4, 48]。矢量量化,殘差向量編碼[17]都比對原始向量直接編碼更爲有效。
  在低級視覺和計算機圖形學中,對偏微分方程(Partial Differential Equation, PDE)的求解,通常是用多重網格(Multigrid)法[3]對系統中多尺度的子問題重新建模,每個子問題負責求解出較粗粒度或較細粒度的殘差。除多重網格法外,級聯基預處理[45, 46]也被用於求解上述的偏微分方程,它是基於表示了兩個尺度間殘差的量來進行的。通過文獻[3, 45, 46]可知這些求解方法比不考慮殘差的求解方法能夠更加快速的收斂。對這些方法的研究表明一個好的模型重構或預處理將有利於模型的優化。
捷徑連接。捷徑連接的相關工作所基於的實踐和理論上[2, 34, 49]已經被研究了相當長時間。早期的關於訓練多層感知器網絡(MLP, multi-layer perceptrons)的實踐包括通過在網絡的輸入層和輸出層之間增加一個線性層[34, 49]。在文獻[44, 24]中,少量的中間層被直接連接到了附加的分類器來解決梯度消失或梯度爆炸的問題。文獻[39, 38, 31, 47]則提出了層響應置中(centering layer responses)、梯度和傳播誤差,是採用的捷徑連接的辦法。在文獻[44]中,使用了一種由捷徑分支和少量較深的分支構成的“開端(inception)”層。
  和我們同期的工作也有一些,文獻[42, 43]提出的“高速公路網絡(highway networks)”展示了附設了門函數的捷徑連接[15]。這些所謂的門函數是數據相關的且需要進行參數調整,對比而言,我們的恆等捷徑是無需調參的。當門捷徑“關閉”(趨零)時,高速公路網絡中的層表示是非殘差函數,相反的,我們對殘差函數的學習貫穿了我們的方法;我們的恆等捷徑不需要關閉,因此信息總是被透傳過去,並藉此學習殘差函數。此外,高速公路網絡也沒有演示出隨着網絡深度很大程度的加大,準確率是否得到了提升。

3 深度殘差學習

3.1 殘差學習

  讓我們考慮H(x)是一個將通過若干堆疊的網絡層(不需要一定是整個網絡)進行映射關係的擬合,這裏用x表示對這些層中第一層的輸入。多層非線性層次可以逐漸逼近某個複雜函數的假設等價於它可以漸進的逼近殘差函數,即H(x)-x(這裏假設輸入和輸出是相同維度的)。也就是說,與其指望這些堆疊的層能夠逼近H(x),我們也可以顯式的用它們來逼近殘差函數F(x) := H(x)-x。如此,對應的原函數即爲F(x)+x。儘管採用這兩種形式都有可能漸進的逼近到目標函數(根據上述假設),然而學習的難度可能會存在差異。
  此番重構的動因是由於退化問題中所表現出的反直覺的現象(圖1(左圖))。正如我們在引言裏對這個問題所作出的說明那樣,如果能夠以恆等映射的方式來構建所增加的層,一個加深模型的訓練誤差就不會大於它所基於的較淺模型。退化問題表明利用多個非線性網絡層對於恆等映射作逼近可能會存在求解上的困難。通過殘差學習的辦法重構這個方法,當恆等映射達到最優,則求解可能就僅僅是簡單的更新多個非線性網絡層中的權重來求解恆等映射關係。
  在實際案例中,恆等映射不大可能一開始就已經達到最優,然而我們重新構造的模型可能有助於問題求解的預處理環節。若最優函數接近於一個恆等映射而不是一個零值映射,求解時可能更容易通過參考一個恆等映射的辦法確定擾動,而不是將其作爲全新的函數來學習。我們通過實驗(圖7)展示了完成了學習的殘差網絡一般響應較小,這表明恆等映射是一種合理的預處理手段。
3.2 利用捷徑作恆等映射
  我們對每組網絡層採用殘差學習。一個構造塊如圖2所示。正式的,在本文中我們將每個構造塊定義爲:

y=F(x, {Wi })+x      (1)

此處,x和y分別表示構造塊的輸入和輸出向量。函數F(x, {Wi })表示將被學習到的殘差映射。圖2所示的例子包含兩層,F=W2σ(W1x)中的σ表示ReLU[29]的參數且爲了簡化符號省略了偏置項。操作F+x是通過捷徑連接進行逐元素的相加。我們在加法之後所得到的模型具有二階非線性(如圖2中的σ(y))。
公式(1)中的捷徑連接並未引入新的參數或計算複雜度。這不僅便於應用而且在我們對普通和殘差網絡進行對比時也尤爲重要,這樣我們可以公平對普通和殘差網絡在參數數量、深度、寬度和計算代價相同的情況下作比較(除了幾乎可以忽略不計的逐元素加法運算)。
在公式(1)中的x和F的維度必須相同,如果不是這樣(例如當輸入或輸出通道的數量發生改變時),我們可以在捷徑連接上作一個線性投影Ws來滿足維數相等的條件,即:
y=F(x, {Wi })+Ws x      (2)

  我們同樣也可以在公式(1)中使用方塊矩陣Ws。然而我們將通過實驗展示恆等映射就足以經濟的解決退化問題,因此,Ws將僅僅被用來解決維數匹配的問題。
  殘差函數F的形式具有一定的靈活性。本文實驗包括了F爲兩層或三層時的情形(圖5)。雖然更多的層次數量也是可行的,而當F僅有一層時,公式(1)將等同於一個線性層,即y=W1x+x,這樣一來就沒有什麼優勢可言了。
  我們同時指出儘管上述的數學公式爲簡明起見都是對於全關聯層而言的。它們對於卷積層也同樣具有可行性,此時的函數F(x, {Wi })將表示多個卷積層,而逐元素的加法運算則是對於各通道中的兩個特徵圖的。

3.3 網絡結構

  我們對於多種類型的普通和殘差網絡進行了試驗,所觀察到了頗具一致性的現象。爲了給討論提供實證,接下來我們將描述應用於ImageNet數據集的兩種網絡結構。
平凡網絡。我們的普通基準網絡(圖3-中圖)主要是受VGG網絡理論的啓發[41] (圖3-左圖)。多數的卷積層的過濾器尺寸爲3×3並且在設計時遵從下列兩條簡單的規則:(i)對於相應大小的輸出特徵圖尺寸,層中必須含有相同數量的過濾器;(ii)若特徵圖尺寸減半時,則需要倍增過濾器數量來保持各層的時間複雜度。我們通過步長爲2的卷積層直接進行降採樣。最終的網絡包括了一個全局的均值池化層和1000路裝備了softmax激活函數的全連接層。含有權重的網絡層總計有34層(圖3-中圖)。
  值得注意的是我們的模型包含了較少的過濾器並且相對於VGG網絡(圖3-左圖)具有較低的計算複雜度。我們層數爲34的網絡的基本計算量爲36億FLOPs (包括乘法運算和加法運算),大約僅爲VGG-19(196億FLOPs)的18%。



圖3 針對ImageNet的網絡架構樣例
左:作爲對比的VGG-19模型[41](196億FLOPs)
中:含有權重參數的層數爲34的平凡網絡(36億FLOPs)
右:含有權重參數的層數爲34的殘差網絡(36億FLOPs)
點畫線所標記的捷徑上作了升維操作。表1中展示了更多的細節和其他變量

  殘差網絡。基於上述的平凡網絡,我們增加了一些捷徑連接(見圖3,右圖)後,則將網絡轉化爲與之對應的殘差版網絡。當網絡的輸入維度和輸出維度相等時可以直接應用公式(1)所示的恆等捷徑(圖3中的實線捷徑)。當維數增加時(圖3中的點畫線捷徑),我們考慮了兩種策略:(A)捷徑依然採用恆等映射,對於維數增加帶來的空缺元素補零,這種策略將引入新的參數;(B)利用公式(2)所示的投影捷徑來匹配維數(通過1×1的卷積層實現)。對於這兩種策略,當捷徑連接了兩個尺寸的特徵圖時,它們將依步長2進行排布。

3.4 實現

  我們針對ImageNet數據集的實現是根據[21, 41]的實踐來實現的。圖片按其短邊作等比縮放後按照[256,480]區間的尺寸隨機採樣進行尺度增強[41]。隨機的從圖像或其水平鏡像採樣大小爲224×224的剪裁圖像,並將剪裁結果減去像素均值[21]。進行標準色彩增強[21]。我們使用了批量正規化(Batch Normalization, BN)[16]。我們按照文獻[13]初始化網絡權重,分別從零開始訓練平凡網絡和殘差網絡。我們所採用的SGD的最小批量大小爲256。學習速率被初始化爲0.1,並且在每次遇到錯誤率平臺區時除以10,對各模型都迭代60萬次進行訓練。我們使用了權值衰減懲罰技術,其速率參數設爲0.0001,衝量參數設爲0.9。參考文獻[16]的實踐結果,我們並沒有使用dropout技術[14]。
  在測試時,爲了對結果作對比我們採用了標準的10折測試[21]。爲了獲得最佳的結果,我們採用了文獻[41, 13]所使用的全連接卷積形式的網絡,最終結果爲對多個尺寸圖像(圖像分別等比縮放爲短邊長度{224,256,384,480,640})的實驗結果得分取平均值。

4 實驗

4.1 ImageNet分類數據集

  我們利用包括了1000個分類的ImageNet 2012分類數據集[36]對我們的方法進行驗證。各模型均利用128萬幅訓練圖像進行訓練,再利用5萬幅交叉驗證圖像進行評估。我們用10萬幅測試圖像得到最終結果,最終結果是由測試服務器報告的。我們還分別驗證了第1和前5的錯誤率。
  平凡網絡。我們首先對18層和34層的平凡網絡進行驗證。34層的平凡網絡如圖3(中圖)所示,18層的平凡網絡則與其形式類似。表1中給出了網絡架構的細節。
  表2中的結果表明了較深的34層平凡網絡的交叉驗證錯誤率要高於較淺的18層平凡網絡。爲了揭示其原因,在圖4(左圖)中我們比較了訓練過程中訓練錯誤和交叉驗證錯誤的變化情況。我們觀察到了退化問題——在整個的訓練過程中,34層的平凡網絡的訓練誤差較高,儘管18層平凡網絡僅僅是34層平凡網絡的一部分。



表1 針對ImageNet的架構
工作塊的配置見方括號中(亦可見於圖5),幾種類型的塊堆疊起來構成網絡架構。降採樣採用的是步長爲2的conv3_1,conv4_1和conv5_1



表2 對ImageNet數據集作交叉驗證時的最大錯誤率(%,10折測試)
此處的殘差網絡沒有在其對應的平凡網絡中引入新的參數變量,圖4展示了訓練過程



圖4 用ImageNet數據集進行訓練
細線指明瞭訓練誤差的變化情況,粗線則指明瞭交叉驗證錯誤率的變化情況
左圖:18層和34層平凡網絡的情況
右圖:18層和34層殘差網絡的情況
在本圖中,殘差網絡沒有在其對應的平凡網絡中引入新的參數變量

  我們認爲這種模型優化困難不大可能是由於梯度消失造成的。這些平凡網絡的訓練是基於BN[16]的,這保證了前向傳播信號的變異係數不爲零值。同時,我們確認了在BN求解時的反向傳播過程中的梯度值是正常的。即無論是前向傳播還是反向傳播過程中的信號都沒有出現梯度消失的現象。事實上,34層的平凡網絡仍然可以獲得有競爭力的精度值(見表3),這某種意義上表明這個方法是可行的。我們猜測深度平凡網絡可能潛在的具有較低的收斂速率,而這不利於訓練誤差的降低。未來還將進一步探究這種優化困難的原因。



表3 對ImageNet數據集進行交叉驗證時的錯誤率(%,10折測試)
VGG-16是基於我們的測試。ResNet-50/101/152測試採用B方法僅適用投影法來增加維數



表4 單個模型對ImageNet數據集進行交叉驗證時結果的錯誤率(%)(除了帶有標記的那個是對於測試集的)



表5 組合模型的錯誤率(%)
前5的錯誤率是由測試服務器彙報的對於ImageNet測試集的

殘差網絡。現在我們來驗證18層和34層的殘差網絡(Residual Nets, ResNets)。殘差網絡的基本結構和上述的平凡網絡是相同的,除了在每對3×3的過濾器間增加了捷徑連接(圖3(右圖))。在第一個對比中(表2和圖4(右圖)),我們在所有的捷徑使用恆等映射並且對多出的維度補零(方案A),因此相對所基於的平凡網絡並沒有引入新的參數。
  針對表2和圖4,我們有3個主要的觀察。首先,在使用殘差學習方法時情況發生了好轉——34層的殘差網絡的效果優於18層的殘差網絡(提高了約2.8%)。更重要的是,34層的殘差網絡的訓練誤差對於交叉驗證數據具有泛化能力。這表明退化問題在這種情況下被較好的控制了,即我們能夠在增加網絡深度時獲得更高的準確率。
  其二,相比於所基於的平凡網絡,34層的殘差網絡降低了約3.5%的最大錯誤率(見表2),這是得益於訓練誤差的成功降低(對比圖4(右圖)和圖4(左圖))。這個對比證實了殘差學習對於深度學習系統是有效的。
  最後,我們認爲18層的平凡和殘差網絡的準確度是接近的(見表2),然而18層的殘差網路的收斂速度更快一些(對比圖4中的右圖和左圖) 。當網絡不是“太深”時(這裏是18層),現有的SGD求解方法仍然可以在平凡網絡上得到一個較好的結果。在這種情形下,殘差網絡通過使得加快了在訓練初期的收斂速度方便了模型的優化。

恆等快捷連接(identity shortcut)和投影快捷連接(projection shortcut)的對比。我們已經展示了無需參數的恆等映射快捷連接是有助於訓練的。下面我們看一下投影快捷連接(公式(2))。在表3中我們對比了三個方案:(A)利用補零快捷連接進行升維,所有快捷連接都無需參數(和表2及圖4(右圖)一樣);(B)用投影快捷連接進行升維,同時其他快捷連接採用恆等映射;(C)所有的快捷連接均爲投影連接。
  表3展示了3種方案均優於平凡網絡,B略優於A。我們認爲這是由於A方案中的補零方法所獲得的維數並沒有殘差學習。方案C較多的優於方案B,我們認爲這是由於投影快捷連接中額外引入的若干參數(30個)導致的。然而,方案A、B、C見的差異不大也表明了投影快捷連接並不是解決退化問題的關鍵。因此,爲了降低存儲和時間複雜度以及模型大小,我們在後文中並沒有採用方案C。恆等快捷方式對於不增加下文將介紹的瓶頸架構複雜度尤爲重要。

深度瓶頸架構。我們接下來將描述我們針對ImageNet數據集而涉及的深度學習網絡。因爲我們需要考慮到我們能夠接受的訓練時間,我們將單元塊的設計改爲了所謂瓶頸式的設計[4]。對於每個殘差函數F,我們採用3個網絡層來對其進行描述(如圖5),3個網絡層次分別爲1×1,3×3和1×1的卷積層,這裏11的層是用來減少或增加(恢復)維度的,這使得那個3×3的層如同瓶頸一般具有較小的輸入和輸出維度。圖5中給出了一個例子,這些設計具有相同的時間複雜度。
  無需進行參數調整的恆等快捷連接對於瓶頸架構非常重要。如果將圖5(右圖)的恆等快捷連接替換爲投影快捷連接,可見當快捷連接被連接到兩個高維的端點時,時間複雜度和模型尺寸都翻倍了。因此恆等快捷連接使得所設計的瓶頸結構更加有效。
  50層的殘差網絡:我們將34層網絡中的每2層一組構成的塊替換爲這種3層的瓶頸塊,得到了一個50層的殘差網絡(表1)。我們使用方案B來作升維。這個模型的基礎計算量爲38億FLOPs。
  101層和152層的殘差網絡:我們利用表1所述的3層塊構建101層和152層的殘差網絡。值得一提的是,儘管網絡深度增加了很多,152層的殘差網絡(113億FLOPs)比VGG-16/19網絡(153/196億FLOPs)的時間複雜度更低。
  50/101/152層的殘差網絡比34層的殘差網絡的準確度有顯著提高(見表3和表4)。我們沒有觀察到退化問題並且隨着網絡的加深取得了明顯的準確率增長。由表3和表4可以觀察到由深度增加帶來的各方面好處。
  
與先進方法的對比。在表4中我們已經與當前最好的單模型結果進行了比較。我們採用的34層基準殘差網絡獲得了具有競爭力的準確度。我們的152層單模型殘差網絡對於前五的驗證錯誤爲4.49%。這個單模型結果超過了所有先前的綜合模型獲得的結果(見表5)。我們組合了6個不同深度的模型組成一個綜合模型(在模型提交時僅使用了兩個152層),對於表5所示的測試集獲得了3.57%的前五錯誤率。這個結果獲得了ILSVRC 2015的第一名。

4.2 對CIFAR-10數據集的結果和分析

  我們對CIFAR-10數據集[20]進行了進一步的研究,它包括了分爲10類的5萬的訓練圖像和1萬的測試圖像。我們展示了利用訓練集進行訓練和利用測試集進行驗證的實驗。我們所針對的極深網絡的行爲,而不是推進最先進方法的結果,因此我們主要是使用下述的簡單網絡架構。
  簡單和殘差網絡結構遵從圖3(中圖和右圖)。這個網絡的輸入爲32×32的圖像,每個圖像的數據都減去了像素均值。第一層是一個3×3的卷積層。然後我們對於尺寸分別爲{32, 16, 8}的特徵圖分別使用一組包括了6n個3×3卷積層,對於每個尺寸的特徵圖使用2n個層,即過濾器的數量分別爲{16, 32, 64}。降採樣是通過步長爲2的卷積進行的。這個網絡終止於一個全局的平均化池,一個10路的全連接層和一個softmax層。以上共計有6n+2層權重層。下表小結了該網絡架構:



  在使用快捷連接的地方,它連接了一組3×3的網絡層(總計有3n個快捷連接)。在該數據集上我們對於各情形使用的均是恆等快捷方式(即方案A)。



表6 對於CIFAR-10測試集的分類錯誤
表中方法都進行了數據增強。對於ResNet-110,我們效仿文獻[43]將算法重複運行了5次,並且展示了所得結果的最優值(最優的mean+std)。

  因此我們的殘差模型與它所源於的平凡網絡具有完全相同的深度、快讀和參數數量。
  我們使用的權重損失參數爲0.0001,衝量參數爲0.9,並且我們採用文獻[13]的方法初始化權重值和BN[16]方法進行網絡訓練,但不採用dropout技術。這些模型在2個GPU上以128爲單位進行小批量訓練。我們設置初始學習率爲0.1,在第32k和第48k次迭代時除以10,在64k迭代時種植訓練,訓練和交叉驗證數據集的劃分爲45k和5k。我們在訓練階段採用了文獻[24]提出的簡單數據增強策略:每個邊填充4像素寬度,並對原圖像或其水平翻轉圖像裁剪尺寸爲32×32的圖像塊。在驗證時,我們僅僅通過32×32大小的圖像來進行。
  我們比較了n={3, 5, 7, 9}的情況,對應的網絡結構分別爲20層,32層,44層和56層。圖6(右圖)表明了平凡網絡。平凡網絡受其深度的影響很大,深度增大時其訓練錯誤也隨着增大。這種現象與在對ImageNet數據集(見圖4(左圖))和MNIST數據集(參見文獻[42])測試時的現象類似,這表明了優化難度是一個根本性的問題。
  圖6(中圖)展示了殘差網絡的表現,也和對ImageNet數據集的案例情形類似(圖4(右圖)),我們的殘差網絡成功克服了優化難度問題,並展示了隨着深度的增加準確度也跟着增加。
  我們進一步研究當n=18時對應的110層殘差網絡。在這個情形下,我們發現初始學習速率設置爲0.1對於網絡收斂而言有些過大了。因此我們採用0.01的初始學習速率來進行熱身學習直到訓練錯誤低於80%(大約400次迭代以後),然後回到0.1的學習速率繼續訓練。其餘的訓練方案和前文類似。這個110層的網絡很好的收斂了(圖6(中圖))。它的參數數量要少於諸如FitNet[35]和Highway[42]等其他較深的網絡或較淺的網絡(表6),然而其結果不亞於先進算法的結果(爲6.43%,見表6)。



圖6 對CIFAR-10數據集進行訓練
點畫線表示訓練誤差,粗線表示測試誤差
左圖:平凡網絡。110層的平凡網絡的錯誤率超過60%因此並未展示
中圖:殘差網絡
右圖:具有110層和1202層的殘差網絡



圖7 對CIFAR-10的層響應標準差(std)
這些響應是3×3層的輸出,在BN和非線性化之前
上圖:各層按照原始次序展示
下圖:響應按照降續排列

網絡層響應分析。圖7展示了層響應的標準差(std)。響應是指的每個3×3層的輸出值,在BN之後以及其他非線性層(ReLU/addition)之前。對於殘差網絡而言,分析結果表示出了殘差函數的響應強度的變化情況。圖7展示了殘差網絡通常比其它所對應的平凡網絡具有較小的響應。這些結果支持了我們的原始動機(見本文3.1節),即殘差函數一般可能比非殘差函數更接近於零值。同時,我們通過對於圖7中20層、56層和110層殘差網絡數據的比較,也注意到層次較深的殘差網絡的響應值較小。也就是說,層次越多,則殘差網絡中的每個層次對於信號的改變越小。
  超過1000層網絡的探索。我們探索了一個超深的超過1000層的深度學習模型。這裏我們設置n=200即網絡層數爲1202層,訓練過程如上所述。我們的方法表明沒有出現優化困難,利用這個千層的網絡得到了小於0.1%(圖6(右圖))的訓練誤差。而測試誤差也相當不錯(爲7.93%,見表6)。
  然而,對於這種超深的網絡還是存在一些未決的問題。對於1202層網絡的測試結果要劣於110層網絡的測試結果,儘管兩者的訓練誤差是相仿的。我們認爲這是由於過擬合造成。1202層的網絡相對於它的數據集尺寸來說可能大(19.4M)的有點沒有必要了。諸如maxout[10]和dropout[14]等強力的正則化方法通常被用來對於這個數據集獲取最優的結果([10, 25, 24, 35])。在本文中,我們並未採用maxout/dropout,設計上而言是爲了僅通過增大或減少網絡結構的深度來引入正則化,且不偏離所針對的優化困難的問題。然而結合更強的正則化方法對結果進一步改善,我們將在未來研究。



表7 利用基線方法Faster R-CNN對於PASCAL VOC物品檢測數據集的mAP(%)
更好的結果見表10和表11



表8 利用基線方法Faster R-CNN對於COCO驗證數據集的mAP(%)
更好的結果見表9

4.3 對於PASCAL和MS COCO數據集的物品識別

  我們的方法對於其他識別任務具有很好的性能泛化能力。表7和表8展示了對2007年和2012年的PASCAL VOC數據集[5]和COCO數據集[26]的基線結果。我們用Faster R-CNN[32]作爲檢測方法。這裏我們所感興趣的是在將VGG-16[41]替換爲ResNet-101後所帶來的性能改善情況。兩種檢測模型的實現(見附件)類似,因此增益只能是由於網絡結構的改良引入。值得注意的是,在對於COCO數據集進行挑戰是我們獲得的結果比COCO標準測試(mAP@[.5, .95]提升了6.0%,相對提升量達28%,這個增益僅僅是由於學習到的表示。
  基於深度殘差網絡,我們在2015年ILSVRC & COCO比賽中獲得了若干個第一名:ImageNet物品檢測數據集,ImageNet位置定位數據集,COCO物品檢測數據集和COCO圖像分割數據集。詳細結果參見附件。

參考文獻

[1] Y. Bengio, P. Simard, and P. Frasconi. Learning long-term dependencies with gradient descent is difficult. IEEE Transactions on NeuralNetworks, 5(2):157–166, 1994.
[2] C. M. Bishop. Neural networks for pattern recognition. Oxforduniversity press, 1995.
[3] W. L. Briggs, S. F. McCormick, et al. A Multigrid Tutorial. Siam,2000.
[4] K. Chatfield, V. Lempitsky, A. Vedaldi, and A. Zisserman. The devilis in the details: an evaluation of recent feature encoding methods.In BMVC, 2011.
[5] M. Everingham, L. Van Gool, C. K. Williams, J. Winn, and A. Zisserman. The Pascal Visual Object Classes (VOC) Challenge. IJCV,pages 303–338, 2010.
[6] S. Gidaris and N. Komodakis. Object detection via a multi-region &semantic segmentation-aware cnn model. In ICCV, 2015.
[7] R. Girshick. Fast R-CNN. In ICCV, 2015.
[8] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. InCVPR, 2014.
[9] X. Glorot and Y. Bengio. Understanding the difficulty of trainingdeep feedforward neural networks. In AISTATS, 2010.
[10] I. J. Goodfellow, D. Warde-Farley, M. Mirza, A. Courville, andY. Bengio. Maxout networks. arXiv:1302.4389, 2013.
[11] K. He and J. Sun. Convolutional neural networks at constrained timecost. In CVPR, 2015.
[12] K. He, X. Zhang, S. Ren, and J. Sun. Spatial pyramid pooling in deepconvolutional networks for visual recognition. In ECCV, 2014.
[13] K. He, X. Zhang, S. Ren, and J. Sun. Delving deep into rectifiers:Surpassing human-level performance on imagenet classification. InICCV, 2015.
[14] G. E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever, andR. R. Salakhutdinov. Improving neural networks by preventing coadaptation of feature detectors. arXiv:1207.0580, 2012.
[15] S. Hochreiter and J. Schmidhuber. Long short-term memory. Neuralcomputation, 9(8):1735–1780, 1997.
[16] S. Ioffe and C. Szegedy. Batch normalization: Accelerating deepnetwork training by reducing internal covariate shift. In ICML, 2015.
[17] H. Jegou, M. Douze, and C. Schmid. Product quantization for nearestneighbor search. TPAMI, 33, 2011.
[18] H. Jegou, F. Perronnin, M. Douze, J. Sanchez, P. Perez, andC. Schmid. Aggregating local image descriptors into compact codes.TPAMI, 2012.
[19] Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick,S. Guadarrama, and T. Darrell. Caffe: Convolutional architecture forfast feature embedding. arXiv:1408.5093, 2014.
[20] A. Krizhevsky. Learning multiple layers of features from tiny images. Tech Report, 2009.
[21] A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classificationwith deep convolutional neural networks. In NIPS, 2012.
[22] Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard,W. Hubbard, and L. D. Jackel. Backpropagation applied to handwritten zip code recognition. Neural computation, 1989.
[23] Y. LeCun, L. Bottou, G. B. Orr, and K.-R. Muller. Efficient backprop. ¨In Neural Networks: Tricks of the Trade, pages 9–50. Springer, 1998.
[24] C.-Y. Lee, S. Xie, P. Gallagher, Z. Zhang, and Z. Tu. Deeplysupervised nets. arXiv:1409.5185, 2014.
[25] M. Lin, Q. Chen, and S. Yan. Network in network. arXiv:1312.4400,2013.
[26] T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan,P. Dollar, and C. L. Zitnick. Microsoft COCO: Common objects in ′context. In ECCV. 2014.
[27] J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networksfor semantic segmentation. In CVPR, 2015.
[28] G. Montufar, R. Pascanu, K. Cho, and Y. Bengio. On the number of ′linear regions of deep neural networks. In NIPS, 2014.
[29] V. Nair and G. E. Hinton. Rectified linear units improve restrictedboltzmann machines. In ICML, 2010.
[30] F. Perronnin and C. Dance. Fisher kernels on visual vocabularies forimage categorization. In CVPR, 2007.
[31] T. Raiko, H. Valpola, and Y. LeCun. Deep learning made easier bylinear transformations in perceptrons. In AISTATS, 2012.
[32] S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: Towardsreal-time object detection with region proposal networks. In NIPS,2015.
[33] S. Ren, K. He, R. Girshick, X. Zhang, and J. Sun. Object detectionnetworks on convolutional feature maps. arXiv:1504.06066, 2015.
[34] B. D. Ripley. Pattern recognition and neural networks. Cambridgeuniversity press, 1996.
[35] A. Romero, N. Ballas, S. E. Kahou, A. Chassang, C. Gatta, andY. Bengio. Fitnets: Hints for thin deep nets. In ICLR, 2015.
[36] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma,Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, et al. Imagenetlarge scale visual recognition challenge. arXiv:1409.0575, 2014.
[37] A. M. Saxe, J. L. McClelland, and S. Ganguli. Exact solutions tothe nonlinear dynamics of learning in deep linear neural networks.arXiv:1312.6120, 2013.
[38] N. N. Schraudolph. Accelerated gradient descent by factor-centeringdecomposition. Technical report, 1998.
[39] N. N. Schraudolph. Centering neural network gradient factors. InNeural Networks: Tricks of the Trade, pages 207–226. Springer,1998.
[40] P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, and Y. LeCun. Overfeat: Integrated recognition, localization and detectionusing convolutional networks. In ICLR, 2014.
[41] K. Simonyan and A. Zisserman. Very deep convolutional networksfor large-scale image recognition. In ICLR, 2015.
[42] R. K. Srivastava, K. Greff, and J. Schmidhuber. Highway networks.arXiv:1505.00387, 2015.
[43] R. K. Srivastava, K. Greff, and J. Schmidhuber. Training very deepnetworks. 1507.06228, 2015.
[44] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich. Going deeper with convolutions. In CVPR, 2015.
[45] R. Szeliski. Fast surface interpolation using hierarchical basis functions. TPAMI, 1990.
[46] R. Szeliski. Locally adapted hierarchical basis preconditioning. InSIGGRAPH, 2006.
[47] T. Vatanen, T. Raiko, H. Valpola, and Y. LeCun. Pushing stochastic gradient towards second-order methods–backpropagation learning with transformations in nonlinearities. In Neural InformationProcessing, 2013.
[48] A. Vedaldi and B. Fulkerson. VLFeat: An open and portable libraryof computer vision algorithms, 2008.
[49] W. Venables and B. Ripley. Modern applied statistics with s-plus.1999.
[50] M. D. Zeiler and R. Fergus. Visualizing and understanding convolutional neural networks. In ECCV, 2014.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章