論文筆記:ResNet論文筆記

論文地址

Deep Residual Learning for Image Recognition

1、 正文

注:筆記僅供參考,可能有分析、理解的不對的地方,歡迎指出!

1.1、提出問題

  最近一些研究表明,網絡的深度似乎是一個很重要的因素,作者提出了一個問題:
Is learning better networks as easy as stacking more layers?
作者做了一個實驗,用CIFAR-10數據集訓練了一個20層和56層的網絡。這兩個網絡都是plain networksplain networks可以理解爲是由卷積、池化、全連接構成的傳統的卷積神經網絡。 實驗結果如下:
在這裏插入圖片描述
實驗發現了一個問題:隨着網絡深度的增加,精度卻出現了退化(degradation),而且這並不是過擬合(overfitting)造成的。

1.2、分析問題

  思考一下,如果我們把56層的網絡看成是20層基礎上的疊加,並且添加的36層能理解爲是對前面20層做出恆等映射(identity mapping)(恆等映射可以理解爲x經過某一個函數(設爲G(x))作用輸出還是x本身,即G(x)=x),那麼我們就可以假設一種訓練情況:
56層的前20層應該和只有20層的網絡的訓練結果相同,後36層應該是對前20層輸出做恆等映射
  如果優化器是按這麼訓練的,那麼更深層模型的訓練誤差不應該比淺的模型的高。但觀察實驗結果,網絡出現了退化問題(degradation problem);顯然優化器並不是這樣訓練的,這說明傳統的網絡(plain networks)很難去學習恆等映射。

1.3、提出假設

爲了解決退化問題(degradation problem),作者提出了殘差學習(residual learning),如下圖:
在這裏插入圖片描述
  假設F(x)是一個block的映射函數,x是block輸入,F(x)是block的輸出,H(x)爲block的期望函數。也就是我們希望通過訓練F(x)中的w和b去逼近H(x)。
引入identity mapping之前:訓練F(x)逼近H(x),也就是H(x)=F(x)
引入identity mapping之後:訓練F(x)逼近H(x)-x,也就是H(x)=F(x)+x
  在引入引入identity mapping之後,H(x)=F(x)+x中,F(x)稱爲residual mapping,x稱爲identity mapping。這裏的直接將輸入連接到輸出的結構稱爲shortcut connections
  想象一下,假設residual mapping比之前的網絡(產生輸入x的前面的網絡)更容易優化。那麼當輸入x已經是最優的,網絡就會想着繼續把這個x傳遞下去。如果residual mapping更容易優化,那麼優化器會通過調整參數把F(x)的輸出儘可能變爲0,儘可能使期望函數H(x)=0+x=x,這樣就會儘可能的保留了前面網絡的參數。顯然、如果假設成立,引入shortcut connections完美完成了恆等映射(identity mapping)。
  回到前面那個56層的網絡,如果前面20層產生輸入x,而且這個x已經很棒了,那麼網絡就會儘可能的使後面36層設置爲0。那麼問題來了,如果後面36層全部設成0,就一定能有最優解嗎?答案顯然是否定的。但是,ResNet的結構似乎已經使得網絡不僅具有學習恆等映射的能力,還有學習其他映射的能力(至少它真的解決了退化問題),接下來就用實驗說明。

1.4、實驗結果

  基於上面的假設出發,作者使用Plain NetworksResNet作比較。實驗結果如下圖:
在這裏插入圖片描述
在這裏插入圖片描述
  從上圖我們可以看到,對於Plain NetworksPlain-34的錯誤率比Plain-18的還要高;而ResNet中,ResNet-34ResNet-18誤差要小。這說明ResNet解決了網絡的退化問題(degradation problem)。

2、網絡細節

2.1、ResNet系列具體結構

待更新。。。

2.2、三種shortcut connections實現細節

待更新。。。

2.3、兩種bottleneck實現細節

3、論文復現

待更新。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章