[譯] Deep Residual Learning for Image Recognition (ResNet)

題目:圖像識(shí)別領(lǐng)域的深度殘差學(xué)習(xí)

(轉(zhuǎn)載請(qǐng)注明出處:http://www.itdecent.cn/p/f71ba99157c7 ,謝謝!)


Abstract

摘要:更深的神經(jīng)網(wǎng)絡(luò)往往更難以訓(xùn)練,我們?cè)诖颂岢鲆粋€(gè)殘差學(xué)習(xí)的框架,以減輕網(wǎng)絡(luò)的訓(xùn)練負(fù)擔(dān),這是個(gè)比以往的網(wǎng)絡(luò)要深的多的網(wǎng)絡(luò)。我們明確地將層作為輸入學(xué)習(xí)殘差函數(shù),而不是學(xué)習(xí)未知的函數(shù)。我們提供了非常全面的實(shí)驗(yàn)數(shù)據(jù)來證明,殘差網(wǎng)絡(luò)更容易被優(yōu)化,并且可以在深度增加的情況下讓精度也增加。在ImageNet的數(shù)據(jù)集上我們?cè)u(píng)測(cè)了一個(gè)深度152層(是VGG的8倍)的殘差網(wǎng)絡(luò),但依舊擁有比VGG更低的復(fù)雜度。殘差網(wǎng)絡(luò)整體達(dá)成了3.57%的錯(cuò)誤率,這個(gè)結(jié)果獲得了ILSVRC2015的分類任務(wù)第一名,我們還用CIFAR-10數(shù)據(jù)集分析了100層和1000層的網(wǎng)絡(luò)。

在一些計(jì)算機(jī)視覺識(shí)別方向的任務(wù)當(dāng)中,深度表示往往是重點(diǎn)。我們極深的網(wǎng)絡(luò)讓我們得到了28%的相對(duì)提升(對(duì)COCO的對(duì)象檢測(cè)數(shù)據(jù)集)。我們?cè)谏疃葰埐罹W(wǎng)絡(luò)的基礎(chǔ)上做了提交的版本參加ILSVRC和COCO2015的比賽,我們還獲得了ImageNet對(duì)象檢測(cè),Imagenet對(duì)象定位,COCO對(duì)象檢測(cè)和COCO圖像分割的第一名。

一.簡介

深度卷積神經(jīng)網(wǎng)絡(luò)使得圖像分類問題上的研究向前飛躍了一大步,深度網(wǎng)絡(luò)自然的整合了低中高不同層次的特征,并且使用端到端的多層次分類,特征的“層次”可以靠加深網(wǎng)絡(luò)層數(shù)來豐富。最近的研究揭示了網(wǎng)絡(luò)深度是非常重要的關(guān)鍵點(diǎn)。有代表性的幾個(gè)研究團(tuán)隊(duì),在Imagnet中競(jìng)賽的都不約而同的使用了“超級(jí)深”的網(wǎng)絡(luò),從17到30層不等。其他一些計(jì)算機(jī)視覺的問題也受益于超級(jí)深的網(wǎng)絡(luò)模型。

受到深度的意義的驅(qū)使,出現(xiàn)了這樣一個(gè)問題:是不是更多的堆疊層就一定能學(xué)習(xí)出更好的網(wǎng)絡(luò)?這個(gè)問題的一大障礙就是臭名昭著的梯度消失/爆炸問題,它從一開始就阻礙了收斂,然而梯度消失/爆炸的問題,很大程度上可以通過標(biāo)準(zhǔn)的初始化和正則化層來基本解決,確保幾十層的網(wǎng)絡(luò)能夠收斂(用SGD+反向傳播)。

然而當(dāng)開始考慮更深層的網(wǎng)絡(luò)的收斂問題時(shí),退化問題就暴露了:隨著神經(jīng)網(wǎng)絡(luò)深度的增加,精確度開始飽和(這是不足為奇的),然后會(huì)迅速的變差。出人意料的,這樣一種退化,并不是過擬合導(dǎo)致的,并且增加更多的層匹配深度模型,會(huì)導(dǎo)致更多的訓(xùn)練誤差,就像文章中說的那樣,通過我們的實(shí)驗(yàn)將得到充分證實(shí)。圖1展示了一個(gè)典型的例子。

Figure 1 CIFAR-10數(shù)據(jù)集,訓(xùn)練集誤差(左),測(cè)試集誤差(右)。20層/56層普通網(wǎng)絡(luò),越深的網(wǎng)絡(luò)錯(cuò)誤率越高,imagenet數(shù)據(jù)集也是這樣。

訓(xùn)練精度的退化表明,不是所有的系統(tǒng)都同樣容易優(yōu)化。讓我們考慮一個(gè)淺層架構(gòu)和它的對(duì)應(yīng)的增加了更多層的深層架構(gòu)。存在一個(gè)解決方案來構(gòu)建更深層次的模型:添加的層是自身映射,其他層從是訓(xùn)練好的淺模型中復(fù)制而來。這種特殊的構(gòu)建方式讓我們推測(cè),深的模型應(yīng)該不會(huì)比淺的模型產(chǎn)生更高的訓(xùn)練誤差。但實(shí)驗(yàn)結(jié)果表明,我們手頭上有的方案都找不到解,找不到更好或者同樣好的解(或者是無法在可接受的時(shí)間里做完)。
  
  在本文中,我們通過引入一個(gè)深度殘差學(xué)習(xí)框架,解決了這個(gè)退化問題。我們不期望每一層能直接吻合一個(gè)映射,我們明確的讓這些層去吻合殘差映射。形式上看,就是用H(X)來表示最優(yōu)解映射,但我們讓堆疊的非線性層去擬合另一個(gè)映射F(X):=H(X) - X, 此時(shí)原最優(yōu)解映射H(X)就可以改寫成F(X)+X,我們假設(shè)殘差映射跟原映射相比更容易被優(yōu)化。極端情況下,如果一個(gè)映射是可優(yōu)化的,那也會(huì)很容易將殘差推至0,把殘差推至0和把此映射逼近另一個(gè)非線性層相比要容易的多。

