
聲明:作者翻譯論文僅為學(xué)習(xí),如有侵權(quán)請聯(lián)系作者刪除博文,謝謝!
翻譯論文匯總:https://github.com/SnailTyan/deep-learning-papers-translation
Deep Residual Learning for Image Recognition
摘要
更深的神經(jīng)網(wǎng)絡(luò)更難訓(xùn)練。我們提出了一種殘差學(xué)習(xí)框架來減輕網(wǎng)絡(luò)訓(xùn)練,這些網(wǎng)絡(luò)比以前使用的網(wǎng)絡(luò)更深。我們明確地將層變?yōu)閷W(xué)習(xí)關(guān)于層輸入的殘差函數(shù),而不是學(xué)習(xí)未參考的函數(shù)。我們提供了全面的經(jīng)驗證據(jù)說明這些殘差網(wǎng)絡(luò)很容易優(yōu)化,并可以顯著增加深度來提高準(zhǔn)確性。在ImageNet數(shù)據(jù)集上我們評估了深度高達152層的殘差網(wǎng)絡(luò)——比VGG[40]深8倍但仍具有較低的復(fù)雜度。這些殘差網(wǎng)絡(luò)的集合在ImageNet測試集上取得了3.57%的錯誤率。這個結(jié)果在ILSVRC 2015分類任務(wù)上贏得了第一名。我們也在CIFAR-10上分析了100層和1000層的殘差網(wǎng)絡(luò)。
對于許多視覺識別任務(wù)而言,表示的深度是至關(guān)重要的。僅由于我們非常深度的表示,我們便在COCO目標(biāo)檢測數(shù)據(jù)集上得到了28%的相對提高。深度殘差網(wǎng)絡(luò)是我們向ILSVRC和COCO 2015競賽提交的基礎(chǔ),我們也贏得了ImageNet檢測任務(wù),ImageNet定位任務(wù),COCO檢測和COCO分割任務(wù)的第一名。
1. 引言
深度卷積神經(jīng)網(wǎng)絡(luò)[22, 21]導(dǎo)致了圖像分類[21, 49, 39]的一系列突破。深度網(wǎng)絡(luò)自然地將低/中/高級特征[49]和分類器以端到端多層方式進行集成,特征的“級別”可以通過堆疊層的數(shù)量(深度)來豐富。最近的證據(jù)[40, 43]顯示網(wǎng)絡(luò)深度至關(guān)重要,在具有挑戰(zhàn)性的ImageNet數(shù)據(jù)集上領(lǐng)先的結(jié)果都采用了“非常深”[40]的模型,深度從16 [40]到30 [16]之間。許多其它重要的視覺識別任務(wù)[7, 11, 6, 32, 27]也從非常深的模型中得到了極大受益。
在深度重要性的推動下,出現(xiàn)了一個問題:學(xué)些更好的網(wǎng)絡(luò)是否像堆疊更多的層一樣容易?回答這個問題的一個障礙是梯度消失/爆炸[14, 1, 8]這個眾所周知的問題,它從一開始就阻礙了收斂。然而,這個問題通過標(biāo)準(zhǔn)初始化[23, 8, 36, 12]和中間標(biāo)準(zhǔn)化層[16]在很大程度上已經(jīng)解決,這使得數(shù)十層的網(wǎng)絡(luò)能通過具有反向傳播的隨機梯度下降(SGD)開始收斂。
當(dāng)更深的網(wǎng)絡(luò)能夠開始收斂時,暴露了一個退化問題:隨著網(wǎng)絡(luò)深度的增加,準(zhǔn)確率達到飽和(這可能并不奇怪)然后迅速下降。意外的是,這種退化不是由過擬合引起的,并且在適當(dāng)?shù)纳疃饶P蜕咸砑痈嗟膶訒?dǎo)致更高的訓(xùn)練誤差,正如[10, 41]中報告的那樣,并且由我們的實驗完全證實。圖1顯示了一個典型的例子。

