Resnet

ResNet在2015年被提出,在ImageNet比賽classification任務上獲得第一名,因為它“簡單與實用”并存,之后很多方法都建立在ResNet50或者ResNet101的基礎上完成的,檢測,分割,識別等領域都紛紛使用ResNet,Alpha zero也使用了ResNet,所以可見ResNet確實很好用。
下面我們從實用的角度去看看ResNet。

1.ResNet意義

隨著網絡的加深,出現了訓練集準確率下降的現象,我們可以確定這不是由于Overfit過擬合造成的(過擬合的情況訓練集應該準確率很高);所以作者針對這個問題提出了一種全新的網絡,叫深度殘差網絡,它允許網絡盡可能的加深,其中引入了全新的結構如圖1;

圖1

殘差指的是什么?
其中ResNet提出了兩種mapping:

  • 一種是identity mapping,指的就是圖1中”彎彎的曲線“。identity mapping顧名思義,就是指本身,也就是公式中的xx。
  • 另一種residual mapping,指的就是除了”彎彎的曲線“那部分。而residual mapping指的是“差”,也就是y?xy?x,所以殘差指的就是F(x)F(x)部分。
    所以最后的輸出是 y=F(x)+xy=F(x)+x

為什么ResNet可以解決“隨著網絡加深,準確率不下降”的問題?
理論上,對于“隨著網絡加深,準確率下降”的問題,Resnet提供了兩種選擇方式,也就是identity mapping和residual mapping,如果網絡已經到達最優(yōu),繼續(xù)加深網絡,residual mapping將被push為0,只剩下identity mapping,這樣理論上網絡一直處于最優(yōu)狀態(tài)了,網絡的性能也就不會隨著深度增加而降低了。

2.ResNet結構

ResNet使用了一種連接方式叫做“shortcut connection”,顧名思義,shortcut就是“抄近道”的意思,如圖1所示。
我們可以看到一個“彎彎的弧線“這個就是所謂的”shortcut connection“,也是文中提到identity mapping,這張圖也詮釋了ResNet的真諦,當然大家可以放心,真正在使用的ResNet模塊并不是這么單一,文章中就提出了兩種方式:


圖2

這兩種結構分別針對ResNet34(左圖)和ResNet50/101/152(右圖),一般稱整個結構為一個”building block“。其中右圖又稱為”bottleneck design”,目的一目了然,就是為了降低參數的數目,第一個1x1的卷積把256維channel降到64維,然后在最后通過1x1卷積恢復,整體上用的參數數目:1x1x256x64 + 3x3x64x64 + 1x1x64x256 = 69632,而不使用bottleneck的話就是兩個3x3x256的卷積,參數數目: 3x3x256x256x2 = 1179648,差了16.94倍。
對于常規(guī)ResNet,可以用于34層或者更少的網絡中,對于Bottleneck Design的ResNet通常用于更深的如101這樣的網絡中,目的是減少計算和參數量(實用目的)。

3.ResNet50和ResNet101

圖3

圖3中一共提出了5種深度的ResNet,分別是18,34,50,101和152,首先看圖3的最左側,我們發(fā)現所有的網絡都分成5部分,分別是:conv1,conv2_x,conv3_x,conv4_x,conv5_x,之后的其他論文也會專門用這個稱呼指代ResNet50或者101的每部分。
以101-layer為列,我們先看看101-layer是不是真的是101層網絡,首先有個輸入7x7x64的卷積,然后經過3 + 4 + 23 + 3 = 33個building block,每個block為3層,所以有33 x 3 = 99層,最后有個fc層(用于分類),所以1 + 99 + 1 = 101層,確實有101層網絡;
注:101層網絡僅僅指卷積或者全連接層,而激活層或者Pooling層并沒有計算在內;
這里我們關注50-layer和101-layer這兩列,可以發(fā)現,它們唯一的不同在于conv4_x,ResNet50有6個block,而ResNet101有23個block,差了17個block,也就是17 x 3 = 51層。

[1] 代碼參考

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容