深度在神經網絡中有及其重要的做用,但越深的網絡越難訓練。網絡
隨着深度的增長,從訓練一開始,梯度消失或梯度爆炸就會阻止收斂,normalized initialization和intermediate normalization可以解決這個問題。但依舊會出現degradation problem:隨着深度的增長,準確率會達到飽和,再持續增長深度則會致使準確率降低。這個問題不是因爲過擬合形成的,由於訓練偏差也會隨着深度增長而增大。app
假定輸入是x,指望輸出是H(x),若是咱們直接把輸入x傳到輸出做爲初始結果,那麼咱們須要學習的目標就是F(X)=H(x)-x。Resnet至關於將學習目標改變了,再也不是學習一個完整的輸出H(x),而是H(x)-x,即殘差。ide
Shortcut connections:跳過一層或更多層。在論文中,short connection執行identity mapping,把以前層的outputs加到這些stacked layers的outputs,這既不會增長額外的參數也不會增長計算的複雜度。學習
論文中將plain network和residual network作比較,residual只是比plain多了一個shortcut connection。residual network解決了degradation。orm
DRN,deep residual network,同時解決了梯度消失問題。it
若是增長的層可以增長identity mapping,更深的網絡應該不會比對應的淺層網絡的訓練偏差大。若是identity mapping是最優的,訓練會驅使增長的非線性層的weight趨於0以靠近identity mapping。這是殘差網絡的思想。io
使用resnet101層做爲目標檢測的特徵提取層時,不是選擇100層做爲目標檢測的特徵提取層,而是選擇前91層,由於前91層的total strides是16pixelsclass