深度殘差學(xué)習(xí)的在圖像識別中的應(yīng)用
摘要
層次更深的神經(jīng)網(wǎng)絡(luò)更難訓(xùn)練。 我們提出了一個殘差的學(xué)習(xí)框架,以便于對比以前使用的網(wǎng)絡(luò)深度更深的網(wǎng)絡(luò)進(jìn)行訓(xùn)練。 我們明確地將層重新組合成殘差函數(shù)并將其用于輸入,而不是學(xué)習(xí)未引用的函數(shù)。 我們提供全面的經(jīng)驗證據(jù)表明這些殘差網(wǎng)絡(luò)更容易優(yōu)化,并且可以從顯著增加的深度獲得準(zhǔn)確性。 在ImageNet數(shù)據(jù)集上,我們評估深度高達(dá)152層-殘差網(wǎng)絡(luò) 比VGG網(wǎng)更深8倍[41],但仍然具有較低的復(fù)雜性。 這些殘差網(wǎng)絡(luò)的集成在ImageNet測試集上實現(xiàn)了3.57%的誤差。 該結(jié)果在ILSVRC 2015分類任務(wù)中獲得第一名。 我們還提供了100和1000層的CIFAR-10分析。?
網(wǎng)絡(luò)的深度對于許多視覺識別任務(wù)而言至關(guān)重要。 僅僅由于我們極其深的模型表示,我們在COCO對象檢測數(shù)據(jù)集上獲得了28%的相對改進(jìn)。 深度殘差網(wǎng)是我們向ILSVRC和COCO 2015競賽1提交的基礎(chǔ),我們還在ImageNet檢測,ImageNet定位,COCO檢測和COCO分割任務(wù)中獲得了第一名。
深度卷積神經(jīng)網(wǎng)絡(luò)[22,21]為圖像分類帶來了一系列突破[21,50,40]。 深度網(wǎng)絡(luò)自然地以端到端多層方式集成低/中/高層次的特征[50]和分類器,并且可以通過堆疊層的數(shù)量(深度)來豐富特征的“層次”。 最近的研究[41,44]揭示了網(wǎng)絡(luò)深度至關(guān)重要,而具有挑戰(zhàn)性的ImageNet數(shù)據(jù)集[36]的主要結(jié)果[41,44,13,16]都利用了“非常深”的[41]模型, 深度為十六[41]至三十[16]。 許多其他非常重要的視覺識別任務(wù)[8,12,7,32,27]也有?
在深度的重要性驅(qū)動下,出現(xiàn)了一個問題:學(xué)習(xí)更好的網(wǎng)絡(luò)就像堆疊更多層一樣容易嗎? 回答這個問題的一個障礙是:臭名昭著的問題:梯度消失/爆炸梯度[1,9],它從一開始就阻礙了收斂。然而,這個問題在很大程度上通過歸一化初始化和中間歸一化層來解決,這使得具有數(shù)十個層的網(wǎng)絡(luò)能夠開始收斂以用于具有反向傳播的隨機梯度下降(SGD)。?
但是當(dāng)更深的網(wǎng)絡(luò)能夠開始收斂時,就會出現(xiàn)退化問題:隨著網(wǎng)絡(luò)深度的增加,準(zhǔn)確度變得飽和(這可能不足為奇),然后迅速退化。 出乎意料的是,這種退化不是由過度擬合引起的,并且在適當(dāng)?shù)纳疃饶P椭刑砑痈鄬訒?dǎo)致更高的訓(xùn)練誤差。?
退化(訓(xùn)練精度)表明并非所有系統(tǒng)都易于優(yōu)化。 讓我們考慮一個較淺的架構(gòu)及其更深的對應(yīng)物,在其上添加更多層。 對于更深層次的模型,存在構(gòu)造的解決方案:添加的層是身份映射,并且從學(xué)習(xí)的淺層模型復(fù)制其他層。 這種構(gòu)造的解決方案的存在表明,較深的模型不應(yīng)該產(chǎn)生比較淺的對應(yīng)物更高的訓(xùn)練誤差。 但實驗表明,我們現(xiàn)有的解決方案無法找到比構(gòu)建的解決方案更好或更好的解決方案(或者在可行的時間內(nèi)無法做到這一點)。?
在本文中,我們通過引入深度殘差學(xué)習(xí)框架來解決退化問題。 我們明確地讓這些層適合殘差映射,而不是希望每個少數(shù)堆疊層直接適合所需的底層映射。 形式上,將期望的底層映射表示為H(x),我們讓堆疊的非線性層適合F(x):= H(x)+x的另一個映射。 原始映射則為F(x)+ x。 我們假設(shè)優(yōu)化殘差映射比優(yōu)化原始的未引用的映射更容易。 在極端情況下,如果恒等映射是最優(yōu)的,則將殘差推到零,比通過一堆非線性層擬合恒等映射更容易。?
F(x)+ x的公式可以通過具有“shrotcut 連接”的前饋神經(jīng)網(wǎng)絡(luò)來實現(xiàn)。 直連方式連接是跳過一個或多個層的連接。 在我們的例子中,直連方式連接只是執(zhí)行恒等映射,并且它們的輸出被添加到堆疊層的輸出中。 恒等直連方式連接既不增加額外參數(shù)也不增加計算復(fù)雜度, 整個網(wǎng)絡(luò)仍然可以通過反向傳播由SGD端到端地進(jìn)行訓(xùn)練,并且可以使用公共庫輕松實現(xiàn)而無需修改求解器。如圖:
我們在ImageNet上進(jìn)行了全面的實驗,以退化問題來證明并評估我們的方法。 我們表明:1)我們極深的殘差網(wǎng)很容易優(yōu)化,但對應(yīng)的“普通”網(wǎng)(簡單地堆疊層)在深度增加時表現(xiàn)出更高的訓(xùn)練誤差; 2)我們的深度殘留網(wǎng)可以輕松地從大大增加的深度中獲得準(zhǔn)確性增益,從而產(chǎn)生比以前的網(wǎng)絡(luò)更好的結(jié)果。?
類似的現(xiàn)象也顯示在CIFAR-10集上,表明優(yōu)化困難和我們的方法的效果不僅僅類似于特定的數(shù)據(jù)集。 我們在該數(shù)據(jù)集上提供了100多個成功訓(xùn)練的模型,并探索了超過1000層的模型。?
在ImageNet分類數(shù)據(jù)集[中,我們通過極深的殘差網(wǎng)絡(luò)獲得了出色的結(jié)果。 我們的152層殘差網(wǎng)絡(luò)是ImageNet上有史以來最深的網(wǎng)絡(luò),同時仍然具有比VGG網(wǎng)絡(luò)更低的復(fù)雜性。 我們的團(tuán)隊在ImageNet測試集上有3.57%的前5名錯誤,并在ILSVRC 2015分類競賽中獲得第一名。 極其深刻的表現(xiàn)也在其他識別任務(wù)上具有出色的泛化性能,并使我們在ILSVRC和COCO 2015競賽中進(jìn)一步贏得第一名:ImageNet檢測,ImageNet本地化,COCO檢測和COCO分割。 這一有力證據(jù)表明殘差學(xué)習(xí)原則是通用的,我們希望它適用于其他視力和非視力問題。
殘差表示。 在圖像識別中,VLAD(Vector of Aggragate Locally Descriptor)是通過關(guān)于字典的殘差向量進(jìn)行編碼的表示,并且Fisher Vector可以被表達(dá)為VLAD的概率版本。 它們都是圖像檢索和分類的強大淺表示。 對于矢量量化,編碼殘差矢量展現(xiàn)出比編碼原始矢量更有效。?
在低層次的視覺和計算機圖形學(xué)中,為了求解偏微分方程(PDEs),廣泛使用的多重網(wǎng)格方法將系統(tǒng)重新表述為多個尺度的子問題,其中每個子問題負(fù)責(zé)較粗和較精細(xì)之間的殘差解。Multigrid的替代方法是分層基礎(chǔ)預(yù)處理,它依賴于表示兩個標(biāo)度之間的殘差向量的變量。 已經(jīng)表明,這些求解器比沒有殘留性質(zhì)的標(biāo)準(zhǔn)求解器收斂得快得多。 這些方法表明良好的重構(gòu)或預(yù)處理可以簡化優(yōu)化。?
直連。 長期以來,人們一直在研究可以實現(xiàn)直連的實踐和理論。 訓(xùn)練多層感知器(MLP)的早期實踐是添加從網(wǎng)絡(luò)輸入連接到輸出的線性層。 一些中間層直接連接到輔助分類器,用于解決消失/爆炸梯度。 “初始”層由直連分支和幾個更深的分支組成。?
與我們的工作同步的是,“高速公路網(wǎng)絡(luò)”提供了與閘控功能的直連。這些門是數(shù)據(jù)相關(guān)的并且具有參數(shù),與我們的無參數(shù)直連方式形成對比。 當(dāng)閘控直連方式“關(guān)閉”(接近零)時,公路網(wǎng)絡(luò)中的層表示非殘留功能。 相反,我們的表述總是學(xué)習(xí)殘差功能; 我們的身份直連方式永遠(yuǎn)不會被關(guān)閉,所有信息總是通過,還需要學(xué)習(xí)額外的殘差功能。 此外,高速公路網(wǎng)絡(luò)并沒有在深度極度增加的情況下顯示出準(zhǔn)確性增益。
讓我們將H(x)視為由幾個堆疊層(不一定是整個網(wǎng)絡(luò))擬合的底層映射,其中x表示這些層中第一個的輸入。 如果假設(shè)多個非線性層可以漸近逼近復(fù)雜函數(shù),那么它等效于假設(shè)它們可以漸近逼近殘差函數(shù),即H(x)- x(假設(shè)輸入和輸出具有相同的維度)。 因此,不是期望堆疊層接近H(x),我們明確地讓這些層近似于殘余函數(shù)F(x):= H(x)-x。 因此原始函數(shù)變?yōu)镕(x)+ x。 雖然兩種形式都應(yīng)該能夠漸近地逼近所需的函數(shù)(如假設(shè)的),但學(xué)習(xí)的容易程度可能會有所不同。?
這種重新制定的動機是關(guān)于退化問題的違反直覺的現(xiàn)象。 正如我們在介紹中所討論的那樣,如果添加的層可以構(gòu)造為恒等映射,則更深層次的模型應(yīng)該具有不大于其較淺對應(yīng)物的訓(xùn)練誤差。 退化問題表明求解器可能難以通過多個非線性層逼近恒等映射。 利用殘差學(xué)習(xí)重構(gòu),如果恒等映射是最優(yōu)的,則解決方案可以簡單地將多個非線性層的權(quán)重推向零以接近恒等映射。?
在實際情況中,恒等映射不太可能是最優(yōu)的,但我們的重新制定可能有助于預(yù)處理問題。 如果最優(yōu)函數(shù)更接近于恒等映射而不是零映射,那么應(yīng)該更容易參考恒等映射來查找擾動,而不是將該函數(shù)作為新映射來學(xué)習(xí)。 我們通過實驗(圖7)表明,學(xué)習(xí)的殘差函數(shù)通常具有較小的響應(yīng),這表明恒等映射提供了合理的預(yù)處理。
我們對每個堆疊層采用殘差學(xué)習(xí)。 構(gòu)建塊如圖2所示。在本文中,我們認(rèn)為構(gòu)造塊定義為:

