4
本文作者: 李尊 | 2016-06-30 15:32 |
在現(xiàn)有基礎(chǔ)下,想要進(jìn)一步訓(xùn)練更深層次的神經(jīng)網(wǎng)絡(luò)是非常困難的。我們提出了一種減輕網(wǎng)絡(luò)訓(xùn)練負(fù)擔(dān)的殘差學(xué)習(xí)框架,這種網(wǎng)絡(luò)比以前使用過的網(wǎng)絡(luò)本質(zhì)上層次更深。我們明確地將這層作為輸入層相關(guān)的學(xué)習(xí)殘差函數(shù),而不是學(xué)習(xí)未知的函數(shù)。同時,我們提供了全面實驗數(shù)據(jù),這些數(shù)據(jù)證明殘差網(wǎng)絡(luò)更容易優(yōu)化,并且可以從深度增加中大大提高精度。我們在ImageNet數(shù)據(jù)集用152 層--比VGG網(wǎng)絡(luò)深8倍的深度來評估殘差網(wǎng)絡(luò),但它仍具有較低的復(fù)雜度。在ImageNet測試集中,這些殘差網(wǎng)絡(luò)整體達(dá)到了3.57%的誤差。該結(jié)果在2015年大規(guī)模視覺識別挑戰(zhàn)賽分類任務(wù)中贏得了第一。此外,我們還用了100到1000層深度分析了的CIFAR-10。
對于大部分視覺識別任務(wù),深度表示是非常重要的。僅由于極深的表示,在COCO對象檢查數(shù)據(jù)時,我們就得到了近28%相關(guān)的改進(jìn)。深度剩余網(wǎng)絡(luò)是我們提交給ILSVRC和COCO2015競賽的基礎(chǔ),而且在ImageNet檢測任務(wù),ImageNet定位,COCO檢測和COCO分割等領(lǐng)域贏我們獲得了第一。
簡介
深度卷積神經(jīng)網(wǎng)絡(luò)在圖像分類方面,引發(fā)了一系列突破。通過改變疊層的數(shù)量(深度),深度網(wǎng)絡(luò)自然整合低/中/高水平的功能,終端到終端多層方式的分層器,和特征的“水平”都變得更加豐富。最近的證據(jù)表明網(wǎng)絡(luò)深度是至關(guān)重要的,在挑戰(zhàn)性的ImageNet數(shù)據(jù)集中領(lǐng)先結(jié)果的團(tuán)隊,都利用了“很深”模型,該深度為十六至三十。而且很多特殊的視覺識別任務(wù)也從深度模型中大大受益。
受到深度意義的驅(qū)使,出現(xiàn)了一個問題:學(xué)習(xí)更好的網(wǎng)絡(luò)是否和疊加層數(shù)一樣簡單?解決該問題的一大障礙是臭名昭著的梯度爆發(fā)與消失問題,它從一開始就阻礙了收斂。然而,這個問題很大程度上被歸一的初始化和中心歸一層解決了,它確保幾十層的網(wǎng)絡(luò)開始用反向傳播收斂隨機梯度下降(SGD)。
當(dāng)更深的網(wǎng)絡(luò)能夠開始融合時,暴露出了降級問題:隨著網(wǎng)絡(luò)深度的增加,精準(zhǔn)度開始飽和(這并不令人吃驚)然后迅速下降。預(yù)料之外的是,在[11,42]中報道并且經(jīng)過我們實驗徹底驗,證精準(zhǔn)度的下降并不是由過度擬合造成的,而且在相配的深度模式中增加更多的層數(shù),會造成更高的訓(xùn)練誤差。圖1展示了一個經(jīng)典的實例。
圖1.20層和56層“平原”網(wǎng)絡(luò)時CIFAR-10的訓(xùn)練誤差(左)和測試誤差(右),深度網(wǎng)絡(luò)有著更高的訓(xùn)練誤差,并且造成測試誤差。在圖4也展示了圖像網(wǎng)中類似的現(xiàn)象。
精準(zhǔn)度的下降表明了,并不是所有的系統(tǒng)都同樣容易優(yōu)化。我們考慮一個較淺的體系結(jié)構(gòu)和與它深度相似增加了更多層的體系結(jié)構(gòu)。其中一個解決方案是建立更深層的模型:添加身份映射層,另一層則是從學(xué)習(xí)更淺的模型中拷貝的。這個構(gòu)造解決方案的存在,表示應(yīng)該制造一個更深層模型,該模型產(chǎn)生的訓(xùn)練誤差,低于與它深度相似更淺的模型。但實驗顯示我們目前無法找到一個與構(gòu)造解決方案一樣好,或者更好的解決方案(或者無法再可行的時間內(nèi)完成)。
在本論文中,介紹了一個深層次的殘差學(xué)習(xí)框架來解決精準(zhǔn)度下降問題。我們明確地讓這些層適合殘差映射,而不是寄希望于每一個堆疊層直接適合一個所需的底層映射。形式上,把H(x)作為所需的基本映射,讓堆疊的非線性層適合另一個映射F(x):=H(x)-x。那么原映射便轉(zhuǎn)化成:F(x)+x。我們假設(shè)優(yōu)化剩余的映射,比優(yōu)化原來未引用的映射更容易。如果身份映射是最佳的,那么將剩余的映射推為零,就比用一堆非線性層來適應(yīng)身份映射更容易。
公式F(x)+x可以通過“快捷連接”前饋神經(jīng)網(wǎng)絡(luò)實現(xiàn)(圖2)??旖葸B接是那些跳過中的一層或更多層。在我們的情景中,快捷連接簡單的執(zhí)行身份映射,并將它們的輸出添加到疊加層的輸出(圖2)。身份快捷連接添加既不產(chǎn)生額外的參數(shù),也會增加不計算的復(fù)雜度。通過反向傳播的SGD,整個網(wǎng)絡(luò)仍然可以被訓(xùn)練成終端到終端,并且可以在沒有修改器的情況下很容易的使用公共圖書館(例如Caffe)。
我們在ImageNet上進(jìn)行了綜合性的實驗展示精準(zhǔn)度下降問題,并評估我們的方法。我們發(fā)現(xiàn):(1)特別深的殘差網(wǎng)很容易優(yōu)化,但深度增加時,對應(yīng)的“平面”網(wǎng)(即簡單的堆棧層)表現(xiàn)出更高的訓(xùn)練誤差。(2)深度殘差網(wǎng)絡(luò)能夠在大大增加深度中獲得高精準(zhǔn)度, 產(chǎn)生的結(jié)果本質(zhì)上優(yōu)于以前的網(wǎng)絡(luò)。
相似的現(xiàn)象同樣出現(xiàn)在了CIFAR-10集中,這表明了優(yōu)化的難度,以及我們方法影響的不僅僅是類似于一個特定的數(shù)據(jù)集。我們在這個超過100層數(shù)據(jù)集中提出了成功的訓(xùn)練模型,并探討了超過1000層的模型。
在ImageNet分層數(shù)據(jù)集中,通過極深的殘差網(wǎng)絡(luò),我們得到了非常好的結(jié)果。152層的殘差網(wǎng)絡(luò)在ImageNet中是最深層的網(wǎng)絡(luò),同時相比于VGG網(wǎng)絡(luò)仍然具有較低的復(fù)雜性。我們的集成在ImageNet測試集中有3.57%排前5的誤差,并且在2015ILSVRC分類競爭中取得第一名。這種極深的陳述在其它識別任務(wù)方面也有出色的泛化性能,并帶領(lǐng)我們進(jìn)一步贏得了
第一的位置:在ILSVRC和COCO2015競賽中的,mageNet檢測,ImageNet定位,COCO檢測,和COCO分割方面。這有力的證據(jù)表明,剩余的學(xué)習(xí)的原則是通用的,我們期望它適用于其它的視覺和非視覺問題。
2.相關(guān)工作
殘差表示。在圖像識別中,VLAD是一個象征,通過關(guān)于字典的殘差向量進(jìn)行編程,而且費舍爾向量可以被制定成VLAD的概率版本。它們兩個對于圖像檢索與分類都是有效的淺表示。
對于矢量化,編碼殘差向量比編碼原始向量更有效。
在低層次視覺和計算機圖形學(xué)中,為了解決偏微分方程(PDEs),它們廣泛的使用多重網(wǎng)格法,將系統(tǒng)重構(gòu)成多尺度的子問題,每個子問題負(fù)責(zé)更粗和更細(xì)規(guī)模之間的殘差解答。多重網(wǎng)格的一種替代方法是分層的基礎(chǔ)預(yù)處理,它依賴于表示兩個尺度之間的殘差向量的變量。
這些收斂解法比不知道殘差性質(zhì)的標(biāo)準(zhǔn)解法快得多。這些方法表明,一個好的方法或預(yù)處理可以簡化優(yōu)化。
快捷連接。導(dǎo)致快捷連接的方法和理論已經(jīng)被研究了很長時間。訓(xùn)練多層感知器早期的實踐是從網(wǎng)絡(luò)的輸入到輸出添加一個線性層。在[44,24]中,一些中間層直接連接到輔助分類器,來解決梯度的爆發(fā)與消失問題。論文的[39,38,31,47]提出用于中心層響應(yīng),梯度和傳播誤差了的方法,該方法通過快捷連接實現(xiàn)。在[ 44 ],一個“開始”層是由一個快捷的分支和一些更深的分支組成。
并發(fā)我們的工作,“highway network”提出了門控功能的快捷連接。這些門依賴于數(shù)據(jù)和已有的參數(shù),而我們的身份快捷鍵無需參數(shù)。當(dāng)一個門控的快捷方式“關(guān)閉”(接近零時),highway network中的層代表非殘差函數(shù)。相反的是,我們的想法總是學(xué)習(xí)殘差函數(shù),我們的身份快捷方式從來沒有關(guān)閉,而且所有的信息通過時,總是需要學(xué)習(xí)額外的殘差函數(shù)。此外,highway network并沒有表現(xiàn)出,精準(zhǔn)度并沒有隨著深度的大大增加而提高(例如,超過100層)。
將H(X)假設(shè)為由幾個堆疊層匹配的(不一定是整個網(wǎng))基礎(chǔ)映射,用x表示這些第一層的輸入。假設(shè)多元非線性層能逼近復(fù)雜的函數(shù)2,也就相當(dāng)于假設(shè)它們可以逼近殘差函數(shù),例如H(x)-x(假設(shè)輸入和輸出在同一規(guī)模)。因此我們非常明確的讓這些層近似于殘差函數(shù),而并非期待堆疊層近似于H(x)。所以原函數(shù)變成了:F(x)+x。盡管兩種形式都能逼近期望函數(shù),但它的學(xué)習(xí)難易度可能不同。
新的構(gòu)思源于反常的精準(zhǔn)度下降問題。如我們在簡介中討論的一樣,如果添加的層可以被構(gòu)造為身份映射,那么一個更深度模型的訓(xùn)練誤差,不應(yīng)大于與其相應(yīng)的更淺的模型訓(xùn)練誤差。精準(zhǔn)度下降問題表明,求解器在通過多個非線性層近似于身份映射方面有困難。隨著殘差學(xué)習(xí)重構(gòu),如果身份映射是最佳的方法,那么求解器可以簡單地驅(qū)動多個非線性層的權(quán)重趨向于零,以便逼近身份映射。
在現(xiàn)實情況中,身份映射不可能是最優(yōu)的,但我們的方法可能有助于事先處理該問題。如果最優(yōu)函數(shù)與趨近于零映射相比更趨近于身份函數(shù),那么與學(xué)習(xí)一個新函數(shù)相比,求解器更容易找到關(guān)于身份映射的干擾。我們通過實驗展示(圖7)所學(xué)到的剩余函數(shù)一般有小的響應(yīng),這表明身份映射提供了合理的預(yù)處理。
圖2殘差學(xué)習(xí):一個構(gòu)建模塊
3.2??旖莘绞降纳矸萦成?/strong>
我們對每一個堆疊層都采用殘差學(xué)習(xí),一個構(gòu)建模塊如圖2所示。正式地說,本文構(gòu)建模塊定義為:
其中x和y是考慮到的層的輸入和輸出向量。函數(shù)F(x,{Wi})代表學(xué)習(xí)的殘差函數(shù)。如圖2所示有兩個層,F(xiàn)=W2?(W1x)中?表示ReLU,而且消除了簡化符號的偏見。F+x的操作是是由快捷連接和增加的元素智能進(jìn)行的。在增加之后我門采用了第二非線性特性(例如?(y)如圖2)。
公式(1)中介紹的快捷連接,沒有額外的參數(shù)和復(fù)雜的計算。這不僅在實踐中有吸引力,它在對比平原和殘差網(wǎng)絡(luò)方面也同樣重要。有著相同數(shù)量的參數(shù),深度,寬度和計算成本時(除了可以忽略不計的元素智能的添加),我們可以對平原和殘差網(wǎng)絡(luò)進(jìn)行簡單的對比。
在式1中x和F的大小必須相同。如果不同(例如改變輸入和輸出渠道)我們可以通過快捷連接線性投影Ws來匹配維度:
我們也可以在式1中使用一個正方形矩陣Ws。但我們會通過實驗表明,身份映射足以
用于解決精準(zhǔn)度下降問題并且是非常合算的,因此只有在匹配維度時,才使用Ws。
殘差函數(shù)F的形式是靈活的,本文的實驗涉及一個有兩層或三層(圖5)或者更多層的函數(shù)F。但如果F僅僅只有單層,式1就類似于線性層:y=W1x+x,因為們沒有觀察的優(yōu)勢。
我們還注意到,雖然上面的符號為了簡單起見是關(guān)于完全連接的層,但它們適用于卷積層。函數(shù)F(x,{Wi})可以代表多個卷積層。增加的元素智能在兩個特征映射上通過通道對通道的方式進(jìn)行。
3.3網(wǎng)絡(luò)構(gòu)架
我們測試了不同的平原和殘差網(wǎng)絡(luò),并且觀察到一致現(xiàn)象。為了給論述提供實例,我們描述了兩個ImageNet模型如下。
平原網(wǎng)絡(luò)。我們的平原基線(圖3,中間)主要受啟于VGG網(wǎng)理論(圖3,左)。卷積層主要有3X3的過濾器并遵循兩個簡單的設(shè)計規(guī)則:(i)對于相同的輸出特征映射大小,圖層有相同數(shù)量的濾波器;(ii)如果特征映射的大小被減半,過濾器的數(shù)量增加一倍,以保持每層的時間復(fù)雜度。我們通過有一個跨度為2的卷積層,直接進(jìn)行下采樣。網(wǎng)絡(luò)以一個全局平均池層和有著最溫和的1000路全連接層結(jié)尾。圖3(中間)中加權(quán)層的總數(shù)是34。值得注意的是,我們的模型比VGG網(wǎng)(圖3,左)有著更少的過濾器和更低的復(fù)雜度。我們的34層基線有3.6億個觸發(fā)器(乘加),這只有vgg-19的18%(19.6億觸發(fā)器)。
殘差網(wǎng)絡(luò)?;谏厦娴钠皆W(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)快捷鍵以兩個大小在功能地圖上進(jìn)行時,這兩個選項進(jìn)行了2跨度。
3.4 實施
我們遵循了[21,41]中的方法,實施ImageNet。圖像的大小與隨著[ 256,480 中]它的短邊隨機采樣而調(diào)整,以便增大規(guī)模[ 41 ]。 224x224的結(jié)果,是從減去每個像素的平均值的圖像或其水平翻轉(zhuǎn)圖像,中隨機抽樣得到的。在[ 21 ]中增強了標(biāo)準(zhǔn)色。在每一個卷積之后和激活之前,我們采用了BN算法。我們?nèi)鏪 13]中一樣初始化權(quán)重 ,并從零開始訓(xùn)練所有的平原和殘差網(wǎng)。我們使用了一個迷你的SGD大小為256。學(xué)習(xí)率從0.1開始,并在誤差穩(wěn)定時分為10份,而且我們訓(xùn)練該模型高達(dá)60x104次迭代。我們使用重量衰減為0.0001和0.9。而不是使用傳統(tǒng)[ 16 ]中的慣例。
測試中,為了對比我們采用標(biāo)準(zhǔn)的10-crop試驗。為達(dá)到最佳效果,我們采用完全卷積形式如[ 41,13 ]中所示,并且平均多尺度大小的成績(短側(cè)圖像的大小調(diào)整在{ 224,256,384,480,640 }中)。
4實驗
4.1 Imagenet分級
我們在ImageNet 2012分類數(shù)據(jù)集中評估了我們的方法,該數(shù)據(jù)集由1000個級組成。我們在128萬訓(xùn)練圖像中訓(xùn)練模型,并且在50K驗證圖像進(jìn)行了評估。測試中心報道,我們也在100k的測試圖像中獲得了最終結(jié)果。評估誤差率在第1和第5之間。
平面網(wǎng)絡(luò)。我們首先評估了18層和34層平原網(wǎng)。34層的平原網(wǎng)在圖3(中間)中。18層平面網(wǎng)形式是類似。詳細(xì)架構(gòu)見表1。
表2顯示的結(jié)果表明,較深的34層平面網(wǎng)具有比淺18層平面網(wǎng)更高的驗證錯誤。為了揭示原因,在圖4(左)中,我們比較了培訓(xùn)過程中的訓(xùn)練和驗證錯誤。
圖3。展示ImageNet網(wǎng)絡(luò)架構(gòu)。左:vgg-19模型(19.6億觸發(fā)器)作為參考。中間:一個有34個參數(shù)層的普通網(wǎng)絡(luò)(3.6億個觸發(fā)器)。右:有34g1參數(shù)層的殘差網(wǎng)絡(luò)(3.6億觸發(fā)器)??旖萱I點增加尺寸。表1顯示更多細(xì)節(jié)和其他變型。
我們觀察到退化問題------在整個訓(xùn)練過程中34層的普通網(wǎng)絡(luò)錯誤更多,盡管18層普通網(wǎng)絡(luò)的解空間是34層的一個子空間。
表1. ImageNet的構(gòu)架。
我們會爭論優(yōu)化困難不太可能是由梯度消失問題導(dǎo)致的。所有的普通網(wǎng)絡(luò)都是通過BN訓(xùn)練的,而這也保證了向前傳播的信號有非零差異性。此外我們也要保證反向傳播梯度在BN中表現(xiàn)出良好。所以無論是向前或是向后信號都消失了。事實上,34層的普通網(wǎng)絡(luò)準(zhǔn)確率更高(如表3),而這在一定的程度上也暗示了解算器。我們猜想深度普通網(wǎng)絡(luò)可能會有指數(shù)較低的收斂率能降低訓(xùn)練錯誤。此類優(yōu)化問題會在未來進(jìn)行研究。
圖4. ImageNet訓(xùn)練。細(xì)曲線指代訓(xùn)練錯誤,粗曲線指代核心部分的合理錯誤。左邊:18層和34層的普通網(wǎng)絡(luò)。右邊:18層和34層的殘差網(wǎng)絡(luò)。在此處,殘差網(wǎng)絡(luò)和普通網(wǎng)絡(luò)的參數(shù)一樣。
表2.在ImageNet確認(rèn)部分的最低錯誤率。
殘差網(wǎng)絡(luò)。接下來我們會18層和34層的殘差網(wǎng)絡(luò)。殘差網(wǎng)絡(luò)的框架基準(zhǔn)線與普通網(wǎng)絡(luò)一樣,處理每一對3×3過濾器有增加快捷連接(圖3,右)。在第一個比較中(表2和圖4,右),所有用于增加維度的捷徑和補零都用使用身份定位。所以殘差網(wǎng)絡(luò)與普通網(wǎng)絡(luò)的參數(shù)并無區(qū)別。
我們從表2和圖4中得出3個重大發(fā)現(xiàn)。第一,與殘差學(xué)習(xí)模式相反的情況----34層網(wǎng)絡(luò)比18層網(wǎng)絡(luò)表現(xiàn)要好(2.8%左右)。更重要的是,34層殘差網(wǎng)絡(luò)比18層殘差網(wǎng)絡(luò)錯誤率更低,并且使用于驗證數(shù)據(jù)。而這也表明退化問題能在此設(shè)置中解決且我們能從更深層次中獲得準(zhǔn)確率。
第二,與普通網(wǎng)絡(luò)相比,34層殘差網(wǎng)絡(luò)將最低錯誤率降低了3.5%(如圖2所示)。這一比較證實了殘差網(wǎng)絡(luò)在深度學(xué)習(xí)系統(tǒng)中的優(yōu)越性。
表3.在ImageNet確認(rèn)部分的錯誤率。VGG-16是基于我們自己的測試。ResNet-50/101/152基于B方案的,且只使用規(guī)劃增加維度。
表4. ImageNet確認(rèn)部分使用單一模式的錯誤率。
表5.整體錯誤率。
最后,我們注意到18層的普通和殘差網(wǎng)絡(luò)是比較準(zhǔn)確的(表2),但是18層的殘差網(wǎng)絡(luò)匯集更快(圖4右VS左)。當(dāng)網(wǎng)絡(luò)沒有“過度重合”(如18層),當(dāng)前的SGD求解程序依然可以在普通網(wǎng)絡(luò)找到好的解決方法。在此情況下,在早期階段通過提供更快的聚合能緩解ResNet的優(yōu)化問題。
恒等式VS規(guī)劃捷徑。我們發(fā)現(xiàn)無參數(shù)和身份捷徑能幫助訓(xùn)練。接下來我們會研究規(guī)劃捷徑(等式2)。在表3中我們比較了三種選擇:(A)使用補零捷徑增加維度,且所有的維度都無參數(shù)(如表2和圖4,右);(B)使用規(guī)劃捷徑增加維度,而其他的捷徑都是恒等式;(C)所有的捷徑都是規(guī)劃的。
圖5.深層殘差網(wǎng)絡(luò)的在ImageNet的功能F。
表3顯示三個方案就普通網(wǎng)絡(luò)比較而言都表現(xiàn)得更出色。B比A表現(xiàn)更好。我們會懷疑這是因為A中的零填充維度不具備殘差學(xué)習(xí)模式。C比B表現(xiàn)稍好,我們將此歸功于許多(13個)設(shè)計捷徑引入許多其他因素。但只有在A/B/C之間的少量不同能證明規(guī)劃捷徑對于解決退化問題十分關(guān)鍵。所以為控制記憶、時間復(fù)雜性,及模式規(guī)模,在本文的剩余部分我們不使用方案C。恒等式捷徑對于不增加瓶頸的結(jié)構(gòu)復(fù)雜性至關(guān)重要。
更深層次的瓶頸結(jié)構(gòu)
接下來我們會描述ImageNet更深層次網(wǎng)絡(luò)。因為鑒于我們時間有限,要改善區(qū)塊,將其變成瓶頸設(shè)計。對于每一個殘留功能F,我們使用3層瓶頸模式,而不是2層。這3層分別是1×1,3×3和1×1的回旋。在此范圍中,所有的1×1層都用于先減少后增加(存儲)量度,讓3×3層的輸入或是輸出量度更小。圖5展示了一個例子,這兩個設(shè)計的時間復(fù)雜性都一樣。
無參數(shù)恒等式捷徑對于瓶頸的結(jié)構(gòu)尤為重要。如果圖5(右)中的恒等式捷徑被規(guī)劃所取代,我們能發(fā)現(xiàn)時間復(fù)雜性和模式大小都會翻倍,因為捷徑是連接兩個高量度端。
50層的殘留網(wǎng)絡(luò)
在34層網(wǎng)絡(luò)結(jié)構(gòu)中,我們用3層的瓶頸區(qū)塊取代2層的區(qū)塊,這時34層結(jié)構(gòu)就會變成50層殘差結(jié)構(gòu)。我們使用B方案增加量度。而這一模式有38億FLOPs。
101層和152層的殘差網(wǎng)絡(luò)模式。我們通過使用3層的瓶頸區(qū)塊構(gòu)建101層和152層的殘差模式。讓人驚訝的是,盡管深度顯著增加,152層的殘差模式(113億FLOPs)復(fù)雜性較VGG-16/19網(wǎng)絡(luò)(153/196億FLOPs)更小。
34層的殘差網(wǎng)絡(luò)較50/101/152層更準(zhǔn)確。我們不關(guān)注退化問題,因此更在意隨著深度增加而增加的準(zhǔn)確度。
先進(jìn)方法之間的比較。在表4中,我們比較了之前單一模式所取得的最好結(jié)果。而我們34層殘差網(wǎng)絡(luò)模式準(zhǔn)確度最高。152層ResNet模式錯誤率最低4.49%。而這也超過之前所有模式。我們結(jié)合6種不同深度的模式形成一種合集模式,這一模在測試中的錯誤率只有3.57%,讓我們在ILSVRC2015中拔得頭籌。
4.2 CIFAR-10和分析
我們在CIFAR-10的數(shù)據(jù)集中進(jìn)行多場研究,此數(shù)據(jù)集包括50k的訓(xùn)練圖像和10K測試圖像,且這些圖像都被分成了10類。我們將會展示在訓(xùn)練集中訓(xùn)練和在測試集中評估的試驗。我們關(guān)注的焦點在于深層網(wǎng)絡(luò)的行為,不在于取得最好結(jié)果,所以我們有意使用簡單結(jié)構(gòu)。
所有普通/殘差結(jié)構(gòu)都必須遵循圖3 的流程。網(wǎng)絡(luò)輸入32×32的圖像,但像素有所縮小。第一層是3×3回旋。接下來是6n層的3×3回旋,且特征神經(jīng)網(wǎng)絡(luò)有2n層左右大小。過濾層的數(shù)量分別是{16,32,64}。二次抽樣是由跨度在2左右的回旋執(zhí)行的。網(wǎng)絡(luò)結(jié)構(gòu)終止于10個完全連接層。這里總共有6n+2的權(quán)重層。下表總結(jié)了其結(jié)構(gòu)構(gòu)成。
但當(dāng)它們都運用捷徑連接時,它們就是通過3×3層連接起來。在此數(shù)據(jù)集中,我們在所有的情況下都使用恒等式捷徑,所以我們殘留模式有與簡單模式完全一樣的深度,寬度和參數(shù)數(shù)量。
圖6 基于CIFAR的錯誤分類
我們使用了權(quán)重衰減為0.0001和沖量單位為0.9,并且在采用權(quán)值初始化和BN方法但并未輸出。這些模式是在128有2個GPUs大小規(guī)模的數(shù)據(jù)中進(jìn)行一次訓(xùn)練。我們開始的學(xué)習(xí)率是0.1,且由32k和48k迭代次數(shù)分為10類,且在64k迭代次數(shù)結(jié)束訓(xùn)練。我們根據(jù)簡單的訓(xùn)練數(shù)據(jù)增大:每一邊填充4像素,最后從填充的數(shù)據(jù)圖像中隨機選取32×32的結(jié)果。對于測試,我們只評價最初的32×32圖像。
我們比較當(dāng)n={3,5,7}時,20層,32層,44層和56層的網(wǎng)絡(luò)結(jié)構(gòu)。圖6(左)展示的是普通網(wǎng)絡(luò)的表現(xiàn)。普通網(wǎng)絡(luò)隨著深度的增加錯誤率也會變高。這與ImageNet和MNIST是類似的,這說明優(yōu)化問題是一個基礎(chǔ)問題。
圖6向我們展示了ResNet的表現(xiàn)。與ImageNet類似,ResNet旨在隨著深度的增加,克服優(yōu)化問題和提高準(zhǔn)確率。
我們會更加深入探討當(dāng)n=18,110層的殘差網(wǎng)絡(luò)結(jié)構(gòu)。在此情況下,我們發(fā)現(xiàn)初始學(xué)習(xí)率為0.1對于會聚還是太高了。所以我們使用0.01的初始學(xué)習(xí)率再進(jìn)行訓(xùn)練,直到錯誤率低于80%時,才使用0.1的初始值進(jìn)行訓(xùn)練。接下來的程序如之前所述進(jìn)行。110層的網(wǎng)絡(luò)匯聚的十分好(圖6中)。它比其他深度或是簡單模式的參數(shù)更少,如FitNet和Highway,但是結(jié)果卻是十分的優(yōu)秀。
圖7.在CIFAR-10上的層對于標(biāo)準(zhǔn)背離的表現(xiàn)。其反應(yīng)是3×3層的結(jié)構(gòu)輸出,在BN之后和非線性之前。上:是層的原始排列。下:是按照降序的方法排列其反應(yīng)。
反應(yīng)分析。CIFAR-10上的層對于標(biāo)準(zhǔn)背離的表現(xiàn)。其反應(yīng)是3×3層的結(jié)構(gòu)輸出,在BN之后和非線性之前。對于殘差網(wǎng)絡(luò),這一分析反應(yīng)的是殘差函數(shù)的影響。圖7顯示ResNet通常比原始網(wǎng)絡(luò)反應(yīng)更小。這一結(jié)果證實了我們最初的想法殘差函數(shù)比非殘差函數(shù)更接近于零。更深層次的ResNet反應(yīng)幅度更小,如圖7ResNet-20,56,和100所示。隨著層數(shù)的增加,ResNet的每一次會傾向于少改變信號。
超過100層的探索。我們深入探索超過1000層的深度模式。我們假設(shè)n=200,此時的網(wǎng)絡(luò)結(jié)果超過1202層。我們的模式?jīng)]有任何優(yōu)化問題,103的網(wǎng)絡(luò)結(jié)構(gòu)能實現(xiàn)訓(xùn)練錯誤率<0.1%(圖6右)。其測試錯誤率也十分的低(7.93%,表6)。
但是在深度模式中還是有問題。
1202層的測試結(jié)果比110層的要差,盡管兩者的訓(xùn)練錯誤率差不多。我們認(rèn)為是過度擬合造成的。
1202層網(wǎng)絡(luò)系統(tǒng)對于如此小是數(shù)據(jù)集或許是太大了。為在此數(shù)據(jù)集中,取得較好結(jié)果有必要做重要調(diào)整如Maxout激發(fā)函數(shù)和Dropout激發(fā)函數(shù)。在本文中,我們并未使用Maxout激發(fā)函數(shù)和Dropout激發(fā)函數(shù),僅僅只通過深度和簡單結(jié)構(gòu)做一些修改。但是聯(lián)合更大的調(diào)整也許能取得更好的結(jié)果,這一課題我們會在未來進(jìn)行研究。
圖7使用更快的R-CNN標(biāo)準(zhǔn),在PASCAL VOC 2007/2012測試集上進(jìn)行目標(biāo)檢測。
圖8使用更快的R-CNN標(biāo)準(zhǔn),在COCO驗證集中進(jìn)行目標(biāo)測試。
4.3 在PASCAL和MSCOCO上的目標(biāo)檢測
我們的模式在其他的識別任務(wù)中有較好的表現(xiàn)。表7和表8顯示了基于PASCAL VOC 2007,2012和COCO上,目標(biāo)測試結(jié)果。我們采用更快的R-CNN作為測試方法。我們對于使用ResNet取代VGG-16方法所獲得的進(jìn)步很感興趣。使用兩種模式所得到的方法是一樣的,所以所獲結(jié)果的差別在于網(wǎng)絡(luò)結(jié)構(gòu)。更令人驚訝的是,在極具挑戰(zhàn)性的COCO數(shù)據(jù)集中,我們?nèi)〉昧?.0%的進(jìn)步,相較而言是有28%左右的進(jìn)步。這全歸功于所學(xué)得的表現(xiàn)。
基于深度殘差網(wǎng)絡(luò),我們贏得了ILSVRC&COCO2015比賽的冠軍:圖像識別,圖像定位和公共圖像識別和公共圖像分類。詳情請見附錄。
A.對象檢測基準(zhǔn)
在這一節(jié)中來介紹我們基于Faster R-CNN系統(tǒng)的檢測方法。這個模型最初是用來進(jìn)行Imagenet分類,然后被用于對象檢測數(shù)據(jù)領(lǐng)域。在ILSVRC&COCO 2015檢測競賽中我們實現(xiàn)了ResNet-50/101。
與參考文獻(xiàn)[32]中的VGG-16不一樣,ResNet沒有隱藏的fc層。我們將“卷曲特性圖的神經(jīng)網(wǎng)絡(luò)”理念運用到這個問題中。將全圖卷曲特性進(jìn)行預(yù)算(如表1所示)??紤]到這些層級和VGG-16中的13卷曲層類似,這樣ResNet和VGG-16就都有同樣的跨步了(16像素)。最終的分類層被兩個同級層取代。
對于BN層的使用,在訓(xùn)練之前我們隊ImageNet的每個訓(xùn)練層都進(jìn)行了BN統(tǒng)計。然后BN層在轉(zhuǎn)移到物體檢測時被修正了。通過這些訓(xùn)練,BN層變得更加線性活躍了,而且BN統(tǒng)計數(shù)據(jù)不會隨著轉(zhuǎn)移而變化。這些對BN層的修正主要是為了減少在Faster-CNN訓(xùn)練過程中的內(nèi)存消耗。
PASCAL VOC
針對PASCAL VOC 2007數(shù)據(jù)組,我們和參考文獻(xiàn)[7,32]中使用的方法一樣,用來訓(xùn)練Faster R-CNN的超參數(shù)和參考文獻(xiàn)[32]中提到的一樣,表7展示的是訓(xùn)練結(jié)果。ResNet-101在VGG-16的基礎(chǔ)上提高了mAP超過3%的成績。
MS COCO
MS COCO數(shù)據(jù)組包括80種對象類別。我們使用80k圖像來針對訓(xùn)練組,40k圖像來針對預(yù)判組。RPN步態(tài)和Fast R-CNN步態(tài)都使用0.001學(xué)習(xí)率的240k迭代來進(jìn)行訓(xùn)練,然后在0.0001學(xué)習(xí)率的80k迭代下訓(xùn)練。
表8展示的是MS COCO的訓(xùn)練結(jié)果,這些結(jié)果證明深度網(wǎng)絡(luò)的確能提高識別和定位的效率。
B. 對象檢測提升
為了追求完美,我們針對競賽提升了性能。這些提升都是基于深度特性的,而且對殘差學(xué)習(xí)有益。
MS COCO
邊界改良
我們的邊界改良沿用的是參考文獻(xiàn)[6]中的迭代定位。我們將300個新的預(yù)判與原始的300個預(yù)判結(jié)合起來。邊界改良大概提升了mAP2個百分點的成績(如表9所示)。
表9
多范圍測試
以上所有的結(jié)果都是在單一范圍內(nèi)進(jìn)行訓(xùn)練、測試的,如參考文獻(xiàn)[32]中提到的那樣。在我們目前的訓(xùn)練中,我們沿用了參考文獻(xiàn)[33]中的方法進(jìn)行了多范圍測試,但由于時間限制我們還沒有進(jìn)行多范圍訓(xùn)練。另外,我們特別針對Fast R-CNN步態(tài)進(jìn)行了多范圍測試。通過模型訓(xùn)練,對圖像椎體進(jìn)行卷曲特性計算,它的短邊長在s ∈ {200,400,600,800,1000}。
我們選取了椎體的兩個相鄰范圍,結(jié)果證明多范圍測試能提升mAP2個百分點的成績。
使用確認(rèn)數(shù)據(jù)
接下來我們使用80k+40k trainval數(shù)據(jù)組來進(jìn)行訓(xùn)練,20k測試數(shù)據(jù)組來進(jìn)行評估,單模型結(jié)果如表9所示。
組合
在Faster R-CNN系統(tǒng)里這些是分別用來學(xué)習(xí)地區(qū)方案和對象分類,如果組合在一起能把兩者加速。表9展示了我們基于3中網(wǎng)絡(luò)組合的結(jié)果,在測試開發(fā)組中mAP取得了59.0%和37.4%的成績。
這是COCO 2015檢測任務(wù)中的最佳成績。
PASCAL VOC
基于上面的模型我們對PASCAL VOC數(shù)據(jù)組進(jìn)行了測試,根據(jù)之前的經(jīng)驗我們進(jìn)行了少許調(diào)整,結(jié)果是我們在PASCAL VOC 2007上取得了了85.6%mAP的成績(表10),在PASCAL VOC 2012上取得了83.8%mAP成績(表11)。在PASCAL VOC 2012上獲得的成績比目前最佳成績還要好10%。
表10
表11
ImageNet檢測
ImageNet檢測任務(wù)包括200個對象類別。我們使用的對象檢測算法和在MS COCO中的相同(表9)。在DET測試組上,單一ResNet-101模型取得了58.9%的成績,3個組合模型取得了62.1%的成績(表12)。
這是ILSVRC 2015中ImageNet檢測任務(wù)的最佳成績。
表12
C.ImageNet定位
Imagenet定位(LOC)任務(wù)要求對物體分類再進(jìn)行定位。根據(jù)參考文獻(xiàn)[40,41],假設(shè)首先用圖像分類器來預(yù)測圖像類別,然后根據(jù)預(yù)測類別使用定位算法開始進(jìn)行定位。我們采用了“類回歸策略”對每一類進(jìn)行邊界框定。我們提前對Imagnet分類進(jìn)行訓(xùn)練然后將它們調(diào)整到定位功能。為了訓(xùn)練這個網(wǎng)絡(luò)我們提供了1000類Imagnet訓(xùn)練組。
我們的定位算法基于在RPN框架上進(jìn)行小部分修改。和參考文獻(xiàn)[32]的未知分類不一樣,我們的RPN定位是每一類的形式。和參考文獻(xiàn)[32]中的一樣,我們的邊界改良在每個位置都有平移不變的“錨定”邊界。
在3.4中的ImageNet分類訓(xùn)練中,我們隨機使用224x224切割來進(jìn)行數(shù)據(jù)擴增。為了測試,將整個網(wǎng)絡(luò)都應(yīng)用于完全卷積的圖像中。
表13對定位結(jié)果進(jìn)行了對比,VGG的文章指出使用基礎(chǔ)真實類別會找出33.1%的中心切割錯誤。當(dāng)使用ResNet-101來預(yù)測類別,前5的定位錯誤結(jié)果是14.1%(表4)。
表13
上述結(jié)果僅是基于Faster R-CNN(參考文獻(xiàn)[32])的RPN上。人們可以使用檢測網(wǎng)絡(luò)(Fast R-CNN)在Faster R-CNN中來改善結(jié)果。但我們注意到,在此數(shù)據(jù)集,一個圖像通常包含單個支配對象,并且該區(qū)域相互高度重疊。受此啟發(fā),在我們目前的實驗中,我們使用原來的R-CNN 來取代現(xiàn)有的Fast R-CNN。
我們的R-CNN實現(xiàn)情況如下。我們將每個訓(xùn)練好的的單類別RPN用于訓(xùn)練圖像上,來預(yù)測邊界限制情況和基準(zhǔn)事實類別。為了測試,RPN在每個預(yù)測類別生成了最高到200層的方法,并且使用R-CNN網(wǎng)絡(luò)來提高這些方法成績和它的邊界位置。
這種方法將前5的定位錯誤降低到10.6%(表13)。這是我們的單模型在驗證組上的成績。將分類和定位組合起來使用,我們將前5的定位錯誤率降低到了9.0%。這個數(shù)字明顯比ILSVRC14的結(jié)果要好(表14),還減少了64%的相關(guān)錯誤。
表14
這個結(jié)果在ILSVRC2015中的ImageNet定位任務(wù)上取得第一名的成績。
via CVPR
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。