圖1 20層和50層的“簡單”網(wǎng)絡(luò)在CIFAR-10上的訓(xùn)練誤差(左)和測試誤差(右)。更深的網(wǎng)絡(luò)有更高的訓(xùn)練誤差和測試誤差。ImageNet上的類似現(xiàn)象如圖4所示。
退化(訓(xùn)練準(zhǔn)確率)表明不是所有的系統(tǒng)都很容易優(yōu)化。讓我們考慮一個較淺的架構(gòu)及其更深層次的對象,為其添加更多的層。存在通過構(gòu)建得到更深層模型的解決方案:添加的層是恒等映射,其他層是從學(xué)習(xí)到的較淺模型的拷貝。 這種構(gòu)造解決方案的存在表明,較深的模型不應(yīng)該產(chǎn)生比其對應(yīng)的較淺模型更高的訓(xùn)練誤差。但是實驗表明,我們目前現(xiàn)有的解決方案無法找到與構(gòu)建的解決方案相比相對不錯或更好的解決方案(或在合理的時間內(nèi)無法實現(xiàn))。
在本文中,我們通過引入深度殘差學(xué)習(xí)框架解決了退化問題。我們明確地讓這些層擬合殘差映射,而不是希望每幾個堆疊的層直接擬合期望的底層映射。形式上,將期望的底層映射表示為$H(x)$,我們將堆疊的非線性層擬合另一個映射$F(x) := H(x) ? x$。原始的映射重寫為$F(x) + x$。我們假設(shè)殘差映射比原始的、未參考的映射更容易優(yōu)化。在極端情況下,如果一個恒等映射是最優(yōu)的,那么將殘差置為零比通過一堆非線性層來擬合恒等映射更容易。
公式$F (x) + x$可以通過帶有“快捷連接”的前向神經(jīng)網(wǎng)絡(luò)(圖2)來實現(xiàn)??旖葸B接[2, 33, 48]是那些跳過一層或更多層的連接。在我們的案例中,快捷連接簡單地執(zhí)行恒等映射,并將其輸出添加到堆疊層的輸出(圖2)。恒等快捷連接既不增加額外的參數(shù)也不增加計算復(fù)雜度。整個網(wǎng)絡(luò)仍然可以由帶有反向傳播的SGD進行端到端的訓(xùn)練,并且可以使用公共庫(例如,Caffe [19])輕松實現(xiàn),而無需修改求解器。

圖2. 殘差學(xué)習(xí):構(gòu)建塊
我們在ImageNet[35]上進行了綜合實驗來顯示退化問題并評估我們的方法。我們發(fā)現(xiàn):1)我們極深的殘差網(wǎng)絡(luò)易于優(yōu)化,但當(dāng)深度增加時,對應(yīng)的“簡單”網(wǎng)絡(luò)(簡單堆疊層)表現(xiàn)出更高的訓(xùn)練誤差;2)我們的深度殘差網(wǎng)絡(luò)可以從大大增加的深度中輕松獲得準(zhǔn)確性收益,生成的結(jié)果實質(zhì)上比以前的網(wǎng)絡(luò)更好。
CIFAR-10數(shù)據(jù)集上[20]也顯示出類似的現(xiàn)象,這表明了優(yōu)化的困難以及我們的方法的影響不僅僅是針對一個特定的數(shù)據(jù)集。我們在這個數(shù)據(jù)集上展示了成功訓(xùn)練的超過100層的模型,并探索了超過1000層的模型。
在ImageNet分類數(shù)據(jù)集[35]中,我們通過非常深的殘差網(wǎng)絡(luò)獲得了很好的結(jié)果。我們的152層殘差網(wǎng)絡(luò)是ImageNet上最深的網(wǎng)絡(luò),同時還具有比VGG網(wǎng)絡(luò)[40]更低的復(fù)雜性。我們的模型集合在ImageNet測試集上有3.57% top-5的錯誤率,并在ILSVRC 2015分類比賽中獲得了第一名。極深的表示在其它識別任務(wù)中也有極好的泛化性能,并帶領(lǐng)我們在進一步贏得了第一名:包括ILSVRC & COCO 2015競賽中的ImageNet檢測,ImageNet定位,COCO檢測和COCO分割。堅實的證據(jù)表明殘差學(xué)習(xí)準(zhǔn)則是通用的,并且我們期望它適用于其它的視覺和非視覺問題。
2. 相關(guān)工作
殘差表示。在圖像識別中,VLAD[18]是一種通過關(guān)于字典的殘差向量進行編碼的表示形式,F(xiàn)isher矢量[30]可以表示為VLAD的概率版本[18]。它們都是圖像檢索和圖像分類[4,47]中強大的淺層表示。對于矢量量化,編碼殘差矢量[17]被證明比編碼原始矢量更有效。
在低級視覺和計算機圖形學(xué)中,為了求解偏微分方程(PDE),廣泛使用的Multigrid方法[3]將系統(tǒng)重構(gòu)為在多個尺度上的子問題,其中每個子問題負(fù)責(zé)較粗尺度和較細(xì)尺度的殘差解。Multigrid的替代方法是層次化基礎(chǔ)預(yù)處理[44,45],它依賴于表示兩個尺度之間殘差向量的變量。已經(jīng)被證明[3,44,45]這些求解器比不知道解的殘差性質(zhì)的標(biāo)準(zhǔn)求解器收斂得更快。這些方法表明,良好的重構(gòu)或預(yù)處理可以簡化優(yōu)化。
快捷連接。導(dǎo)致快捷連接[2,33,48]的實踐和理論已經(jīng)被研究了很長時間。訓(xùn)練多層感知機(MLP)的早期實踐是添加一個線性層來連接網(wǎng)絡(luò)的輸入和輸出[33,48]。在[43,24]中,一些中間層直接連接到輔助分類器,用于解決梯度消失/爆炸。論文[38,37,31,46]提出了通過快捷連接實現(xiàn)層間響應(yīng),梯度和傳播誤差的方法。在[43]中,一個“inception”層由一個快捷分支和一些更深的分支組成。
和我們同時進行的工作,“highway networks” [41, 42]提出了門功能[15]的快捷連接。這些門是數(shù)據(jù)相關(guān)且有參數(shù)的,與我們不具有參數(shù)的恒等快捷連接相反。當(dāng)門控快捷連接“關(guān)閉”(接近零)時,高速網(wǎng)絡(luò)中的層表示非殘差函數(shù)。相反,我們的公式總是學(xué)習(xí)殘差函數(shù);我們的恒等快捷連接永遠(yuǎn)不會關(guān)閉,所有的信息總是通過,還有額外的殘差函數(shù)要學(xué)習(xí)。此外,高速網(wǎng)絡(luò)還沒有證實極度增加的深度(例如,超過100個層)帶來的準(zhǔn)確性收益。
3. 深度殘差學(xué)習(xí)
3.1. 殘差學(xué)習(xí)
我們考慮$H(x)$作為幾個堆疊層(不必是整個網(wǎng)絡(luò))要擬合的基礎(chǔ)映射,$x$表示這些層中第一層的輸入。假設(shè)多個非線性層可以漸近地近似復(fù)雜函數(shù),它等價于假設(shè)它們可以漸近地近似殘差函數(shù),即$H(x) ? x$(假設(shè)輸入輸出是相同維度)。因此,我們明確讓這些層近似參數(shù)函數(shù) $F(x) := H(x) ? x$,而不是期望堆疊層近似$H(x)$。因此原始函數(shù)變?yōu)?F(x) + x$。盡管兩種形式應(yīng)該都能漸近地近似要求的函數(shù)(如假設(shè)),但學(xué)習(xí)的難易程度可能是不同的。
關(guān)于退化問題的反直覺現(xiàn)象激發(fā)了這種重構(gòu)(圖1左)。正如我們在引言中討論的那樣,如果添加的層可以被構(gòu)建為恒等映射,更深模型的訓(xùn)練誤差應(yīng)該不大于它對應(yīng)的更淺版本。退化問題表明求解器通過多個非線性層來近似恒等映射可能有困難。通過殘差學(xué)習(xí)的重構(gòu),如果恒等映射是最優(yōu)的,求解器可能簡單地將多個非線性連接的權(quán)重推向零來接近恒等映射。
在實際情況下,恒等映射不太可能是最優(yōu)的,但是我們的重構(gòu)可能有助于對問題進行預(yù)處理。如果最優(yōu)函數(shù)比零映射更接近于恒等映射,則求解器應(yīng)該更容易找到關(guān)于恒等映射的抖動,而不是將該函數(shù)作為新函數(shù)來學(xué)習(xí)。我們通過實驗(圖7)顯示學(xué)習(xí)的殘差函數(shù)通常有更小的響應(yīng),表明恒等映射提供了合理的預(yù)處理。