F(X)+X的公式可以通過在前饋網(wǎng)絡(luò)中做一個(gè)“快捷連接”來實(shí)現(xiàn)(如圖2) ,快捷連接跳過一個(gè)或多個(gè)層。在我們的用例中,快捷連接簡單的執(zhí)行自身映射,它們的輸出被添加到疊加層的輸出中。自身快捷連接既不會(huì)添加額外的參數(shù)也不會(huì)增加計(jì)算復(fù)雜度。整個(gè)網(wǎng)絡(luò)依然可以用SGD+反向傳播來做端到端的訓(xùn)練,并且可以很容易用大眾框架來實(shí)現(xiàn)(比如Caffe)不用修改slover配置(slover是caffe中的核心slover.prototxt)

Figure 2 殘差網(wǎng)絡(luò):一個(gè)結(jié)構(gòu)塊

我們目前用ImageNet的數(shù)據(jù)集做了很多綜合實(shí)驗(yàn),來證實(shí)退化問題和評(píng)估我們的方法。我們發(fā)現(xiàn):1、我們的超深殘差網(wǎng)絡(luò)是很容易去優(yōu)化的,不過對(duì)應(yīng)的普通網(wǎng)絡(luò)(簡單的堆疊層)當(dāng)深度增加時(shí),表現(xiàn)出更高的錯(cuò)誤誤差。2.我們的深度殘差網(wǎng)絡(luò)可以輕松的享受深度增加帶來的精度增加,產(chǎn)生的效果要遠(yuǎn)遠(yuǎn)優(yōu)于以前的那些網(wǎng)絡(luò)們。類似的現(xiàn)象在CIFAR-10數(shù)據(jù)集的實(shí)驗(yàn)中也一樣,這表明著優(yōu)化是困難的,我們提出的訓(xùn)練方法在這個(gè)數(shù)據(jù)集中,超過100層的網(wǎng)絡(luò)表現(xiàn)很成功,還可以擴(kuò)展到1000層。

在ImageNet對(duì)象分類數(shù)據(jù)集上,我們用深度殘差網(wǎng)絡(luò)獲得了很棒的結(jié)果,我們152層的殘差網(wǎng)絡(luò)是ImageNet的參賽網(wǎng)絡(luò)中最深的,然而卻擁有比VGG更低的復(fù)雜度。我們最終的效果是測(cè)試集上3.57%的錯(cuò)誤率,以此摘取了ILSVRC2015對(duì)象分類的第一名。這種超級(jí)深的表示方法在其他識(shí)別任務(wù)中也有良好的泛化能力,使我們進(jìn)一步贏得了多個(gè)比賽的第一名(有ImageNet detection, Imagenet localization,COCOdetection COCOsegmentation),這般有利的證據(jù)證明殘差學(xué)習(xí)的原則是可泛化的,我們同樣期望殘差學(xué)習(xí)的方法能用在其他的視覺和非視覺問題上。

二. 相關(guān)工作

殘差表示:在圖像識(shí)別任務(wù)中,VLAD[18]是用基于詞典的殘差向量的來進(jìn)行特征編碼的,fisher向量可以看作VLAD的一個(gè)概率版本,它們?cè)趫D像檢索和淺層分類中都是挺不錯(cuò)的,對(duì)于矢量量化,編碼殘差向量都被證明了比編碼原始向量要更有效果。

在低級(jí)視覺和計(jì)算機(jī)圖形學(xué)中,求解偏微分方程(PDE),通常是使用多重網(wǎng)格(Multigrid)法,把系統(tǒng)重建成多尺度的子問題,每個(gè)子問題負(fù)責(zé)求解出粗粒度和細(xì)粒度之間的殘差,除此之外,另一種求解PDE的方法是級(jí)基預(yù)處理[45,46],是基于表達(dá)兩個(gè)尺度之間殘差的向量進(jìn)行的。在[3,44,45]中證明了這些用了殘差的解法收斂速度都比不用殘差的普通解法要快的多。這些研究表明,一個(gè)好的模型重構(gòu)或者預(yù)處理手段是能簡化優(yōu)化過程的。

快捷連接:實(shí)踐和理論引出了“快捷連接”這個(gè)想法,它已經(jīng)被研究了很長的時(shí)間。在訓(xùn)練多層感知器網(wǎng)絡(luò)(MLP)的早期實(shí)踐,包括添加一個(gè)線性層(從網(wǎng)絡(luò)的輸入直連到輸出[33,48]),在[43,24]中提到,少量中間層被直接連到附加的分類層解決梯度消失/爆炸問題,論文[38,37,31,46]中提出的層響應(yīng)置中(centering layer responses)解決梯度和傳播誤差,也用到了快捷連接。在論文[43]中,一個(gè)“開始層”是由一個(gè)快捷分支和少量較深的分支構(gòu)成。