圖二:殘差學(xué)習(xí):構(gòu)建塊
這里x和y是所考慮的層的輸入和輸出向量。 函數(shù)F(x; f{Wi})表示要學(xué)習(xí)的殘差映射。 對于圖2中的例子,它有兩層,?


其中σ 表示ReLU,省略了偏差以簡化符號。 通過直連和逐元素添加來執(zhí)行操作F + x。 我們在加法后采用第二個非線性單元。?
方程中的直連方式連接既不引入額外參數(shù)也不引入計算復(fù)雜性。 這不僅在實踐中具有吸引力,而且在我們對普通網(wǎng)絡(luò)和殘差網(wǎng)絡(luò)之間的比較中也很重要。 我們可以公平地比較同時具有相同數(shù)量的參數(shù),深度,寬度和計算成本的普通/殘差網(wǎng)絡(luò)(除了可忽略的元素添加之外)。?
公式中x和F的維度必須相等。 如果不是這種情況(例如,在更改輸入/輸出通道時),我們可以通過直連方式連接執(zhí)行線性投影Ws以匹配維度:?
我們也可以在方程中使用方陣矩陣。 但是我們將通過實驗證明,恒等映射足以解決退化問題并且是經(jīng)濟(jì)的,因此Ws僅在匹配維度時使用。?
殘差函數(shù)F的形式是靈活的。 本文中的實驗涉及具有兩層或三層的函數(shù)F(圖5),而更多層是可能的。 但是如果F只有一層,則方程(1)類似于線性層:y = W1x + x,我們沒有觀察到它們的優(yōu)點。?
我們還注意到,盡管為簡單起見,上述符號是關(guān)于完全連接的層,但它們適用于卷積層。 函數(shù)F(x; f{Wi})可以表示多個卷積層。 逐個元素添加是在兩個特征映射上逐個通道執(zhí)行的。
我們測試了各種普通/殘差網(wǎng),并觀察到了一致的現(xiàn)象。 為了提供討論的實例,我們?yōu)镮mageNet描述了兩個模型,如下所示。?
普通網(wǎng)絡(luò)。 我們的普通網(wǎng)絡(luò)基線(圖3,中間)主要受到VGG網(wǎng)絡(luò)設(shè)計理念的啟發(fā)(圖3,左)。 卷積層主要有3*3個過濾器,遵循兩個簡單的設(shè)計規(guī)則:(i)對于相同的輸出特征映射大小,層具有相同數(shù)量的過濾器; (ii)如果特征映射大小減半,則過濾器的數(shù)量加倍,以便保持每層的時間復(fù)雜度。 我們直接通過步幅為2的卷積層進(jìn)行下采樣。網(wǎng)絡(luò)以全局平均池層和帶有softmax的1000路全連接層結(jié)束。 在圖3(中間)中,加權(quán)層的總數(shù)是34。?
值得注意的是,我們的模型比VGG網(wǎng)絡(luò)具有更少的過濾器和更低的復(fù)雜性[41](圖3,左)。 我們的34層基線有36億FLOP(乘法增加),僅為VGG-19(196億FLOP)的18%。?