圖7。層響應(yīng)在CIFAR-10上的標(biāo)準(zhǔn)差(std)。這些響應(yīng)是每個3×3層的輸出,在BN之后非線性之前。上面:以原始順序顯示層。下面:響應(yīng)按降序排列。
3.2. 快捷恒等映射
我們每隔幾個堆疊層采用殘差學(xué)習(xí)。構(gòu)建塊如圖2所示。在本文中我們考慮構(gòu)建塊正式定義為:
$$y = F(x, {W_i}) + x$$ (1)
$x$和$y$是考慮的層的輸入和輸出向量。函數(shù)$F(x, {W_i})$表示要學(xué)習(xí)的殘差映射。圖2中的例子有兩層,$F = W_2 \sigma(W_1x)$中$\sigma$表示ReLU[29],為了簡化寫法忽略偏置項。$F + x$操作通過快捷連接和各個元素相加來執(zhí)行。在相加之后我們采納了第二種非線性(即$\sigma(y)$,看圖2)。
公式(1)中的快捷連接既沒有引入外部參數(shù)又沒有增加計算復(fù)雜度。這不僅在實踐中有吸引力,而且在簡單網(wǎng)絡(luò)和殘差網(wǎng)絡(luò)的比較中也很重要。我們可以公平地比較同時具有相同數(shù)量的參數(shù),相同深度,寬度和計算成本的簡單/殘差網(wǎng)絡(luò)(除了不可忽略的元素加法之外)。
方程(1)中$x$和$F$的維度必須是相等的。如果不是這種情況(例如,當(dāng)更改輸入/輸出通道時),我們可以通過快捷連接執(zhí)行線性投影$W_s$來匹配維度:
$$y = F(x, {W_i }) + W_sx.$$
我們也可以使用方程(1)中的方陣$W_s$。但是我們將通過實驗表明,恒等映射足以解決退化問題,并且是合算的,因此$W_s$僅在匹配維度時使用。
殘差函數(shù)$F$的形式是可變的。本文中的實驗包括有兩層或三層(圖5)的函數(shù)$F$,同時可能有更多的層。但如果$F$只有一層,方程(1)類似于線性層:$y = W_1x + x$,我們沒有看到優(yōu)勢。