和我們同期的工作也有一些,“Highway network”[41,42]提出的高速公路網(wǎng)絡(luò),展示了設(shè)置了門選通的快捷連接,這些門函數(shù)是數(shù)據(jù)相關(guān)的并且有參數(shù)要進(jìn)行調(diào)整,對(duì)比而言,我們的自身快捷連接(恒等捷徑)是沒參數(shù)的。當(dāng)一個(gè)門快捷連接呈關(guān)閉狀態(tài)(接近0),highway network的層就代表著非殘余函數(shù),相反的,我們的方法總是學(xué)習(xí)殘差方程。我們的自身快捷連接是永不關(guān)閉的,因此信息總能通過,與借此學(xué)習(xí)殘差函數(shù)。此外highway network沒有表現(xiàn)出精度隨深度增加的特性(比如超過100層后)。

三.深度殘差網(wǎng)絡(luò)

3.1 殘差學(xué)習(xí)

讓我們考慮 H(X) 是一個(gè)有若干堆疊的網(wǎng)絡(luò)層將進(jìn)行擬合的映射(不一定要整個(gè)網(wǎng)絡(luò)),X表示這些層中第一層的輸入。如果有一個(gè)假設(shè):多層的非線性網(wǎng)絡(luò)層可以逐漸逼近很復(fù)雜的函數(shù),那么相當(dāng)于可以假設(shè)它們同樣能逼近殘差函數(shù)。H(X) - X(假設(shè)輸入和輸出都有著相同的維度)。所以與其讓這些層去逼近H(X),我們更期望讓它們?nèi)ケ平鼩埐詈瘮?shù)F(X):=H(X)-X。對(duì)應(yīng)的可以將原始的方程改成F(X)+X,盡管這兩種形式都應(yīng)該可以逐步逼近目標(biāo)函數(shù)(根據(jù)假設(shè)),但訓(xùn)練的簡便程度也將大不相同。

這個(gè)重構(gòu)的動(dòng)機(jī)是出于對(duì)退化問題的反直覺現(xiàn)象(圖1,左)。正如我們?cè)诮榻B中討論的,如果添加的層可以以恒等的方式被構(gòu)造為自身映射,一個(gè)加深的模型的訓(xùn)練誤差一定會(huì)不大于較淺的對(duì)應(yīng)模型。退化問題表明,求解過程中在使多個(gè)非線性層逼近自身映射時(shí)有困難。而用殘差的方法重構(gòu)它,如果自身映射達(dá)到最佳的,則求解可能僅僅是更新多個(gè)非線性層的權(quán)值向零去接近自身映射。

在現(xiàn)實(shí)情況下,自身映射一開始就達(dá)到最優(yōu)幾乎是不可能的事,但我們的重構(gòu)將有助于對(duì)此問題做預(yù)處理。如果優(yōu)化的函數(shù)比起零映射更接近于自身映射的話,網(wǎng)絡(luò)會(huì)更容易學(xué)習(xí)去確定自身映射的擾動(dòng)參考,而不是將其作為一個(gè)全新的函數(shù)去學(xué)習(xí)。我們通過實(shí)驗(yàn)驗(yàn)證(圖7),學(xué)習(xí)的殘差函數(shù)一半都響應(yīng)較小,這表明自身映射是更合理的預(yù)處理手段。

3.2用快捷連接實(shí)現(xiàn)自身映射

我們將殘差學(xué)習(xí)的方式應(yīng)用到了每一組堆疊層,一個(gè)構(gòu)造塊在圖2所示,在本文中,我們把一個(gè)構(gòu)造塊定義成:

此處,xy分別表示構(gòu)造塊的輸入和輸出向量,函數(shù)F(x, {Wi })表示被將被訓(xùn)練的殘差映射。舉個(gè)例子,在圖2 中有兩層,F=W2σ(W1x)中的σ,σ表示RELU,出于簡化考慮省略了偏置項(xiàng)。操作F+x是由一個(gè)快捷連接進(jìn)行逐元素的添加得。我們?cè)谧黾臃ê蟮玫降哪P途哂卸A非線性。

公式1中介紹的這個(gè)快捷連接既沒有引入額外的參數(shù)和也沒有增加計(jì)算復(fù)雜性。這不僅是在應(yīng)用中有吸引力,在我們對(duì)普通及殘差網(wǎng)絡(luò)的比較中也尤為重要。這樣我們可以公平的比較參數(shù)個(gè)數(shù)、深度、寬度和計(jì)算代價(jià)完全一致的簡單/殘差網(wǎng)絡(luò)(除了可以忽略不計(jì)的逐元素加法運(yùn)算)。
  
  公式1中x的維度和F必須保持一致,如果不一致(比如改變輸入輸出的通道數(shù))我們可以在快捷連接上進(jìn)行一個(gè)線性投影Ws來匹配維度:

我們同樣可以在公式1中用一個(gè)平方矩陣Ws,不過我們的實(shí)驗(yàn)顯示,自身映射足以解決退化問題,因此Ws僅僅被用來匹配尺寸。

殘差函數(shù)F的形式是靈活的,本文的實(shí)驗(yàn)包括了F為2層或3層的情況(圖5),雖然更多的層也是可以的,但如果只有一個(gè)層(公式1)會(huì)等價(jià)于一個(gè)線性層,y = W1x + x,這樣一來就沒有可見的優(yōu)勢(shì)了。

