MSRA(微軟亞洲研究院)何凱明團隊的深度殘差網絡(Deep Residual Network)在2015年的ImageNet上取得冠軍,該網絡簡稱為ResNet(由算法Residual命名),層數達到了152層,top-5錯誤率降到了3.57,而2014年冠軍GoogLeNet的錯誤率是6.7。(何凱明博士,2007年清華大學畢業之后開始在微軟亞洲研究院(MSRA)實習,2011年香港中文大學博士畢業后正式加入MSRA,目前在Facebook AI Research (FAIR)實驗室擔任研究科學家)。
VGGNet和GoogLeNet都顯示了網絡有足夠的深度是模型表現良好的前提,但是在網絡達到一定深度之后,簡單的網絡堆疊反而效果變差了。

ResNet指出,在許多的數據庫上都顯示出一個普遍的現象:增加網絡深度到一定程度時,更深的網絡意味着更高的訓練誤差。
誤差升高的原因是網絡越深,梯度消失的現象就越明顯,所以在后向傳播的時候,無法有效的把梯度更新到前面的網絡層,靠前的網絡層參數無法更新,導致訓練和測試效果變差。所以ResNet面臨的問題是怎樣在增加網絡深度的情況下有可以有效解決梯度消失的問題。
ResNet中解決深層網絡梯度消失的問題的核心結構是殘差網絡:

殘差網絡增加了一個identity mapping(恆等映射),把當前輸出直接傳輸給下一層網絡(全部是1:1傳輸,不增加額外的參數),相當於走了一個捷徑,跳過了本層運算,這個直接連接命名為“skip connection”,同時在后向傳播過程中,也是將下一層網絡的梯度直接傳遞給上一層網絡,這樣就解決了深層網絡的梯度消失問題。
下圖是VGG-19、VGG擴展以及使用了 skip connection 的VGG擴展結構,實線表示等維度的傳遞,虛線表示不等維度的傳遞,維度不等的情況下一般是用0來填充:

對於shortcut連接的方式,作者提出了三個選項:
B. 在block輸入輸出維度一致時使用恆等映射,不一致時使用線性投影以保證維度一致;
C. 對於所有的block均使用線性投影。
對這三個選項都進行了實驗,發現雖然C的效果好於B的效果好於A的效果,但是差距很小,因此線性投影並不是必需的,而使用0填充時,可以保證模型的復雜度最低,這對於更深的網絡是更加有利的。
殘差網絡ResNets的特點
1. 殘差網絡在模型表征方面並不存在直接的優勢,ResNets並不能更好的表征某一方面的特征,但是ResNets允許逐層深入地表征更多的模型。
2. 殘差網絡使得前饋式/反向傳播算法非常順利進行,在極大程度上,殘差網絡使得優化較深層模型更為簡單
3. “shortcut”快捷連接添加既不產生額外的參數,也不會增加計算的復雜度。快捷連接簡單的執行身份映射,並將它們的輸出添加到疊加層的輸出。通過反向傳播的SGD,整個網絡仍然可以被訓練成終端到端的形式。
