聲明:作者翻譯論文僅為學(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ù)集上我們評估了深度高達(dá)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á)到飽和(這可能并不奇怪)然后迅速下降。意外的是蒙幻,這種退化不是由過擬合引起的映凳,并且在適當(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)熟妓⊙┲恚快捷連接[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)練高達(dá)$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.