我們還注意到盡管上述的公式為了簡便起見,都是關(guān)于完全連接層的,但是它們同樣適用于卷積層。函數(shù)F(x, {Wi})可以代表多個(gè)卷積層。逐元素的加法運(yùn)算則是兩個(gè)特征圖譜的加法,按照通道對(duì)應(yīng)。

3.3網(wǎng)絡(luò)結(jié)構(gòu)

我們測(cè)試過非常多種普通/殘差網(wǎng)絡(luò),并觀察到一致的現(xiàn)象,為了提供討論的實(shí)證,我們將在下文描述(用于ImageNet的)兩個(gè)模型。

普通網(wǎng)絡(luò)。我們的普通基準(zhǔn)網(wǎng)絡(luò)主要是受到VGG網(wǎng)絡(luò)的啟發(fā),如圖三左。卷積層的filter大多為3x3,遵循了兩個(gè)設(shè)計(jì)原則:

  1. 對(duì)于相同的尺寸的輸出特征圖譜,每層必須含有相同數(shù)量的過濾器。
  1. 如果特征圖譜的尺寸減半,則過濾器的數(shù)量必須翻倍,以保持每層的時(shí)間復(fù)雜度。

我們直接通過卷積層(stride=2)進(jìn)行下采樣,網(wǎng)絡(luò)末端以全局的均值池化層結(jié)束,有1000路的全連接層(Softmax激活)。含有權(quán)重的網(wǎng)絡(luò)層的總計(jì)為34層(見圖3中)。

值得注意的是,我們的模型包含了更少的過濾器和比VGG更低的復(fù)雜度,我們的34層基本計(jì)算量為3.6億FLOPS(包括乘法和加法),這僅僅是VGG(196億FLOPs)的18%。

Figure 3 網(wǎng)絡(luò)結(jié)構(gòu)。左VGG19(19.6億),中普通34層(3.6億),右殘差34層(3.6億)。

殘差網(wǎng)絡(luò)。在簡單網(wǎng)絡(luò)的基礎(chǔ)上,我們插入了快捷連接(圖3,右),將網(wǎng)絡(luò)轉(zhuǎn)化為其對(duì)應(yīng)的殘差版本。當(dāng)輸入輸出是相同尺寸的時(shí)候,自身捷徑(公式(1))。當(dāng)輸入輸出尺寸發(fā)生增加時(shí)(圖3中的虛線的快捷連接),我們考慮兩個(gè)策略:
(a)快捷連接仍然使用自身映射,對(duì)于維度的增加用零來填補(bǔ)空缺。此策略不會(huì)引入額外的參數(shù);
(b)投影捷徑(公式2)被用來匹配尺寸(靠1×1的卷積完成)。
對(duì)于這兩種選項(xiàng),當(dāng)快捷連接在兩個(gè)不同大小的特征圖譜上出現(xiàn)時(shí),用stride=2來處理。

3.4實(shí)現(xiàn)

我們用于ImageNet的網(wǎng)絡(luò)是根據(jù)]21,40]來實(shí)現(xiàn)的,圖片被根據(jù)短邊等比縮放,按照[256,480]區(qū)間的尺寸隨機(jī)采樣進(jìn)行尺度增強(qiáng)[40]。一個(gè)224x224的裁切是隨機(jī)抽樣的圖像或其水平翻轉(zhuǎn),并將裁剪結(jié)果減去它的平均像素值[21],進(jìn)行了標(biāo)準(zhǔn)顏色的增強(qiáng)。我們把批量正則化batch-normalization,BN)用在了每個(gè)卷積層和激活層之間,我們初始化了權(quán)重按照[12]說的方法,分別從0開始訓(xùn)練普通/殘差網(wǎng)絡(luò)。我們使用SGD算法,mini-batch的大小為256.學(xué)習(xí)速率初始化為0.1,當(dāng)?shù)竭_(dá)錯(cuò)誤率平臺(tái)時(shí)就把學(xué)習(xí)速率除以10,對(duì)各模型進(jìn)行了長達(dá)60萬次迭代,我們用的了權(quán)重衰減,參數(shù)設(shè)了0.0001,動(dòng)量參數(shù)為0.9,我們不用dropout,參考了[16]的實(shí)驗(yàn)結(jié)果。

測(cè)試時(shí),對(duì)結(jié)果進(jìn)行了比較研究,我們采用了標(biāo)準(zhǔn)的10-crop實(shí)驗(yàn),為達(dá)到最佳效果,我們?nèi)B接卷積形式的網(wǎng)絡(luò)就像[40,12]中說的一樣,最終結(jié)果為對(duì)多個(gè)尺寸圖像(圖像分別被調(diào)整到短邊{224,256,384,480,640})的實(shí)驗(yàn)結(jié)果求平均值。

四. 實(shí)驗(yàn)

4.1 ImageNet 分類數(shù)據(jù)集

我們用ImageNet2012的分類數(shù)據(jù)集,有1000個(gè)分類,用這個(gè)數(shù)據(jù)集來評(píng)估我們的方法。各模型均用128萬張訓(xùn)練圖片,用來評(píng)估的驗(yàn)證集有5萬張交叉驗(yàn)證圖片,我們還用10萬張測(cè)試圖獲得了一個(gè)最終結(jié)果,結(jié)果是由測(cè)試服務(wù)器報(bào)告的,我們還分別驗(yàn)證了第一和前5的錯(cuò)誤率。

