摘要:在本文中,快捷連接是為了實現(xiàn)恒等映射,它的輸出與一組堆疊層的輸出相加見圖。實驗表明見圖,學(xué)習(xí)得到的殘差函數(shù)通常都是很小的響應(yīng)值,表明將恒等映射作為先決條件是合理的。
ResNet
Deep Residual Learning for Image Recognition
Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun
Caffe實現(xiàn):https://github.com/binLearnin...
摘要越深層的網(wǎng)絡(luò)往往越難以訓(xùn)練。本文提出一種殘差學(xué)習(xí)框架,使得比先前網(wǎng)絡(luò)深的多的網(wǎng)絡(luò)也易于訓(xùn)練。我們將網(wǎng)絡(luò)中的層改寫為在參照該層輸入的情況下學(xué)習(xí)殘差函數(shù)的形式,替換之前那種無參考學(xué)習(xí)的方式。我們通過大量實驗證明這種殘差網(wǎng)絡(luò)易于優(yōu)化,并且預(yù)測準(zhǔn)確率隨著網(wǎng)絡(luò)深度的增加而增大。在ImageNet數(shù)據(jù)集上使用了一個152層的殘差網(wǎng)絡(luò),深度是VGG網(wǎng)絡(luò)的8倍但復(fù)雜度卻更低。使用這種殘差網(wǎng)絡(luò)的集合在ImageNet測試集上達(dá)到3.57%的top-5錯誤率,這個結(jié)果贏得了ILSVRC2015年分類任務(wù)的第一名。另外我們在CIFAR-10數(shù)據(jù)集上對100層和1000層的殘差網(wǎng)絡(luò)進(jìn)行了分析。
模型表示的深度在許多視覺識別任務(wù)中是最重要的影響因素。完全得益于極深層的表示,我們在COCO物體檢測數(shù)據(jù)集上得到了28%的性能提升。深度殘差網(wǎng)絡(luò)是我們在參加ILSVRC2015和COCO2015競賽時提交的解決方案的基礎(chǔ),在這兩個競賽中我們還贏得了ImageNet檢測、ImageNet定位、COCO檢測以及COCO分割等任務(wù)的第一名。
深度網(wǎng)絡(luò)可以將低/中/高層特征與分類器結(jié)合起來成為一種端到端的多層形式,其中特征的“層”可以通過增加網(wǎng)絡(luò)層數(shù)(深度)來豐富。最近的研究也表明網(wǎng)絡(luò)深度對于網(wǎng)絡(luò)的性能提升至關(guān)重要。
那么,是不是隨著網(wǎng)絡(luò)中堆疊的層數(shù)增加可以很容易的訓(xùn)練得到一個性能更好的網(wǎng)絡(luò)呢? 一個惡名昭彰的攔路虎妨礙驗證該疑問是否正確——梯度消失/爆炸,它會妨礙網(wǎng)絡(luò)收斂。隨著歸一化初始化、中間歸一化層(BN)等技術(shù)的提出,梯度消失/爆炸問題得到一定程度的解決,現(xiàn)在可以使用隨機(jī)梯度下降(SGD)加上反向傳播的方法訓(xùn)練一個數(shù)十層的網(wǎng)絡(luò)至收斂。
然而,另一個攔路虎來襲——退化(degradation)問題。隨著網(wǎng)絡(luò)深度的增加,準(zhǔn)確率趨向于飽和,然后迅速下降。讓人出乎意料的是,這種退化現(xiàn)象并不是由過擬合導(dǎo)致,在一個表現(xiàn)不錯的網(wǎng)絡(luò)中添加更多的層反而會導(dǎo)致更高的訓(xùn)練誤差(過擬合時訓(xùn)練誤差減小,但測試誤差增大)。圖1中顯示了一個典型案例。
訓(xùn)練準(zhǔn)確率的退化表明并不是所有系統(tǒng)都易于優(yōu)化??紤]一個淺層架構(gòu)以及與其對應(yīng)的更深層的模型,構(gòu)造更深層模型的方案是新添加的層都是簡單的恒等映射,其他的層都是從已學(xué)習(xí)的淺層網(wǎng)絡(luò)中拷貝得到,那么這樣的構(gòu)造方式表明更深層的網(wǎng)絡(luò)不應(yīng)該比與之對應(yīng)的淺層網(wǎng)絡(luò)有更高的訓(xùn)練誤差。但實驗顯示我們現(xiàn)階段的求解器無法發(fā)現(xiàn)一個比上述構(gòu)造方案更好或相當(dāng)?shù)姆桨浮?br>為了解決退化問題,本文提出一種深度殘差學(xué)習(xí)框架。我們讓每一層學(xué)習(xí)一個殘差映射,并不是像之前一樣希望每一層都學(xué)習(xí)得到所需的潛在映射(desired underlying mapping)。這里將所需的潛在映射表示為H(x),那么殘差映射可以表示為F(x)=H(x)-x,之前的映射H(x)=F(x)+x。我們假設(shè)殘差映射比原來的無參考的映射更容易優(yōu)化??紤]到一個極端情況,如果最優(yōu)的方案就是恒等映射,那么將一個殘差逼近零比使用一組堆疊的非線性層來擬合恒等映射要容易的多。
公式F(x)+x可以通過在前饋神經(jīng)網(wǎng)絡(luò)中添加“快捷連接(shortcut connections)”來實現(xiàn),快捷連接就是在網(wǎng)絡(luò)中跳過若干層而直接相連(見圖2)。
在本文中,快捷連接是為了實現(xiàn)恒等映射,它的輸出與一組堆疊層的輸出相加(見圖2)。恒等快捷連接沒有增加額外的參數(shù)及計算復(fù)雜度,修改后的網(wǎng)絡(luò)仍然可以使用SGD及BP進(jìn)行端到端的訓(xùn)練,并且利用現(xiàn)有的深度學(xué)習(xí)軟件框架(如Caffe)可以很容易構(gòu)建出來。
實驗表明:1)極深的殘差網(wǎng)絡(luò)依然易于優(yōu)化,但是相應(yīng)的“普通(plain)”網(wǎng)絡(luò)(只是簡單地堆疊層)隨著深度增加訓(xùn)練誤差也越來越大;2)深度殘差網(wǎng)絡(luò)隨著深度的極大增加準(zhǔn)確率也會提高,得到比先前網(wǎng)絡(luò)更好的結(jié)果。
2. Related Work殘差表示(Residual Representations)
在做矢量量化編碼(vector quantization)時,對殘差矢量進(jìn)行編碼相較于對原始矢量進(jìn)行編碼要更高效。
用于求解偏微分方程(Partial Differential Equations, PDEs)的多重網(wǎng)格(Multigrid)法的思想表明,恰當(dāng)?shù)闹囟x或預(yù)處理可以簡化優(yōu)化過程。
快捷連接(Shortcut Connections)
快捷連接在很多網(wǎng)絡(luò)結(jié)構(gòu)中得到應(yīng)用,或為了解決梯度消失/爆炸問題,或為了增強網(wǎng)絡(luò)表示能力。
與本文思想一致的是Highway Networks,其中提出的快捷連接由門限函數(shù)控制。門限函數(shù)包含參數(shù)且依賴于數(shù)據(jù),因此Highway Networks中的門限會有“關(guān)閉”的情況,此時網(wǎng)絡(luò)的表現(xiàn)如同無殘差函數(shù)即普通的網(wǎng)絡(luò)結(jié)構(gòu)。而本文方法使用的恒等連接沒有參數(shù),永遠(yuǎn)不會關(guān)閉,所有信息始終暢通無阻的進(jìn)行傳播,網(wǎng)絡(luò)只是學(xué)習(xí)殘差函數(shù)。另外,沒有實驗證明Highway Networks可以隨著網(wǎng)絡(luò)深度的極大增加相應(yīng)的提高準(zhǔn)確率。
用H(x)表示若干堆疊層所擬合的潛在映射,x表示這些層中第一層的輸入。如果多個非線性層可以漸進(jìn)擬合任意復(fù)雜函數(shù)的假設(shè)成立,那么它們可以漸進(jìn)擬合殘差函數(shù)(如H(x)-x)的假設(shè)也成立。所以與其期望堆疊層擬合H(x),我們直接讓這些層擬合殘差函數(shù)F(x)=H(x)-x,雖然這兩種形式都可以擬合真正所需的函數(shù),但訓(xùn)練學(xué)習(xí)的難易程度是不同的。
這樣重定義的動機(jī)就是退化問題,如果新添加的層只是恒等映射,那么更深層的網(wǎng)絡(luò)不應(yīng)該比相應(yīng)的淺層網(wǎng)絡(luò)具有更高的訓(xùn)練誤差,但是退化問題表明當(dāng)前的求解器難以將多層非線性層近似成恒等映射。而使用殘差學(xué)習(xí)的重定義形式,如果恒等映射是最優(yōu)解,那么求解器可以很容易的將非線性層的參數(shù)全都逼近零來近似恒等映射。
在實際情況下恒等映射不見得就是最優(yōu)解,但是這樣的重定義可能給問題提供了一個合理的先決條件。如果最優(yōu)函數(shù)近似于恒等映射而不是乘零映射,那么求解器在參考恒等映射的前提下可以很容易的發(fā)現(xiàn)這些小的擾動,比重新學(xué)習(xí)一個新的函數(shù)要簡單的多。實驗表明(見圖7),學(xué)習(xí)得到的殘差函數(shù)通常都是很小的響應(yīng)值,表明將恒等映射作為先決條件是合理的。
本文將殘差學(xué)習(xí)應(yīng)用于若干堆疊層的組合,基本的構(gòu)造單元(building block)如圖2所示,將構(gòu)造單元定義為:
y = F(x,{Wi}) + x --- (1)
F(x,{Wi})表示學(xué)習(xí)得到的殘差映射。F+x由快捷連接和元素級加法實現(xiàn),而快捷連接不會增加參數(shù)量及計算復(fù)雜度。 x與F的維度必須相同,在改變輸入輸出的通道數(shù)時也要相應(yīng)改變x的維度。殘差函數(shù)F可以是任意形式,本文使用兩個或三個網(wǎng)絡(luò)層來表示F(見圖5),當(dāng)然也可以使用更多的層,但是單個層的效果相當(dāng)于線性層y=W1x+x,沒有發(fā)現(xiàn)什么優(yōu)勢。
Plain Networks
主要借鑒于VGG網(wǎng)絡(luò),卷積核最大3x3并遵循下面兩個設(shè)計原則:(i)如果輸出特征圖的尺寸相同,那么特征圖的數(shù)量也相同;(ii)如果特征圖尺寸減半,那么卷積核數(shù)量加倍,保證每層的計算復(fù)雜度相同。降采樣由步長為2的卷積層實現(xiàn),網(wǎng)絡(luò)最后是全局平均池化層和1000路全連接層及softmax層。帶權(quán)重的層總共有34個(見圖3-middle)。注意,這個模型比VGG網(wǎng)絡(luò)的復(fù)雜度要低,共36億FLOPs,只有VGG-19的18%。
Residual Network
在上面Plain Networks的基礎(chǔ)上插入快捷連接就成為深度殘差網(wǎng)絡(luò)(見圖3-right)。當(dāng)block的維度發(fā)生變化時有兩個解決辦法:(A)捷徑仍然是恒等映射,在新增的維度填充零,這個方法不會增加額外的參數(shù);(B)使用變換映射來匹配新的維度(一般是用1x1卷積層實現(xiàn))。
在ImageNet數(shù)據(jù)集上訓(xùn)練,圖像在[256,480]范圍內(nèi)隨機(jī)縮放,在縮放后的圖像中隨機(jī)剪切224x224的區(qū)域并水平翻轉(zhuǎn),然后做像素級的均值減除,另外也使用顏色增廣方法。在每個卷積層激活函數(shù)之前應(yīng)用batch normalization,使用msra初始化方法。使用SGD,batch size為256,初始學(xué)習(xí)率為0.1,當(dāng)訓(xùn)練誤差停止下降時除10。權(quán)值衰減系數(shù)0.0001,動量0.9,沒有使用dropout。
測試時使用10個剪切塊,并在不同分辨率上{224,256,384,480,640}分別預(yù)測,最后取平均值作為最終的結(jié)果。
使用不同網(wǎng)絡(luò)進(jìn)行實驗,具體配置如表1,結(jié)果見表2。
Plain Networks
從表2中可以看出,更深層的普通網(wǎng)絡(luò)比淺層網(wǎng)絡(luò)有更高的驗證誤差。通過比較它們在訓(xùn)練過程中的訓(xùn)練/驗證誤差(見圖4),以發(fā)現(xiàn)退化問題——34層的普通網(wǎng)絡(luò)在整個訓(xùn)練過程中都有更高的訓(xùn)練誤差,雖然18層網(wǎng)絡(luò)的解空間是34層網(wǎng)絡(luò)解空間的子空間。
這種優(yōu)化問題不太可能由梯度消失導(dǎo)致,BN的使用保證了信號在前向/反向傳播時都不會消失。我們推測深層的普通網(wǎng)絡(luò)可能是指數(shù)級低的收斂速率,因此影響到了訓(xùn)練誤差的減?。ㄈ欢鴮嶒炑娱L訓(xùn)練時間并沒有發(fā)現(xiàn)該問題改進(jìn)的跡象)。
Residual Networks
殘差網(wǎng)絡(luò)的結(jié)果卻恰恰相反。34層的殘差網(wǎng)絡(luò)表現(xiàn)要比18層的更好,這表明殘差網(wǎng)絡(luò)可以解決退化問題,
并且可以隨著深度的增加而提高準(zhǔn)確率。34層殘差網(wǎng)絡(luò)的表現(xiàn)比34層普通網(wǎng)絡(luò)要好,這證明了殘差學(xué)習(xí)在深度模型中的有效性。另外18層的殘差網(wǎng)絡(luò)和18層的普通網(wǎng)絡(luò)性能相當(dāng),但是收斂速度更快(見圖4),這說明在網(wǎng)絡(luò)“并不太深”時,當(dāng)前的求解器可以很好的解決,在這種情況下殘差網(wǎng)絡(luò)通過在早期加速收斂速度使得優(yōu)化更容易。
Identity vs. Projection Shortcuts
3.3中介紹在維度發(fā)生變化時的處理方法(A)(B),再加一種(C)所有快捷連接都經(jīng)過變換,表3展示了不同方法的性能。
從表3中可以看出三種方法都比相應(yīng)的普通網(wǎng)絡(luò)的表現(xiàn)要好,B比A要好一些,主要因為A的零值填充并沒有殘差學(xué)習(xí),C比B稍好,但會引入更多的參數(shù),綜合來看ABC的差別并不大,這說明變換快捷連接對解決退化問題不是必需的,為了減少內(nèi)存/時間復(fù)雜度以及模型大小,本文采用B方案。
Deeper Bottleneck Architectures
將基本構(gòu)造單元修改為bottleneck形式,具體見圖5。第一個1x1卷積層為了降維,第二個1x1層為了恢復(fù)原來的維度,這樣使得中間的3x3卷積層有更小的輸入/輸出維度。這兩種設(shè)計具有相似的時間復(fù)雜度。
無參數(shù)的恒等映射在bottleneck架構(gòu)中特別重要,如果將恒等映射改為變換映射,那么時間復(fù)雜度和模型大小都將翻倍,因為快捷連接的兩端都有很高維度。
50-layer ResNet
用三層的bottleneck替換原來的兩層形式,網(wǎng)絡(luò)中帶參數(shù)的層共有50個,具體如表1,維度增加時使用B方案,該模型共有38億FLOPs。
101-layer and 152-layer ResNets
更深層的網(wǎng)絡(luò),具體配置見表1。雖然深度急劇增加,但152層ResNet(113億FLOPs)仍然比VGG-16/19(153/196億FLOPs)的復(fù)雜度更低。
從表3,表4中可以看出50/101/152層ResNet比34層的準(zhǔn)確率更高。并沒有發(fā)現(xiàn)退化現(xiàn)象,并且隨著深度增加準(zhǔn)確率也相應(yīng)提升。
Comparisons with State-of-the-art Methods
從表4中可以看出,ResNet比先前的網(wǎng)絡(luò)性能更好。單個152層ResNet的top-5錯誤率4.49%低于所有網(wǎng)絡(luò),而結(jié)合了6個網(wǎng)絡(luò)(其中2個152層)可以達(dá)到3.57%的top-5錯誤率,以此贏得ILSVRC2015年的第一名(見表5)。
使用CIFAR-10測試了不同的網(wǎng)絡(luò),考察其性能,具體表現(xiàn)如表6所示。
各網(wǎng)絡(luò)在訓(xùn)練過程中的訓(xùn)練/測試誤差如圖6所示,總體而言符合預(yù)期。普通網(wǎng)絡(luò)隨著深度的增加誤差反而增大,出現(xiàn)退化現(xiàn)象;而殘差網(wǎng)絡(luò)隨著深度增加誤差也相應(yīng)減小,說明殘差網(wǎng)絡(luò)很好的解決了退化問題,但有一點需要注意,就是極深層的情況——1202層網(wǎng)絡(luò)。
Exploring Over 1000 layers
1202層的殘差網(wǎng)絡(luò)雖然也收斂并且誤差也比較小,但是它的性能卻比110層的網(wǎng)絡(luò)要差。我們認(rèn)為導(dǎo)致該現(xiàn)象的原因是過擬合,CIFAR-10數(shù)據(jù)集比較小,不需要用1202層這么復(fù)雜的網(wǎng)絡(luò),另外在這個實驗中我們也沒有使用maxout或dropout等比較強的正則化方法,一般來說使用這些正則化方法在小規(guī)模數(shù)據(jù)集上會取得更好的結(jié)果,所以如果本文的網(wǎng)絡(luò)添加了這些正則化的方法應(yīng)該能獲得更好的結(jié)果。
Analysis of Layer Responses
3.1節(jié)就提到了網(wǎng)絡(luò)層的響應(yīng)值的問題,現(xiàn)在分別對不同網(wǎng)絡(luò)的響應(yīng)值進(jìn)行考察,從圖7中可以看出,殘差網(wǎng)絡(luò)中的層的響應(yīng)值通常要比普通網(wǎng)絡(luò)中的小,這個結(jié)果說明殘差函數(shù)比非殘差函數(shù)更接近于零。另外越深層的網(wǎng)絡(luò)中的層的響應(yīng)值越小,具有越多層的殘差網(wǎng)絡(luò)在每一層中對信號的修改就越少。
本文提出的殘差網(wǎng)絡(luò)在其他的視覺任務(wù)中也有很好的泛化性能。表7、表8分別展示了不同網(wǎng)絡(luò)在PASCAL VOC和COCO數(shù)據(jù)集上進(jìn)行物體檢測的表現(xiàn)。檢測算法使用Faster R-CNN架構(gòu),具體的細(xì)節(jié)見附件。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/19631.html
摘要:和是兩個非常重要的網(wǎng)絡(luò),它們顯示了深層卷積神經(jīng)網(wǎng)絡(luò)的能力,并且指出使用極小的卷積核可以提高神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力。也有工作考察與的關(guān)系,與其相似,本文考察了與的關(guān)系。與的網(wǎng)絡(luò)架構(gòu)配置以及復(fù)雜度見表。 DPN Dual Path NetworksYunpeng Chen, Jianan Li, Huaxin Xiao, Xiaojie Jin, Shuicheng Yan, Jiashi F...
摘要:本文提出的網(wǎng)絡(luò)名為,意為維度基數(shù)。在空間通道維度分解網(wǎng)絡(luò),減少冗余,可以對網(wǎng)絡(luò)進(jìn)行加速或精簡。復(fù)雜度不變的情況下,隨著基數(shù)的增大錯誤率持續(xù)減小??疾煸黾由疃葘挾然鶖?shù)對網(wǎng)絡(luò)性能的提升。 ResNeXt Aggregated Residual Transformations for Deep Neural NetworksSaining Xie, Ross Girshick, Piotr ...
摘要:將這些需要保留的信息直接通過恒等映射進(jìn)行傳輸,展示了中的很多層對最終的結(jié)果影響極小,可以在訓(xùn)練時隨機(jī)丟棄部分層。得益于密集連接的方式,可以同時具有恒等映射深度監(jiān)督和深度多樣性的特性。 DenseNet Densely Connected Convolutional NetworksGao Huang, Zhuang Liu, Kilian Q. Weinberger, Laurens ...
摘要:顯示了殘差連接可以加速深層網(wǎng)絡(luò)的收斂速度,考察了殘差網(wǎng)絡(luò)中激活函數(shù)的位置順序,顯示了恒等映射在殘差網(wǎng)絡(luò)中的重要性,并且利用新的架構(gòu)可以訓(xùn)練極深層的網(wǎng)絡(luò)。包含恒等映射的殘差有助于訓(xùn)練極深層網(wǎng)絡(luò),但同時也是殘差網(wǎng)絡(luò)的一個缺點。 WRN Wide Residual NetworksSergey Zagoruyko, Nikos Komodakis Caffe實現(xiàn):https://github...
摘要:大量實驗結(jié)果證明了恒等映射的重要性。本文實驗了不同形式的,發(fā)現(xiàn)使用恒等映射的網(wǎng)絡(luò)性能最好,誤差減小最快且訓(xùn)練損失最低。為了使得是恒等映射,需要調(diào)整和帶權(quán)值層的位置。恒等映射形式的快捷連接和預(yù)激活對于信號在網(wǎng)絡(luò)中的順暢傳播至關(guān)重要。 ResNet-v2 Identity Mappings in Deep Residual NetworksKaiming He, Xiangyu Zhang...
閱讀 720·2023-04-25 20:32
閱讀 2266·2021-11-24 10:27
閱讀 4519·2021-09-29 09:47
閱讀 2241·2021-09-28 09:36
閱讀 3633·2021-09-22 15:27
閱讀 2756·2019-08-30 15:54
閱讀 370·2019-08-30 11:06
閱讀 1271·2019-08-30 10:58