圖3. ImageNet的示例網(wǎng)絡(luò)體系結(jié)構(gòu)。 左圖:VGG-19模型(196億FLOP)作為參考。 中:具有34個參數(shù)層(36億FLOP)的普通網(wǎng)絡(luò)。 右:具有34個參數(shù)層(36億FLOP)的殘差網(wǎng)絡(luò)。 虛線直連鍵增加了尺寸。 表1顯示了更多細(xì)節(jié)和其他變體。
殘差網(wǎng)絡(luò)。 基于上述普通網(wǎng)絡(luò),我們插入了直連(圖3,右),將網(wǎng)絡(luò)轉(zhuǎn)換為對應(yīng)的殘差版本。 當(dāng)輸入和輸出具有相同的尺寸時,可以直接使用標(biāo)識直連方式(公式(1))(圖3中的實線直連方式)。 當(dāng)尺寸增加時(圖3中的虛線直連),我們考慮兩個選項:(A)直連方式仍然執(zhí)行恒等映射,為增加尺寸填充額外的零條目。 此選項不引入額外參數(shù); (B)方程(2)中的投影直連方式用于匹配維度(由1*1個卷積完成)。 對于這兩個選項,當(dāng)直連方式跨越兩種尺寸的特征圖譜時,它們的步幅為2。?
3.4 實現(xiàn)?
我們對ImageNet的實現(xiàn)遵循[21,41]中的實踐。 調(diào)整圖像大小,其短邊隨機采樣[256; 480]用于比例增加[41]。 從圖像或其水平翻轉(zhuǎn)中隨機采樣224*224裁剪,減去每像素平均值[21]。 使用[21]中的標(biāo)準(zhǔn)顏色增強。 我們采用批量歸一化(BN)[16],在每次卷積之后和激活之前,[16]之后。 我們在[13]中初始化權(quán)重,并從頭開始訓(xùn)練所有普通/殘差網(wǎng)。 我們使用小批量256的SGD。學(xué)習(xí)率從0.1開始,當(dāng)誤差平穩(wěn)時除以10,并且模型訓(xùn)練多達(dá)60*10^4次迭代。 我們使用0.0001的權(quán)重衰減和0.9的動量。 我們不按照[16]中的做法使用dropout[14]。?
在測試中,對于比較研究,我們采用標(biāo)準(zhǔn)的剪切10次測試[21]。 為了獲得最佳結(jié)果,我們采用[41,13]中的完全卷積形式,并在多個尺度上平均得分(圖像被調(diào)整大小以使得短邊在{224; 256; 384; 480; 640}。?
4 實驗?
4.1 ImageNet分類?
我們在由1000個類組成的ImageNet 2012分類數(shù)據(jù)集[36]上評估我們的方法。 模型在128萬個訓(xùn)練圖像上進(jìn)行訓(xùn)練,并在50k驗證圖像上進(jìn)行評估。 我們還獲得了測試服務(wù)器報告的100k測試圖像的最終結(jié)果。 我們的得分是前1和前5錯誤率。?
普通網(wǎng)絡(luò)。 我們首先評估18層和34層普通網(wǎng)。 34層普通網(wǎng)在圖3(中間)。 18層普通網(wǎng)具有類似的形式。 有關(guān)詳細(xì)的體系結(jié)構(gòu),請參閱表1。?
表2中的結(jié)果表明,較深的34層平網(wǎng)比較淺的18層平網(wǎng)具有更高的驗證誤差。 為了揭示原因,在圖4(左)中,我們比較了他們在訓(xùn)練過程中的訓(xùn)練/驗證錯誤。 我們觀察到了退化問題 - 即使18層普通網(wǎng)絡(luò)的解空間是34層平面網(wǎng)絡(luò)的子空間,34層普通網(wǎng)在整個訓(xùn)練過程中也有較高的訓(xùn)練誤差。?



我們認(rèn)為這種優(yōu)化難度不太可能是由于梯度消失造成的。 這些普通網(wǎng)絡(luò)采用BN [16]進(jìn)行訓(xùn)練,確保前向傳播信號具有非零方差。 我們還驗證了向后傳播的梯度與BN表現(xiàn)出正常的規(guī)范。 因此,前向和后向信號都不會消失。 實際上,34層普通網(wǎng)仍然能夠達(dá)到競爭準(zhǔn)確性(表3),這表明求解器在某種程度上起作用。 我們推測深層次的普通網(wǎng)可能具有指數(shù)級低的收斂速度,這會影響訓(xùn)練誤差的減少。 這種優(yōu)化困難的原因?qū)⒃趯磉M(jìn)行研究。?
殘差網(wǎng)絡(luò)。 接下來,我們評估18層和34層殘差網(wǎng)(ResNets)。 架構(gòu)的基準(zhǔn)與上述普通網(wǎng)絡(luò)相同,期望直連添加到每對3*3過濾器,如圖3(右)所示。 在第一次比較中(表2和圖4右),我們對所有直連方式使用標(biāo)識映射,為增加維度使用零填充(選項A)。 因此,與普通網(wǎng)絡(luò)相比,他們沒有額外的參數(shù)。?
我們從表2和圖4中得到了三個主要觀察結(jié)果。首先,在殘差學(xué)習(xí)中情況相反 - 34層ResNet優(yōu)于18層ResNet(2.8%)。 更重要的是,34層ResNet表現(xiàn)出相當(dāng)?shù)偷挠?xùn)練誤差,并且可以推廣到驗證數(shù)據(jù)。 這表明在該設(shè)置中很好地解決了退化問題,并且我們設(shè)法從增加的深度獲得準(zhǔn)確性增益。?
其次,與對應(yīng)的普通網(wǎng)絡(luò)相比,34層ResNet將前1個誤差減少了3.5%(表2),這是由于成功減少了訓(xùn)練誤差(圖4右對左)。 該比較驗證了極深模型上殘差學(xué)習(xí)的有效性。?
最后,我們還注意到18層普通/殘差網(wǎng)絡(luò)準(zhǔn)確率對比(表2),但18層ResNet收斂速度更快(圖4右側(cè)與左側(cè))。 當(dāng)網(wǎng)絡(luò)“不太深”(此處為18層)時,當(dāng)前的SGD解算器仍然能夠找到普通網(wǎng)絡(luò)的良好解決方案。 在這種情況下,ResNet通過在早期階段提供更快的收斂來簡化優(yōu)化。?
Identity vs. Projection Shortcuts(投影直連)我們已經(jīng)證明,無參數(shù)的標(biāo)識直連方式有助于訓(xùn)練。 接下來我們研究投影直連方式(方程(2))。 在表3中,我們比較了三個選項:(A)零填充直連方式用于增加維度,所有直連方式都是無參數(shù)(與表2和圖4右相同); (B)投影直連方式用于增加維度,其他直連方式是標(biāo)識; (C)所有直連都是投影。?