普通網(wǎng)絡(luò)。我們首先評(píng)測(cè)了18層和34層的普通網(wǎng)絡(luò)。34層普通網(wǎng)絡(luò)(見圖3中間),18層的網(wǎng)絡(luò)是一個(gè)相似的結(jié)構(gòu)??幢?來獲取更細(xì)節(jié)的結(jié)構(gòu)。

Table1: Imagenet的結(jié)構(gòu),塊結(jié)構(gòu)在了括號(hào)里(也可以看表5)幾種類型的塊堆積成網(wǎng)絡(luò)架構(gòu),下采樣用的stride=2的conv3_1 conv4_1, conv5_1。

結(jié)果在表2 中,證明更深的34層普通網(wǎng)絡(luò)比18層的普通網(wǎng)絡(luò)有更高的錯(cuò)誤率,為了揭示此現(xiàn)象的原因,在圖4左邊我們比較了訓(xùn)練集和驗(yàn)證集的錯(cuò)誤率(在訓(xùn)練過程中的),我們觀察到了退化問題------34層的普通網(wǎng)絡(luò)在整個(gè)訓(xùn)練過程中都有更高的訓(xùn)練誤差,盡管18層普通網(wǎng)絡(luò)僅僅是34層的子集。

Table2: 最大錯(cuò)誤率(%,10-crop測(cè)試),在imagenet的驗(yàn)證集上做測(cè)試。這兒殘差網(wǎng)絡(luò)和普通網(wǎng)絡(luò)相比也沒有任何額外參數(shù)。圖4表現(xiàn)了訓(xùn)練的過程。
圖4:Imagenet的訓(xùn)練,細(xì)的曲線表示訓(xùn)練集誤差,粗的曲線表示驗(yàn)證集誤差。左:普通網(wǎng)絡(luò)(18/34層),右:殘差網(wǎng)絡(luò)(18/34層)

為了揭示原因,在圖4(左),我們比較他們的培訓(xùn)過程中的訓(xùn)練集/驗(yàn)證驗(yàn)證集錯(cuò)誤。在這個(gè)圖中,殘差網(wǎng)絡(luò)與普通網(wǎng)絡(luò)相比沒有任何額外的參數(shù)。

我們認(rèn)為,這種優(yōu)化困難不太可能是梯度消失造成的。這些普通的網(wǎng)絡(luò)是用了BN訓(xùn)練的[ 16 ],這確保了前向傳播時(shí)有非零的方差。我們還確認(rèn)了反向傳播時(shí)的梯度表現(xiàn)的很健康(有BN)。因此,既不是向前也不是向后的梯度消失。事實(shí)上,34層的普通網(wǎng)絡(luò)仍然能夠達(dá)到有競(jìng)爭力的精度(表3),這表明在一定程度上是能工作的。我們推測(cè),深的普通網(wǎng)絡(luò)可能有指數(shù)級(jí)的較低的收斂速度,這會(huì)對(duì)訓(xùn)練誤差的降低產(chǎn)生影響。這樣優(yōu)化困難的原因我們還將在未來進(jìn)一步探究。

殘差網(wǎng)絡(luò)。接下來我們驗(yàn)證18層和34層的殘差網(wǎng)絡(luò)(ResNets)。殘差網(wǎng)絡(luò)的基本架構(gòu)和上述普通網(wǎng)絡(luò)相同,不同的是多了一些快捷連接,被添加到每對(duì)3x3的過濾器之間,如圖3(右)。在第一個(gè)對(duì)比中(表2和圖4右),我們對(duì)所有快捷連接使用自身映射和用零填充增加的維度(optionA),因此和普通網(wǎng)絡(luò)相比沒有任何額外的參數(shù)。

我們有三個(gè)主要的觀察,從表2和圖4中得出。1.情況逆轉(zhuǎn):殘差學(xué)習(xí)在34層上表現(xiàn)比18層好(2.8%)。更重要的,34層殘差網(wǎng)絡(luò)表現(xiàn)出了相當(dāng)?shù)偷挠?xùn)練誤差,并且同樣適用于驗(yàn)證集。這表明在這種情況下,退化問題得到了很好的控制,即我們能在增加深度時(shí)獲取更高的精度。 2.相比于它基于的普通網(wǎng)絡(luò)版本,34層殘差網(wǎng)絡(luò)降低了 3.5%的最大錯(cuò)誤率(表2),成功的降低了訓(xùn)練誤差(圖4右 vs 左)。這個(gè)對(duì)比驗(yàn)證了殘差網(wǎng)絡(luò)在深度學(xué)習(xí)系統(tǒng)中的有效性。

最后,我們也注意到,18層普通/殘差網(wǎng)絡(luò)是相對(duì)接近的(表2),但18層殘差網(wǎng)絡(luò)的收斂速度更快(圖4右與左)。當(dāng)網(wǎng)絡(luò)“不深”(18層以下)的時(shí)候,目前的SGD算法仍然能在平凡網(wǎng)絡(luò)上找到較好的解決方案。在這種情況下,殘差網(wǎng)絡(luò)能加速優(yōu)化,在訓(xùn)練初期提供更快的收斂速度。

自身捷徑(identity) vs 投影(projection)捷徑:我們已經(jīng)證實(shí)了無參數(shù)的自身捷徑對(duì)訓(xùn)練有增益作用。接下來我們打算調(diào)查投影捷徑(Eqn2)在表三中我們比較三個(gè)選項(xiàng):