圖5。ImageNet的深度殘差函數(shù)$F$。左:ResNet-34的構(gòu)建塊(在56×56的特征圖上),如圖3。右:ResNet-50/101/152的“bottleneck”構(gòu)建塊。
我們還注意到,為了簡單起見,盡管上述符號是關(guān)于全連接層的,但它們同樣適用于卷積層。函數(shù)$F(x,{W_i})$可以表示多個卷積層。元素加法在兩個特征圖上逐通道進行。
3.3. 網(wǎng)絡(luò)架構(gòu)
我們測試了各種簡單/殘差網(wǎng)絡(luò),并觀察到了一致的現(xiàn)象。為了提供討論的實例,我們描述了ImageNet的兩個模型如下。
簡單網(wǎng)絡(luò)。 我們簡單網(wǎng)絡(luò)的基準(zhǔn)(圖3,中間)主要受到VGG網(wǎng)絡(luò)[40](圖3,左圖)的哲學(xué)啟發(fā)。卷積層主要有3×3的濾波器,并遵循兩個簡單的設(shè)計規(guī)則:(i)對于相同的輸出特征圖尺寸,層具有相同數(shù)量的濾波器;(ii)如果特征圖尺寸減半,則濾波器數(shù)量加倍,以便保持每層的時間復(fù)雜度。我們通過步長為2的卷積層直接執(zhí)行下采樣。網(wǎng)絡(luò)以全局平均池化層和具有softmax的1000維全連接層結(jié)束。圖3(中間)的加權(quán)層總數(shù)為34。

圖3。ImageNet的網(wǎng)絡(luò)架構(gòu)例子。左:作為參考的VGG-19模型40。中:具有34個參數(shù)層的簡單網(wǎng)絡(luò)(36億FLOPs)。右:具有34個參數(shù)層的殘差網(wǎng)絡(luò)(36億FLOPs)。帶點的快捷連接增加了維度。表1顯示了更多細(xì)節(jié)和其它變種。

表1。ImageNet架構(gòu)。構(gòu)建塊顯示在括號中(也可看圖5),以及構(gòu)建塊的堆疊數(shù)量。下采樣通過步長為2的conv3_1, conv4_1和conv5_1執(zhí)行。
值得注意的是我們的模型與VGG網(wǎng)絡(luò)(圖3左)相比,有更少的濾波器和更低的復(fù)雜度。我們的34層基準(zhǔn)有36億FLOP(乘加),僅是VGG-19(196億FLOP)的18%。
殘差網(wǎng)絡(luò)。 基于上述的簡單網(wǎng)絡(luò),我們插入快捷連接(圖3,右),將網(wǎng)絡(luò)轉(zhuǎn)換為其對應(yīng)的殘差版本。當(dāng)輸入和輸出具有相同的維度時(圖3中的實線快捷連接)時,可以直接使用恒等快捷連接(方程(1))。當(dāng)維度增加(圖3中的虛線快捷連接)時,我們考慮兩個選項:(A)快捷連接仍然執(zhí)行恒等映射,額外填充零輸入以增加維度。此選項不會引入額外的參數(shù);(B)方程(2)中的投影快捷連接用于匹配維度(由1×1卷積完成)。對于這兩個選項,當(dāng)快捷連接跨越兩種尺寸的特征圖時,它們執(zhí)行時步長為2。
3.4. 實現(xiàn)
ImageNet中我們的實現(xiàn)遵循[21,40]的實踐。調(diào)整圖像大小,其較短的邊在[256,480]之間進行隨機采樣,用于尺度增強[40]。224×224裁剪是從圖像或其水平翻轉(zhuǎn)中隨機采樣,并逐像素減去均值[21]。使用了[21]中的標(biāo)準(zhǔn)顏色增強。在每個卷積之后和激活之前,我們采用批量歸一化(BN)[16]。我們按照[12]的方法初始化權(quán)重,從零開始訓(xùn)練所有的簡單/殘差網(wǎng)絡(luò)。我們使用批大小為256的SGD方法。學(xué)習(xí)速度從0.1開始,當(dāng)誤差穩(wěn)定時學(xué)習(xí)率除以10,并且模型訓(xùn)練高達$60 × 10^4$次迭代。我們使用的權(quán)重衰減為0.0001,動量為0.9。根據(jù)[16]的實踐,我們不使用丟棄[13]。
在測試階段,為了比較學(xué)習(xí)我們采用標(biāo)準(zhǔn)的10-crop測試[21]。對于最好的結(jié)果,我們采用如[40, 12]中的全卷積形式,并在多尺度上對分?jǐn)?shù)進行平均(圖像歸一化,短邊位于{224, 256, 384, 480, 640}中)。
4. 實驗
4.1. ImageNet分類
我們在ImageNet 2012分類數(shù)據(jù)集[35]對我們的方法進行了評估,該數(shù)據(jù)集由1000個類別組成。這些模型在128萬張訓(xùn)練圖像上進行訓(xùn)練,并在5萬張驗證圖像上進行評估。我們也獲得了測試服務(wù)器報告的在10萬張測試圖像上的最終結(jié)果。我們評估了top-1和top-5錯誤率。
簡單網(wǎng)絡(luò)。我們首先評估18層和34層的簡單網(wǎng)絡(luò)。34層簡單網(wǎng)絡(luò)在圖3(中間)。18層簡單網(wǎng)絡(luò)是一種類似的形式。有關(guān)詳細(xì)的體系結(jié)構(gòu),請參見表1。
表2中的結(jié)果表明,較深的34層簡單網(wǎng)絡(luò)比較淺的18層簡單網(wǎng)絡(luò)有更高的驗證誤差。為了揭示原因,在圖4(左圖)中,我們比較訓(xùn)練過程中的訓(xùn)練/驗證誤差。我們觀察到退化問題——雖然18層簡單網(wǎng)絡(luò)的解空間是34層簡單網(wǎng)絡(luò)解空間的子空間,但34層簡單網(wǎng)絡(luò)在整個訓(xùn)練過程中具有較高的訓(xùn)練誤差。

