The depth of representation is of central importance for many visual recognition tasks
繼VGG和GoogLeNet在網絡深度上進行了進一步的嘗試,取得了比較大的進展-網絡越深效果也越好-,但也遇到了問題:
網絡越深,越容易出現梯度消失,導緻模型訓練難度變大,出現“退化”現象
注:從VGG的結果也能感覺到,當網絡深度達到一定深度的時候,模型的效果很難再提升

作者也進一步通過實驗指出了網絡深度的增加,會出現“退化”現象,
退化:當模型的深度增加時,輸出的錯誤率反而提高了
Q:如何有效的解決網絡深度的增加,帶來的“退化”問題?
A:出現退化的問題,主要是由于網絡深度的增加,帶來的在網絡訓練的時候,梯度無法有效的傳遞到淺層網絡,導緻出現梯度彌散(vanishing)。BN(BatchNormalization)通過規範化輸出資料來改變資料分布,是一個向前的過程來解決梯度彌散問題,而resNet網絡通過增加skip connection(Identity Map)來直接連接配接淺層網絡與深層網絡,進而使得梯度能夠很好的傳遞到淺層。[作者在後面又提出了質疑]
殘差網絡
針對出現的“退化”問題,作者提出了殘差網絡的概念:
假設:如果多層非線性層疊加可以漸進逼近複雜的函數,那麼也能漸進逼近殘差函數:H(X)-X
這樣,可以用多層網絡來逼近殘差函數
F(X):=H(X)−X
進而原來的網絡結構就變成了
F(X)+X
其中一個殘差結構如下:
說明:
- 如果添加了identity mapings,則結構更深的網絡不會比淺的網絡效果差
- 多層非線性層疊加在一起構成的網絡結構,很難學習到identify mapings
- 如果identity mapings是最優的連結方式,那麼 F(X) 方面的權重參數則會趨于0
- 如果最優的映射接近identity mapings,則優化的時候,找到相對于identity mapings的 F(x) (初始參數在0附近),要比逼近一個全新的函數要簡單的多
Identity Mapping
關于shortcut connection提出了兩種連接配接方式
方式一:
y=F(X,Wi) + X
其中 F(X,Wi)=W2σ(W1X) ,如上圖上描述的,表示多個非線性卷積層的疊加, σ 表示非線性激活函數ReLU, F+X 表示shortcut connection,對應每一個像素相加。
說明:該網絡結構相對于plain Net沒有增加任何參數
方式二:
y=F(X,Wi) +WsX
其中,如果想要改變輸入輸出的channels個數,則可以通過線性變換 Ws 來實作shortcut connection。
關于 F(X,Wi) 論文中也提到,也不要局限于上面提到了2層卷積的連接配接,可以更加變化豐富多樣些,如下
注:其中一個這樣的小單元,稱之為一個block。在建構深層的網絡結構時,作者将第二種結構稱之為bottleneck
網絡結構
作者在此部分重點對比了plain Network 與resNet兩種結構,進而來說明resNet的優越性。
注:左側:VGG-19(19.6 billion FLOPS),中間:PlainNet-34(3.6 billion FLOPS),右側:ResNet-34(3.6 billion FLOPS)
說明:
- plain Net根據VGG網絡的設計思路,簡單的堆積卷積層,構架了一個18層和34層
- resNet與對應的PlainNet的參數個數相同
- resNet網絡結構中,
- 實線:代表的是上述提到的方程1,輸入輸出的次元沒有改變,
- 虛線:代表的是上書提到的方程2,輸入輸出的次元發生了改變,具體的實作是卷積的步長設定為2
Implemenation
訓練說明:
- 随機resize 到256,480
- 随機裁剪224x224
- 随機水準鏡像
- 減去均值
- 卷積操作之後,非線性激勵函數之前,使用BN(BatchNormalization)操作
- 使用SGD優化,mini-batch=256
- 學習率=0.1,然後當誤差不下降後,降低10倍
- 疊代次數 60 x 104
- 沒有使用dropout操作
測試說明:
- 對比了标準的10-crop測試(4個角落,中間位置,乘以水準鏡像)
- 采用fully convolutional 的形式,對最後的結果取平均(将圖像的短邊縮放到{224, 256, 384, 480, 640} 之一)
實驗
實驗一:ImageNet Classification
Q:作者指出優化難度好像并不是由于梯度消失引起的?
A:支援這種觀點可以通過上述對比實驗可以看出:
These plain neworks are trained with BN, which ensures forward propagated signals to have non-zero variances.
We also verify that the backward propagated gradients exhibit healthy norms with BN.
So neither forward nor backward signals varnish.
實際上,plainNet-34 仍然可以達到具有競争力的結果,也可以指出優化過程仍然起到了作用。 是以,作者得出,這種深度的plainNets的收斂可能是指數級别的(非常慢)速率,導緻訓練誤差偏高【作者也進一步證明了通過更多的疊代次數(3x),仍然觀察到了退化現象】
residual Networks
實驗一:
作者對比了18-layer和34-layer的plainNet和ResNets。
說明:
- 兩折的基礎網絡是相同的,resNet同plainNet
- 不同的是ResNet使用了shortcut connection:使得每兩個卷積增加了一個shortcut connnection
- 所有的shortcut 采用Identity Mapping,如果次元增加了,則采用0補足,進而相對于plainNet不會帶來任何額外參數
- 結果ResNet效果都要比plainNet要好。
- 通過table2,可以看出resNet可以比較好的控制“退化”問題,
- top-1 error的對比,更能展現殘差在提高網絡深度方面更加有效
- 收斂速度:通過對比18-layer發現resNet和plainNet的最終精度差不多,說明網絡深度不是特别深的時候,SGD能然可以對plainNet找到一個不錯的最優解,但是Resnet提供了一種收斂速度更快的結構
實驗二:
對比Identity和projection兩種shortcuts connection
說明:
- 作者對比了3種short connections
- A:zero-padding shortcuts for increasing dimensions, identity shortcuts for others
- B:projection shortcuts for increasing dimensions, identity shortcuts for others
- C:projection shortcuts for all shortcut
- 通過Table 3可以看出B略微好于A,C好于B。
- B>A:A中的zero-padding沒有進行殘差學習
- C>B:C好于B得益于更多的參數(13個projection shortcuts)
- 作者指出:這種結構的細微差别并不是解決“退化”問題的本質因素。為了考慮到模型的參數大小,記憶體和時間複雜度的問題,在後續的實驗中,作者沒有考慮C方法
Deeper Bottleneck Architectures
在進行ImageNet挑戰的時候,考慮到訓練時間問題,作者修改了block結構,由于在3x3卷積前後都采用了1x1的卷積操作,是以稱之為bottlenet。
注:1x1卷積主要用來降維和擴維用,使得3x3的卷積輸入輸出的次元更低。
說明:
- parameter-free:改為bottleneck之後,仍然采用identity mapping進行shortcut connection,沒有增加參數個數
- Identity mapping更加适合bottleneck結構:如果将Identity mapping替換為Projection Mapping,由于Projection的輸入輸出緯度都很高,進而模型的大小和時間負責度都擴大了1倍。是以
- -
50-layer-ResNet
在resNet-34的基礎上,将block結構中的2層3x3的卷積換成上述的bottleneck結構,并采用B(projection shortcuts for increasing dimensions, identity shortcuts for others)結構來增加次元
101-layer and 152-layer ResNets
利用更多的3-layer結構(bottleneck)來生成更加深的網絡結構。但是盡管152的網絡結構非常深,但是相比于VGG-16(19)的模型複雜度還是小很多
model | complexity |
---|---|
resNet-152 | 11.3 billion FLOPS |
VGG-16 | 15.3 billion FLOPS |
VGG-19 | 19.6 billion FLOPS |
注:50/101/152-layer的resNets要比34層的結構有更高的精度,并沒有觀察到“退化”問題。
結果:
參考文獻
https://arxiv.org/pdf/1512.03385v1.pdf
http://blog.csdn.net/wspba/article/details/56019373
http://news.ifeng.com/a/20170825/51759378_0.shtml
http://blog.csdn.net/u010789558/article/details/52932427