A 零填充捷徑用來增加維度,所有的捷徑都是沒有參數(shù)的自身捷徑(跟表2和圖4右一樣)
B 投影捷徑用來增加維度,其他的捷徑都是沒有參數(shù)的自身捷徑。
C 所有的捷徑都是投影捷徑

表3展示了這三個(gè)選項(xiàng)都遠(yuǎn)優(yōu)于對(duì)應(yīng)的普通網(wǎng)絡(luò),B稍微比A好一點(diǎn)兒,我們認(rèn)為這是因?yàn)檠a(bǔ)零填充的維度在A中沒有進(jìn)行殘差學(xué)習(xí)。C優(yōu)于B,我們把這個(gè)成就歸功于額外的參數(shù)(在一些投影捷徑中的參數(shù))但是ABC之間這么一點(diǎn)點(diǎn)的不同表明,投影捷徑在解決退化問題上不是重點(diǎn),所以我們?cè)诤笪牡钠渌糠志驮俨挥肅方法了,以減少內(nèi)存/時(shí)間復(fù)雜度和模型大小。自身連接是在不增加復(fù)雜度上是非常重要的,特別是針對(duì)我們下面要介紹的瓶頸結(jié)構(gòu)。

深度瓶頸架構(gòu)。接下來我們描述我們?yōu)镮mageNet準(zhǔn)備的更深的網(wǎng)絡(luò)。因?yàn)樘^漫長的訓(xùn)練時(shí)間我們負(fù)擔(dān)不起,所以修改了單元塊,改為一種瓶頸設(shè)計(jì)。對(duì)于每個(gè)殘差函數(shù)F,我們使用3層來描述,而不是2層(圖5)。這三層分別是1×1、3×3,和1×1的卷積層,其中1×1層負(fù)責(zé)先減少后增加(恢復(fù))尺寸的,使3×3層具有較小的輸入/輸出尺寸瓶頸。圖5顯示了一個(gè)例子,兩種設(shè)計(jì)都具有相似的時(shí)間復(fù)雜度。

無參數(shù)自身快捷連接在瓶頸架構(gòu)中非常的重要,如果把自身連接(圖5右)換成投影連接,可以看出時(shí)間復(fù)雜度和模型尺寸都會(huì)翻倍,因?yàn)樵摽旖葸B接連到了兩個(gè)高維端,所以自身連接會(huì)為瓶頸設(shè)計(jì)帶來更高的效率。

50層殘差網(wǎng)絡(luò): 我們把34層網(wǎng)絡(luò)中的每一個(gè)2層的塊都改換成3層的瓶頸塊,在50層殘差網(wǎng)絡(luò)中的表現(xiàn)結(jié)果(見表1),我們用了OptionB來增加維度,這個(gè)模型的基礎(chǔ)計(jì)算量為3.8億Flops

101層和152層殘差網(wǎng)絡(luò):我們建立了101層和152層的殘差網(wǎng)絡(luò),用了更多的3層塊(表1),顯著的,盡管深度是在很明顯的增加,152層的殘差網(wǎng)絡(luò)(1.13億Flops)仍然比VGG16/19(15.3億,19.6億)有更低的復(fù)雜度。

50/101/152層的殘差網(wǎng)絡(luò)與34層相比,有著可觀的精確度提升(表3,4)我們沒有觀察到退化問題,從而享受著深度增加帶來的顯著的精度增益。深度的好處從所有的評(píng)估指標(biāo)中可以見證(表3,4)

與其他最先進(jìn)技術(shù)的比較。在表4中,我們與之前最好的單模型結(jié)果進(jìn)行了比較。我們的34層基礎(chǔ)殘差網(wǎng)絡(luò)取得了非常有競(jìng)爭力的準(zhǔn)確度。我們的152層殘差網(wǎng)絡(luò)單模型對(duì)前5的驗(yàn)證錯(cuò)誤率4.49%。這個(gè)單模型的結(jié)果優(yōu)于所有以前的綜合模型的記過(表5)。我們結(jié)合了六個(gè)不同深度的模型,來形成一個(gè)綜合模型(在提交時(shí)只用了兩個(gè)152層),達(dá)成了測(cè)試集上3.57% 的top-5誤差(表5)。這個(gè)結(jié)果在2015 ILSVRC獲得了第一名。

4.2 CIFAR-10數(shù)據(jù)集的結(jié)果和分析

我們用CIFAR-10數(shù)據(jù)集進(jìn)行了更多的研究,CIFAR-10數(shù)據(jù)集包括50K的訓(xùn)練圖像,10K的測(cè)試圖像,分10類。我們的實(shí)驗(yàn)用訓(xùn)練集訓(xùn)練和用測(cè)試集評(píng)估。我們關(guān)注的重點(diǎn)是極深網(wǎng)絡(luò)的表現(xiàn),而不是推動(dòng)最先進(jìn)的結(jié)果,所以我們故意使用如下的簡單的架構(gòu)。

普通/殘差架構(gòu)按照?qǐng)D3(中/右)的形式建立。網(wǎng)絡(luò)的輸入是32x32的圖像,預(yù)先減去每一個(gè)像素的均值。第一層是3×3卷積層。然后我們對(duì)于尺寸分別為{32, 16, 8 }的特征圖譜分別使用了一組包括了6n個(gè)3x3卷積層,每個(gè)尺寸的特征圖譜使用2n個(gè)層,即過濾器的數(shù)量分別為{16,32,64},降采樣是通過步長為2的卷積進(jìn)行的,網(wǎng)絡(luò)以全局的均值池化終止,一個(gè)10路全連通層,softmax。以上一共6n+2個(gè)有權(quán)重的層。下方的表格總結(jié)了結(jié)構(gòu):