表2。ImageNet驗證集上的Top-1錯誤率(%,10個裁剪圖像測試)。相比于對應(yīng)的簡單網(wǎng)絡(luò),ResNet沒有額外的參數(shù)。圖4顯示了訓(xùn)練過程。

圖4。在ImageNet上訓(xùn)練。細(xì)曲線表示訓(xùn)練誤差,粗曲線表示中心裁剪圖像的驗證誤差。左:18層和34層的簡單網(wǎng)絡(luò)。右:18層和34層的ResNet。在本圖中,殘差網(wǎng)絡(luò)與對應(yīng)的簡單網(wǎng)絡(luò)相比沒有額外的參數(shù)。
我們認(rèn)為這種優(yōu)化難度不可能是由于梯度消失引起的。這些簡單網(wǎng)絡(luò)使用BN[16]訓(xùn)練,這保證了前向傳播信號有非零方差。我們還驗證了反向傳播的梯度,結(jié)果顯示其符合BN的正常標(biāo)準(zhǔn)。因此既不是前向信號消失也不是反向信號消失。實際上,34層簡單網(wǎng)絡(luò)仍能取得有競爭力的準(zhǔn)確率(表3),這表明在某種程度上來說求解器仍工作。我們推測深度簡單網(wǎng)絡(luò)可能有指數(shù)級低收斂特性,這影響了訓(xùn)練誤差的降低。這種優(yōu)化困難的原因?qū)頃芯俊?/p>