表3顯示所有三個選項都明顯優(yōu)于普通對應(yīng)選項。 B略好于A.我們認(rèn)為這是因為A中的零填充維度確實沒有殘差學(xué)習(xí)。 C略微優(yōu)于B,我們將其歸因于許多(13個)投影直連方式引入的額外參數(shù)。 但A / B / C之間的微小差異表明,投影殘差對解決退化問題并不重要。 因此,我們在本文的其余部分不使用選項C來減少內(nèi)存/時間復(fù)雜度和模型大小。 標(biāo)識直連方式對于不增加下面介紹的瓶頸架構(gòu)的復(fù)雜性特別重要。?
更深層次的瓶頸架構(gòu)。 接下來,我們將為ImageNet描述更深層的網(wǎng)絡(luò)。 由于擔(dā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ù)標(biāo)識快捷方式對于瓶頸架構(gòu)尤為重要。 如果用投影替換圖5(右)中的標(biāo)識快捷方式,則會發(fā)現(xiàn)時間復(fù)雜度和模型大小加倍,因為快捷方式連接到兩個高維端。 因此,標(biāo)識捷徑可以為瓶頸設(shè)計帶來更高效的模型。?
50層ResNet:我們用這個3層瓶頸塊替換34層網(wǎng)絡(luò)中的每個2層塊,產(chǎn)生50層ResNet(表1)。 我們使用選項B來增加維度。 這個模型的FLOPs為38億。?
101層和152層ResNets:我們通過使用更多的3層塊構(gòu)建101層和152層ResNets(表1)。 值得注意的是,雖然深度顯著增加,但152層ResNet(113億FLOP)的復(fù)雜程度仍低于VGG-16/19網(wǎng)(15.3 / 196億FLOP)。?
50/101/152層ResNets比34層ResNets更準(zhǔn)確,相當(dāng)大的差距(表3和4)。 我們沒有觀察到退化問題,并且從顯著增加的深度獲得顯著的準(zhǔn)確性增益。 所有評估指標(biāo)都見證了深度的好處(表3和表4)。?
與最先進(jìn)的方法進(jìn)行比較。 在表4中,我們與之前的最佳單模型結(jié)果進(jìn)行了比較。 我們的34層ResNets的基準(zhǔn)已經(jīng)達(dá)到了極具競爭力的準(zhǔn)確性。 我們的152層ResNet的單模型前5驗證誤差為4.49%。 該單模型結(jié)果優(yōu)于所有先前的整體結(jié)果(表5)。 我們將六種不同深度的模型組合成一個整體(在提交時只有兩個152層的模型)。 這得到的測試集上的前5誤差為3.57%(表5)。 此項目在2015年ILSVRC中獲得第一名。?
4.2. CIFAR10 and Analysis?
我們對CIFAR-10數(shù)據(jù)集進(jìn)行了更多的研究[20],其中包括1包含0個類別的50k個訓(xùn)練圖像和10k測試圖像。 我們提供在訓(xùn)練集上訓(xùn)練的實驗并在測試集上進(jìn)行評估。 我們的重點是極端深度網(wǎng)絡(luò)的行為,而不是推動最先進(jìn)的結(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的卷積來執(zhí)行的。網(wǎng)絡(luò)以全局平均池,10條通道的全連接層和softmax結(jié)束。 總共有6n + 2個堆疊加權(quán)層。 下表總結(jié)了該體系結(jié)構(gòu):?

使用快捷方式連接時,它們連接到3*3層(總共3n個快捷連接)。 在這個數(shù)據(jù)集上,我們在所有情況下使用標(biāo)識快捷方式(即選項A),因此我們的殘差模型具有與普通對應(yīng)網(wǎng)絡(luò)完全相同的深度,寬度和參數(shù)數(shù)量。

我們使用0.0001的權(quán)重衰減和0.9的動量,并在[13]和BN [16]中采用權(quán)重初始化但沒有丟失。 這些模型在兩個GPU上進(jìn)行了小批量128的小批量訓(xùn)練。 我們從學(xué)習(xí)率0.1開始,在32k和48k迭代時將其除以10,并在64k迭代時終止訓(xùn)練,這是在45k / 5k訓(xùn)練/ 驗證比例時確定的。 我們按照[24]中的簡單數(shù)據(jù)增強進(jìn)行訓(xùn)練:每側(cè)填充4個像素,從填充圖像或其水平翻轉(zhuǎn)中隨機采樣32*32剪切。 為了測試,我們只評估原始32*32圖像的單個視圖。?
我們比較n = {3;5;7; 9},通向20,32,44和56層網(wǎng)絡(luò)。 圖6(左)顯示了普通網(wǎng)的行為。 深度普通網(wǎng)絡(luò)受深度增加的影響,并且在深入時表現(xiàn)出更高的訓(xùn)練誤差。 這種現(xiàn)象類似于ImageNet(圖4,左)和MNIST(見[42]),表明這種優(yōu)化難度是一個根本問題。?
圖6(中)顯示了ResNets的表現(xiàn)。 與ImageNet案例(圖4,右圖)類似,我們的ResNets設(shè)法克服優(yōu)化難度并在深度增加時顯示出準(zhǔn)確度增益。?
我們進(jìn)一步探索n = 18,構(gòu)成110層ResNet。 在這種情況下,我們發(fā)現(xiàn)0.1的初始學(xué)習(xí)率有點太大而無法開始收斂。 所以我們使用0.01來訓(xùn)練訓(xùn)練,直到訓(xùn)練誤差低于80%(大約400次迭代),然后回到0.1并繼續(xù)訓(xùn)練。 其余學(xué)習(xí)計劃如前所述。 這個110層網(wǎng)絡(luò)收斂良好(圖6,中間)。 它比其他深度和薄型網(wǎng)絡(luò)(如FitNet [35]和Highway [42](表6))的參數(shù)更少,但卻是最先進(jìn)的結(jié)果(6.43%,表6)。?


層響應(yīng)分析。 圖7顯示了層響應(yīng)的標(biāo)準(zhǔn)偏差(std)。 響應(yīng)是每個3*3層的輸出,在BN之后和其他非線性之前(ReLU /加法)。 對于ResNets,該分析揭示了殘差函數(shù)的響應(yīng)強度。 圖7顯示ResNets通常具有比普通對應(yīng)網(wǎng)絡(luò)更小的響應(yīng)。 這些結(jié)果支持我們的基本動機(Sec.3.1),殘差函數(shù)通常可能比非殘差函數(shù)更接近零。 我們還注意到,更深層次的ResNet具有更小的響應(yīng)幅度,如圖7中ResNet-20,56和110之間的比較所證明的。當(dāng)存在更多層時,單個ResNets層傾向于更少地修改信號。?
探索超過1000層。 我們探索了超過1000層的非常深層的模型。 我們將n = 200會帶來1202層網(wǎng)絡(luò),其如上所述進(jìn)行訓(xùn)練。 我們的方法沒有顯示優(yōu)化難度,這個10^3層網(wǎng)絡(luò)能夠?qū)崿F(xiàn)<0.1%的訓(xùn)練誤差(圖6,右)。 它的測試誤差仍然相當(dāng)不錯(7.93%,表6)。?