當(dāng)快捷連接被使用時(shí),它們分別連接到3×3的網(wǎng)絡(luò)層對(duì)(一共3n個(gè)快捷連接)。在該數(shù)據(jù)集上,我們?cè)诟鞣N情形下都使用自身快捷路徑(即選項(xiàng)A),所以我們的殘差模型跟普通模型有這一模一樣的深度、寬度和參數(shù)個(gè)數(shù)

表6:在CIFAR-10數(shù)據(jù)集上的分類錯(cuò)誤,所有方法都有數(shù)據(jù)增強(qiáng),對(duì)于110層的殘差網(wǎng)絡(luò)我們運(yùn)行了5次,展示了“最優(yōu)值(平均+=波動(dòng))”

我們用的權(quán)重衰減參數(shù)為0.0001動(dòng)量為0.9,并采用論文[13]提到的權(quán)重初始化[12],Batch-normalization[16],不過不使用dropout。這些模型訓(xùn)練時(shí)用了兩個(gè)gpu,mini-batch大小為128。我們初始學(xué)習(xí)率為0.1,在32k和48k次迭代時(shí)除以10,在64k次迭代時(shí)終止訓(xùn)練,按45k/5k的比例確定訓(xùn)練集/驗(yàn)證集。我們遵循[24]提出的簡單數(shù)據(jù)增強(qiáng)策略進(jìn)行訓(xùn)練:4像素被增加在各邊上,32x32的切割是完全隨機(jī)的,從填充后的圖像或者其翻轉(zhuǎn)中采樣。在驗(yàn)證時(shí),我們只是評(píng)估了原本的32x32的圖片。

我們比較了n={3,5,7,9},分別對(duì)應(yīng)20,32,44,56層的網(wǎng)絡(luò)。圖6左展示了普通網(wǎng)絡(luò)的表現(xiàn)。深度普通網(wǎng)絡(luò)受深度影響,在深度增加時(shí)表現(xiàn)出了更高的訓(xùn)練誤差,這個(gè)現(xiàn)象和在Imagenet(圖4左)以及MNIST數(shù)據(jù)集[41]是如出一轍的,表明了這樣的優(yōu)化困難問題是一個(gè)共通的根本問題。

圖6(中)展示了殘差網(wǎng)絡(luò)的表現(xiàn)。也和用Imagenet做實(shí)驗(yàn)時(shí)表現(xiàn)的差不多(圖4右),我們殘差網(wǎng)絡(luò)就是克服了優(yōu)化困難的問題,并且做到了讓精度隨著深度增加而增加。

我們更多的研究了n=18的情況,這個(gè)對(duì)應(yīng)了110層的殘差網(wǎng)絡(luò),在這個(gè)情況下,我們發(fā)現(xiàn)初始學(xué)習(xí)速率設(shè)成0.1太大了,無法讓網(wǎng)絡(luò)開始收斂,所以們用了0.01的初始學(xué)習(xí)速率來預(yù)熱訓(xùn)練,直到訓(xùn)練誤差低于80%的時(shí)候(大約400次迭代),然后再回到0.1的學(xué)習(xí)速率繼續(xù)訓(xùn)練。接下來的訓(xùn)練方案是跟前文提到的一模一樣。這個(gè)110層的網(wǎng)絡(luò)收斂的很好(圖6中)它和其他網(wǎng)絡(luò)(Fitnet[34],highway[41])比起來有更少的參數(shù)。且獲得了很好的結(jié)果(6.43% 表6)

網(wǎng)絡(luò)層響應(yīng)分析。圖7展示了層響應(yīng)的標(biāo)準(zhǔn)差(std)。響應(yīng)是指的每個(gè)3x3層的輸出(Batch-normalization后,其他非線性操作前(Relu/addition))。對(duì)于殘差網(wǎng)絡(luò),這個(gè)分析解釋了殘差函數(shù)的響應(yīng)強(qiáng)度。圖7展示了殘差網(wǎng)絡(luò)和普通網(wǎng)絡(luò)比起來有著較小的響應(yīng)。這些結(jié)果支撐了我們的原始動(dòng)機(jī)(Sec3.1),即殘差函數(shù)可能比非殘差函數(shù)更加的接近0。我們通過比較resnet-20,56,110的結(jié)果,還注意到,更深的殘差網(wǎng)絡(luò)有著更小幅度的響應(yīng),當(dāng)有更多層的時(shí)候,單個(gè)的Resnet層會(huì)修改的更少。

超1000層網(wǎng)絡(luò)的探究。我們探索了一個(gè)更深的模型,超過1000層。我們把n設(shè)成200,這對(duì)應(yīng)了1202層的網(wǎng)絡(luò),用前文一樣的方法去訓(xùn)練。我們的方法沒有顯示出優(yōu)化的困難,1000層的網(wǎng)絡(luò)可以獲得訓(xùn)練誤差<0.1%的結(jié)果(圖6右),它的測(cè)試集錯(cuò)誤率仍然相當(dāng)?shù)牟诲e(cuò)(7.93% 表6)。