表3。ImageNet驗證集錯誤率(%,10個裁剪圖像測試)。VGG16是基于我們的測試結(jié)果的。ResNet-50/101/152的選擇B僅使用投影增加維度。
殘差網(wǎng)絡(luò)。接下來我們評估18層和34層殘差網(wǎng)絡(luò)(ResNets)?;鶞?zhǔn)架構(gòu)與上述的簡單網(wǎng)絡(luò)相同,如圖3(右)所示,預(yù)計每對3×3濾波器都會添加快捷連接。在第一次比較(表2和圖4右側(cè))中,我們使用所有快捷連接的恒等映射和零填充以增加維度(選項A)。所以與對應(yīng)的簡單網(wǎng)絡(luò)相比,它們沒有額外的參數(shù)。
我們從表2和圖4中可以看到三個主要的觀察結(jié)果。首先,殘留學(xué)習(xí)的情況變了——34層ResNet比18層ResNet更好(2.8%)。更重要的是,34層ResNet顯示出較低的訓(xùn)練誤差,并且可以泛化到驗證數(shù)據(jù)。這表明在這種情況下,退化問題得到了很好的解決,我們從增加的深度中設(shè)法獲得了準(zhǔn)確性收益。
第二,與對應(yīng)的簡單網(wǎng)絡(luò)相比,由于成功的減少了訓(xùn)練誤差,34層ResNet降低了3.5%的top-1錯誤率。這種比較證實了在極深系統(tǒng)中殘差學(xué)習(xí)的有效性。
最后,我們還注意到18層的簡單/殘差網(wǎng)絡(luò)同樣地準(zhǔn)確(表2),但18層ResNet收斂更快(圖4右和左)。當(dāng)網(wǎng)絡(luò)“不過度深”時(18層),目前的SGD求解器仍能在簡單網(wǎng)絡(luò)中找到好的解。在這種情況下,ResNet通過在早期提供更快的收斂簡便了優(yōu)化。
恒等和投影快捷連接我們已經(jīng)表明沒有參數(shù),恒等快捷連接有助于訓(xùn)練。接下來我們調(diào)查投影快捷連接(方程2)。在表3中我們比較了三個選項:(A) 零填充快捷連接用來增加維度,所有的快捷連接是沒有參數(shù)的(與表2和圖4右相同);(B)投影快捷連接用來增加維度,其它的快捷連接是恒等的;(C)所有的快捷連接都是投影。
表3顯示,所有三個選項都比對應(yīng)的簡單網(wǎng)絡(luò)好很多。選項B比A略好。我們認(rèn)為這是因為A中的零填充確實沒有殘差學(xué)習(xí)。選項C比B稍好,我們把這歸因于許多(十三)投影快捷連接引入了額外參數(shù)。但A/B/C之間的細(xì)微差異表明,投影快捷連接對于解決退化問題不是至關(guān)重要的。因為我們在本文的剩余部分不再使用選項C,以減少內(nèi)存/時間復(fù)雜性和模型大小。恒等快捷連接對于不增加下面介紹的瓶頸結(jié)構(gòu)的復(fù)雜性尤為重要。
更深的瓶頸結(jié)構(gòu)。接下來我們描述ImageNet中我們使用的更深的網(wǎng)絡(luò)網(wǎng)絡(luò)。由于關(guān)注我們能承受的訓(xùn)練時間,我們將構(gòu)建塊修改為瓶頸設(shè)計。對于每個殘差函數(shù)$F$,我們使用3層堆疊而不是2層(圖5)。三層是1×1,3×3和1×1卷積,其中1×1層負(fù)責(zé)減小然后增加(恢復(fù))維度,使3×3層成為具有較小輸入/輸出維度的瓶頸。圖5展示了一個示例,兩個設(shè)計具有相似的時間復(fù)雜度。
無參數(shù)恒等快捷連接對于瓶頸架構(gòu)尤為重要。如果圖5(右)中的恒等快捷連接被投影替換,則可以顯示出時間復(fù)雜度和模型大小加倍,因為快捷連接是連接到兩個高維端。因此,恒等快捷連接可以為瓶頸設(shè)計得到更有效的模型。
50層ResNet:我們用3層瓶頸塊替換34層網(wǎng)絡(luò)中的每一個2層塊,得到了一個50層ResNet(表1)。我們使用選項B來增加維度。該模型有38億FLOP。
101層和152層ResNet:我們通過使用更多的3層瓶頸塊來構(gòu)建101層和152層ResNets(表1)。值得注意的是,盡管深度顯著增加,但152層ResNet(113億FLOP)仍然比VGG-16/19網(wǎng)絡(luò)(153/196億FLOP)具有更低的復(fù)雜度。
50/101/152層ResNet比34層ResNet的準(zhǔn)確性要高得多(表3和4)。我們沒有觀察到退化問題,因此可以從顯著增加的深度中獲得顯著的準(zhǔn)確性收益。所有評估指標(biāo)都能證明深度的收益(表3和表4)。
與最先進的方法比較。在表4中,我們與以前最好的單一模型結(jié)果進行比較。我們基準(zhǔn)的34層ResNet已經(jīng)取得了非常有競爭力的準(zhǔn)確性。我們的152層ResNet具有單模型4.49%的top-5錯誤率。這種單一模型的結(jié)果勝過以前的所有綜合結(jié)果(表5)。我們結(jié)合了六種不同深度的模型,形成一個集合(在提交時僅有兩個152層)。這在測試集上得到了3.5%的top-5錯誤率(表5)。這次提交在2015年ILSVRC中榮獲了第一名。

表4。單一模型在ImageNet驗證集上的錯誤率(%)(除了?是測試集上報告的錯誤率)。

表5。模型綜合的錯誤率(%)。top-5錯誤率是ImageNet測試集上的并由測試服務(wù)器報告的。
4.2. CIFAR-10和分析
我們對CIFAR-10數(shù)據(jù)集[20]進行了更多的研究,其中包括10個類別中的5萬張訓(xùn)練圖像和1萬張測試圖像。我們介紹了在訓(xùn)練集上進行訓(xùn)練和在測試集上進行評估的實驗。我們的焦點在于極深網(wǎng)絡(luò)的行為,但不是推動最先進的結(jié)果,所以我們有意使用如下的簡單架構(gòu)。
簡單/殘差架構(gòu)遵循圖3(中/右)的形式。網(wǎng)絡(luò)輸入是32×32的圖像,每個像素減去均值。第一層是3×3卷積。然后我們在大小為{32,16,8}的特征圖上分別使用了帶有3×3卷積的6n個堆疊層,每個特征圖大小使用2n層。濾波器數(shù)量分別為{16,32,64}。下采樣由步長為2的卷積進行。網(wǎng)絡(luò)以全局平均池化,一個10維全連接層和softmax作為結(jié)束。共有6n+2個堆疊的加權(quán)層。下表總結(jié)了這個架構(gòu):

