論文基本資訊
- 标題:Deep Residual Learning for Image Recognition
- 作者:Kaiming He,Xiangyu Zhang, Shaoqing Ren ,and Jian Sun
- 機構:Microsoft Research
- 來源:CVPR
- 時間:2016
- 連結:[https://openaccess.thecvf.com/content_cvpr_2016/html/He_Deep_Residual_Learning_CVPR_2016_paper.html]
- 成就:2016CVPR 最佳論文,2015年Image/vet,coco競賽五項冠軍!
論文概要
解決問題
深度卷積神經網絡是用來提取圖檔的特征的。幾乎所有的視覺任務,比如分類,檢測,分割都是基于提取的特征來進行學習的。是以,能提取到更好的特征就能獲得更好的效果。
如何通過深度卷積神經網絡更好的提取特征?一個很直接的想法就是加深網絡的深度。但是實驗結果表明,線上性的卷積神經網絡中僅僅增加網絡的深度,會出現網絡退化現象。 為了解決網絡退化現象,使得網絡的深度可以更深,能夠提取更好的特征。本文提出了 Residual Network(ResNet)。
名詞解釋
- 網絡退化現象:網絡退化現象,不同于梯度爆炸/消失,而是随着網絡的深度的增加,網絡的訓練趨于飽和。甚至出現層數越多,訓練誤差越大的現象。如下圖所示。
Resnet論文解讀 (Deep Residual Learning for Image Recognition)論文基本資訊論文概要ResNet詳解思考實驗
創新點
- 提出了殘差學習網絡ResNet。使得網絡的學習能力能夠随着網絡深度的增加而增加。
性能
- 大幅度提高了深度卷積網絡提取特征的能力,獲得2015年Image/vet,coco競賽五項冠軍!
- 使得計算機的在視覺方面的識别能力達到并超過了人類的水準。下圖給出了在分類領域的top5錯誤率。可以看到ResNet的提出使得計算機的識别的錯誤率低于了人類的水準。
Resnet論文解讀 (Deep Residual Learning for Image Recognition)論文基本資訊論文概要ResNet詳解思考實驗
不足
ResNet詳解
Residual Learning
在普通的卷積神經網絡中,我們假設輸入X,想要經過網絡拟合H(x),即要學習一些參數,使得X經過網絡後得到H(x)。
而ResNet,學習的是殘差,拟合的是殘差F(x),F(x) = H(x) - X
輸入: x
網絡輸出: F(x)
期待輸出: H(x)
其中: F(x) + x = H(x)。
殘差子產品
在ResNet之前,主流的神經網絡都是卷積層的線性堆疊。輸入資料經過每個卷積層都會發生變化,産生一個輸出的feature map。我們要訓練的就是網絡中的參數,使得輸入,輸出之間能夠形成一個映射,即mapping。
作者的思路是,引入一個identity mapping(恒等映射)跨越一些(至少一個)卷積層,然後網絡隻進行一個residual mapping(殘差映射)。
- 其中 x和網絡輸出的F(x)必須次元一緻。(次元不同,直接采用1*1的卷積進行上/下采樣)
- 在網絡的輸出階段,先相加,在進行relu。
網絡結構
基于VGG-19網絡進行改造,加上了Shortcut Connections(快捷連接配接),使得網絡學習能力更強,學習速度更快。
思考
殘差子產品的優點
- 不引入新的參數,不增加計算複雜度。
- 拟合的不再是underlying mapping ,而是 residual mapping。拟合起來要更簡單更快。
- 采用殘差子產品,能通過增加網絡深度,來提高網絡的學習能力。
- 能夠直接用SGD進行優化。
為什麼能解決網絡退化問題
- 恒等映射,這一路的梯度是1,這樣就相當于把深層的梯度直接注入了底層,防止了梯度消失。
- 學習的是殘差,是相對于本身出入x的偏差,學習能力更強。很容易拟合恒等映射,隻要将網絡中所有參數都設為0即可。
實驗
在實驗部分大家可以直接看論文,在這就不較長的描述了。
ImageNet
從這張圖可以明顯看出,右圖中随着網絡深度的增加,訓練error會變小。
CIFAR-10
中間的圖是采用ResNet,虛線是訓練集,粗線是測試集。
新手小白,如有錯誤,歡迎批評指正!
參考:
https://blog.csdn.net/briblue/article/details/83544381?spm=1001.2014.3001.5501
https://www.bilibili.com/video/BV1vb4y1k7BV?p=4