不過對(duì)于這種太深的網(wǎng)絡(luò)同樣有問題,1202層的網(wǎng)絡(luò)在測(cè)試集上的結(jié)果比110層差,盡管在訓(xùn)練集上的錯(cuò)誤率表現(xiàn)的比較相近。我們認(rèn)為這是因?yàn)檫^擬合。1202層的網(wǎng)絡(luò)相對(duì)于這個(gè)數(shù)據(jù)集來說實(shí)在是龐大到有點(diǎn)沒必要。諸如maxout[9]或者dropout[13]通常用在此數(shù)據(jù)集上來解決這個(gè)問題,以獲得更好的結(jié)果[9,25,24,34]。在此論文中,我們沒有用Maxout/dropout,只是簡單的實(shí)施了正規(guī)化來配合增大/減少網(wǎng)絡(luò)深度架構(gòu)設(shè)計(jì),不偏離探究優(yōu)化困難的主路線。然而結(jié)合更強(qiáng)的正規(guī)化手段進(jìn)一步提升結(jié)果,是我們未來要研究的方向。

4.3 物體檢測(cè)(PASCAL和MS COCO)

我們的方法在其他的識(shí)別任務(wù)上同樣有著很好的表現(xiàn),表7和表8顯示了在對(duì)象檢測(cè)的基本結(jié)果。用的數(shù)據(jù)集是PSCAL VOC 2007,2012[5]和COCO[26],我們采用了更快的R-CNN[32]作為檢測(cè)方法,這兒我們重點(diǎn)關(guān)注的是把VGG16替換成ResNet101后的性能提升。使用這兩種檢測(cè)模型的實(shí)現(xiàn)是類似的(見附錄),所以增益只能歸功于更好的網(wǎng)絡(luò)結(jié)構(gòu)。值得注意的是,在COCO數(shù)據(jù)集上的挑戰(zhàn),我們獲得的結(jié)果比COCO標(biāo)準(zhǔn)測(cè)試(mAP@.5,.95)提升了6.0%,相對(duì)提升量達(dá)28%,這個(gè)成就完全歸功于本文描述的殘差學(xué)習(xí)方法。

在深度殘差網(wǎng)絡(luò)的基礎(chǔ)上,我們獲得了更多項(xiàng)目的第一名:ImageNet detection, ImageNet localization COCO detection COCO segmentation等。細(xì)節(jié)見附錄。


References

[1] Y. Bengio, P. Simard, and P. Frasconi. Learning long-term dependencieswith 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] R. Girshick. Fast R-CNN. In ICCV, 2015.

[7] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchiesfor accurate object detection and semantic segmentation. InCVPR, 2014.

[8] X. Glorot and Y. Bengio. Understanding the difficulty of trainingdeep feedforward neural networks. In AISTATS,

[9] I. J. Goodfellow, D. Warde-Farley, M. Mirza, A. Courville, andY. Bengio. Maxout networks. arXiv:1302.4389, 2013.

[10] K. He and J. Sun. Convolutional neural networks at constrained timecost. In CVPR, 2015.

[11] K. He, X. Zhang, S. Ren, and J. Sun. Spatial pyramid pooling in deepconvolutional 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. InICCV, 2015.

[13] G. E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever, andR. R. Salakhutdinov. Improving neural networks by preventing coadaptationof 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. 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 handwrittenzip code recognition. Neural computation, 1989.

[23] Y. LeCun, L. Bottou, G. B. Orr, and K.-R.M¨uller. 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. Deeplysupervisednets. 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. Doll′ar, and C. L. Zitnick. Microsoft COCO: Common objects incontext. In ECCV. 2014.

[27] J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networksfor semantic segmentation. In CVPR, 2015.

[28] G. Mont′ufar, R. Pascanu, K. Cho, and Y. Bengio. On the number oflinear 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] B. D. Ripley. Pattern recognition and neural networks. Cambridgeuniversity press, 1996.

[34] A. Romero, N. Ballas, S. E. Kahou, A. Chassang, C. Gatta, andY. 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. Imagenetlarge scale visual recognition challenge. arXiv:1409.0575, 2014.

[36] 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.

[37] N. N. Schraudolph. Accelerated gradient descent by factor-centeringdecomposition. Technical report, 1998.

[38] N. N. Schraudolph. Centering neural network gradient factors. InNeural Networks: Tricks of the Trade, pages 207–226. Springer,1998.

[39] P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, and Y. Le-Cun. Overfeat: Integrated recognition, localization and detectionusing co
nvolutional networks. In ICLR, 2014.

[40] K. Simonyan and A. Zisserman. Very deep convolutional networksfor 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 deepnetworks. 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. InSIGGRAPH, 2006.

[46] T. Vatanen, T. Raiko, H. Valpola, and Y. LeCun. Pushing stochasticgradient towards second-order methods–backpropagation learningwith transformations in nonlinearities. In Neural InformationProcessing, 2013.

[47] A. Vedaldi and B. Fulkerson. VLFeat: An open and portable libraryof 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 convolutionalneural networks. In ECCV, 2014.9778


(注:感謝您的閱讀,希望本文對(duì)您有所幫助。如果覺得不錯(cuò)歡迎分享轉(zhuǎn)載,但請(qǐng)先點(diǎn)擊 這里 獲取授權(quán)。本文由 版權(quán)印 提供保護(hù),禁止任何形式的未授權(quán)違規(guī)轉(zhuǎn)載,謝謝!)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容