當(dāng)使用快捷連接時,它們連接到成對的3×3卷積層上(共3n個快捷連接)。在這個數(shù)據(jù)集上,我們在所有案例中都使用恒等快捷連接(即選項A),因此我們的殘差模型與對應(yīng)的簡單模型具有完全相同的深度,寬度和參數(shù)數(shù)量。
我們使用的權(quán)重衰減為0.0001和動量為0.9,并采用[12]和BN[16]中的權(quán)重初始化,但沒有使用丟棄。這些模型在兩個GPU上進行訓(xùn)練,批處理大小為128。我們開始使用的學(xué)習(xí)率為0.1,在32k次和48k次迭代后學(xué)習(xí)率除以10,并在64k次迭代后終止訓(xùn)練,這是由45k/5k的訓(xùn)練/驗證集分割決定的。我們按照[24]中的簡單數(shù)據(jù)增強進行訓(xùn)練:每邊填充4個像素,并從填充圖像或其水平翻轉(zhuǎn)圖像中隨機采樣32×32的裁剪圖像。對于測試,我們只評估原始32×32圖像的單一視圖。
我們比較了$n = {3, 5, 7, 9}$,得到了20層,32層,44層和56層的網(wǎng)絡(luò)。圖6(左)顯示了簡單網(wǎng)絡(luò)的行為。深度簡單網(wǎng)絡(luò)經(jīng)歷了深度增加,隨著深度增加表現(xiàn)出了更高的訓(xùn)練誤差。這種現(xiàn)象類似于ImageNet中(圖4,左)和MNIST中(請看[41])的現(xiàn)象,表明這種優(yōu)化困難是一個基本的問題。

圖6。在CIFAR-10上訓(xùn)練。虛線表示訓(xùn)練誤差,粗線表示測試誤差。左:簡單網(wǎng)絡(luò)。簡單的110層網(wǎng)絡(luò)錯誤率超過60%沒有展示。中間:ResNet。右:110層ResNet和1202層ResNet。
圖6(中)顯示了ResNet的行為。與ImageNet的情況類似(圖4,右),我們的ResNet設(shè)法克服優(yōu)化困難并隨著深度的增加展示了準(zhǔn)確性收益。
層響應(yīng)分析。圖7顯示了層響應(yīng)的標(biāo)準(zhǔn)偏差(std)。這些響應(yīng)每個3×3層的輸出,在BN之后和其他非線性(ReLU/加法)之前。對于ResNets,該分析揭示了殘差函數(shù)的響應(yīng)強度。圖7顯示ResNet的響應(yīng)比其對應(yīng)的簡單網(wǎng)絡(luò)的響應(yīng)更小。這些結(jié)果支持了我們的基本動機(第3.1節(jié)),殘差函數(shù)通常具有比非殘差函數(shù)更接近零。我們還注意到,更深的ResNet具有較小的響應(yīng)幅度,如圖7中ResNet-20,56和110之間的比較所證明的。當(dāng)層數(shù)更多時,單層ResNet趨向于更少地修改信號。
探索超過1000層。我們探索超過1000層的過深的模型。我們設(shè)置$n = 200$,得到了1202層的網(wǎng)絡(luò),其訓(xùn)練如上所述。我們的方法顯示沒有優(yōu)化困難,這個$10^3$層網(wǎng)絡(luò)能夠?qū)崿F(xiàn)訓(xùn)練誤差<0.1%(圖6,右圖)。其測試誤差仍然很好(7.93%,表6)。
但是,這種極深的模型仍然存在著開放的問題。這個1202層網(wǎng)絡(luò)的測試結(jié)果比我們的110層網(wǎng)絡(luò)的測試結(jié)果更差,雖然兩者都具有類似的訓(xùn)練誤差。我們認(rèn)為這是因為過擬合。對于這種小型數(shù)據(jù)集,1202層網(wǎng)絡(luò)可能是不必要的大(19.4M)。在這個數(shù)據(jù)集應(yīng)用強大的正則化,如maxout[9]或者dropout[13]來獲得最佳結(jié)果([9,25,24,34])。在本文中,我們不使用maxout/dropout,只是簡單地通過設(shè)計深且窄的架構(gòu)簡單地進行正則化,而不會分散集中在優(yōu)化難點上的注意力。但結(jié)合更強的正規(guī)化可能會改善結(jié)果,我們將來會研究。
4.3. 在PASCAL和MS COCO上的目標(biāo)檢測
我們的方法對其他識別任務(wù)有很好的泛化性能。表7和表8顯示了PASCAL VOC 2007和2012[5]以及COCO[26]的目標(biāo)檢測基準(zhǔn)結(jié)果。我們采用更快的R-CNN[32]作為檢測方法。在這里,我們感興趣的是用ResNet-101替換VGG-16[40]。使用這兩種模式的檢測實現(xiàn)(見附錄)是一樣的,所以收益只能歸因于更好的網(wǎng)絡(luò)。最顯著的是,在有挑戰(zhàn)性的COCO數(shù)據(jù)集中,COCO的標(biāo)準(zhǔn)度量指標(biāo)(mAP@[.5,.95])增長了6.0%,相對改善了28%。這種收益完全是由于學(xué)習(xí)表示。

表7。在PASCAL VOC 2007/2012測試集上使用基準(zhǔn)Faster R-CNN的目標(biāo)檢測mAP(%)。更好的結(jié)果請看附錄。

