ResNet

###看文章的時候爲什麼優化殘差更容易這個問題困擾了我很久,所以下面主要記錄這個問題的理解以及resnet脈絡的整理。

Motivation:

1.神經網絡的結構並不是越深越好,隨着網絡的加深伴隨着嚴重的梯度下降和梯度爆炸的問題,目前batch normalization等方法可以解決梯度消失和梯度爆炸的問題。但是使用了各種normalization的方法也不能是深層網絡的效果好於淺層網絡。

2.理論上,若A爲淺層網絡,B爲深層網絡,且B的淺層結構完全複製於A,後幾層爲線性層(identity mapping),那麼B網絡的效果應該是和A的相同的。但是實驗發現,A網絡的訓練準確率反而比淺層網絡要低,這說明在實際應用時,高層的這種線性關係很難學到,也就是出現了文中提到的degradation problem(退化)。訓練集準確率下降的原因肯定不是過擬合,因爲過擬合的話訓練集的準確率應該很高。由此出發,我們將這種線性關係加到網絡的學習中,最後學出來的網絡效果應該大於等於淺層網絡的效果,也可以認爲,學習這種線性映射會更加容易。

Residual learning:

identity mapping:x->x

residual mapping:F\left ( x \right )=H(x)-x

H\left ( x \right ) :desired underlying mapping——期望擬合的特徵圖,一個building block要擬合的就是這個特徵圖,未使用殘差網絡時,F\left ( x \right ) 的目標是擬合H\left ( x \right )。使用參差網絡後F\left ( x \right )的目標是擬合H\left ( x \right )-x,後者比前者更容易優化!

解釋:

假設我們認爲deeper層相較於shallower層的有一些層是冗餘的,那我們的學習目標應該是使這些層變成線性層,這樣才能不影響網絡的性能。那麼擬合的目標就變成了:H\left ( x \right )=x,即F(x)=0,這要比之前的F(x)=x更容易擬合!

 

 

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