但是,在如此龐大的深層模型中仍存在未解決的問題。 這個1202層網(wǎng)絡(luò)的測試結(jié)果比我們的110層網(wǎng)絡(luò)差,盡管兩者都有類似的訓(xùn)練誤差。 我們認(rèn)為這是因為過度擬合。 對于這個小數(shù)據(jù)集,1202層網(wǎng)絡(luò)可能不必要地大(19.4M)。 應(yīng)用強正則化(例如maxout [10]或dropout [14])以獲得該數(shù)據(jù)集的最佳結(jié)果([10,25,24,35])。 在本文中,我們不使用maxout / dropout,只是簡單地通過設(shè)計的深層和薄層架構(gòu)進(jìn)行正則化,而不會分散對優(yōu)化難度的關(guān)注。 但結(jié)合更強的正規(guī)化可能會改善結(jié)果,我們將在未來研究。?
4.3 PASCAL和MS COCO上的物體檢測?
我們的方法在其他識別任務(wù)上具有良好的泛化性能。 表7和表8顯示了PASCAL VOC 2007和2012 [5]以及COCO [26]的物體檢測結(jié)果基準(zhǔn)。 我們采用更快的R-CNN [32]作為檢測方法。 在這里,我們感興趣的是用ResNet-101取代VGG-16 [41]的改進(jìn)。 使用兩種模型的檢測實現(xiàn)(見附錄)是相同的,因此增益只能歸功于更好的網(wǎng)絡(luò)。 最值得注意的是,在具有挑戰(zhàn)性的COCO數(shù)據(jù)集中,我們獲得了COCO標(biāo)準(zhǔn)指標(biāo)(mAP @ [。5,.95])增加了6.0%,相對改善了28%。 這一收益完全歸功于學(xué)到的表述。?
基于深度殘差網(wǎng)絡(luò),我們在ILSVRC和COCO 2015競賽的幾個賽道中獲得了第一名:ImageNet檢測,ImageNet定位,COCO檢測和COCO分割。 詳情見附錄。
附錄未翻譯,翻譯中有錯請大家指正。附上原文鏈接http://www.cs.princeton.edu/courses/archive/spring16/cos598F/msra-deepnet.pdf