表8。在COCO驗證集上使用基準(zhǔn)Faster R-CNN的目標(biāo)檢測mAP(%)。更好的結(jié)果請看附錄。
基于深度殘差網(wǎng)絡(luò),我們在ILSVRC & COCO 2015競賽的幾個任務(wù)中獲得了第一名,分別是:ImageNet檢測,ImageNet定位,COCO檢測,COCO分割。跟多細(xì)節(jié)請看附錄。
References
[1] Y.Bengio,P.Simard,andP.Frasconi.Learning long-term dependencies with gradient descent is difficult. IEEE Transactions on Neural Networks, 5(2):157–166, 1994.
[2] C. M. Bishop. Neural networks for pattern recognition. Oxford university 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 devil is 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] R. Girshick. Fast R-CNN. In ICCV, 2015.
[7] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In
CVPR, 2014.
[8] X. Glorot and Y. Bengio. Understanding the difficulty of training deep feedforward neural networks. In AISTATS, 2010.
[9] I. J. Goodfellow, D. Warde-Farley, M. Mirza, A. Courville, and Y. Bengio. Maxout networks. arXiv:1302.4389, 2013.
[10] K.Heand J.Sun. Convolutional neural networks at constrained time cost. In CVPR, 2015.
[11] K.He, X.Zhang, S.Ren, and J.Sun. Spatial pyramid pooling in deep convolutional networks for visual recognition. In ECCV, 2014.
[12] K. He, X. Zhang, S. Ren, and J. Sun. Delving deep into rectifiers: Surpassing human-level performance on imagenet classification. In
ICCV, 2015.
[13] G. E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever, and R. R. Salakhutdinov. Improving neural networks by preventing co-adaptation of feature detectors. arXiv:1207.0580, 2012.
[14] S. Hochreiter. Untersuchungen zu dynamischen neuronalen netzen. Diploma thesis, TU Munich, 1991.
[15] S. Hochreiter and J. Schmidhuber. Long short-term memory. Neural computation, 9(8):1735–1780, 1997.
[16] S. Ioffe and C. Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In ICML, 2015.
[17] H.Jegou, M.Douze, and C.Schmid. Product quantization for nearest neighbor search. TPAMI, 33, 2011.
[18] H. Jegou, F. Perronnin, M. Douze, J. Sanchez, P. Perez, and C. 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 for
fast 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 classification with 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 hand-written zip code recognition. Neural computation, 1989.
[23] Y.LeCun,L.Bottou,G.B.Orr,and K.-R.Muller. Efficient back prop. 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. Deeply-supervised 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 networks for 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 restricted boltzmann machines. In ICML, 2010.
[30] F. Perronnin and C. Dance. Fisher kernels on visual vocabularies for image categorization. In CVPR, 2007.
[31] T. Raiko, H. Valpola, and Y. LeCun. Deep learning made easier by linear transformations in perceptrons. In AISTATS, 2012.
[32] S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. In NIPS, 2015.
[33] B. D. Ripley. Pattern recognition and neural networks. Cambridge university press, 1996.
[34] A. Romero, N. Ballas, S. E. Kahou, A. Chassang, C. Gatta, and Y. Bengio. Fitnets: Hints for thin deep nets. In ICLR, 2015.
[35] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, et al. Imagenet large scale visual recognition challenge. arXiv:1409.0575, 2014.
[36] A. M. Saxe, J. L. McClelland, and S. Ganguli. Exact solutions to the nonlinear dynamics of learning in deep linear neural networks. arXiv:1312.6120, 2013.
[37] N.N.Schraudolph. Accelerated gradient descent by factor-centering decomposition. Technical report, 1998.
[38] N. N. Schraudolph. Centering neural network gradient factors. In Neural Networks: Tricks of the Trade, pages 207–226. Springer, 1998.
[39] P.Sermanet, D.Eigen, X.Zhang, M.Mathieu, R.Fergus, and Y.LeCun. Overfeat: Integrated recognition, localization and detection using convolutional networks. In ICLR, 2014.
[40] K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. In ICLR, 2015.
[41] R. K. Srivastava, K. Greff, and J. Schmidhuber. Highway networks. arXiv:1505.00387, 2015.
[42] R. K. Srivastava, K. Greff, and J. Schmidhuber. Training very deep networks. 1507.06228, 2015.
[43] 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.
[44] R. Szeliski. Fast surface interpolation using hierarchical basis functions. TPAMI, 1990.
[45] R. Szeliski. Locally adapted hierarchical basis preconditioning. In SIGGRAPH, 2006.
[46] T. Vatanen, T. Raiko, H. Valpola, and Y. LeCun. Pushing stochastic gradient towards second-order methods–backpropagation learning with transformations in nonlinearities. In Neural Information Processing, 2013.
[47] A. Vedaldi and B. Fulkerson. VLFeat: An open and portable library of computer vision algorithms, 2008.
[48] W. Venables and B. Ripley. Modern applied statistics with s-plus. 1999.
[49] M. D. Zeiler and R. Fergus. Visualizing and understanding convolutional neural networks. In ECCV, 2014.