卷積神經網絡網絡結構——ResNet50


——————————————————————————————————————————————————————

本文為在csdn博主z小白的文章基礎上,做了一些自己的理解與擴展,文末附有原文鏈接,尊重知識產權從我做起。

——————————————————————————————————————————————————————

簡介
ResNet是何凱明大神在2015年提出的一種網絡結構,獲得了ILSVRC-2015分類任務的第一名,同時在ImageNet detection,ImageNet localization,COCO detection和COCO segmentation等任務中均獲得了第一名,在當時可謂是轟動一時。

ResNet又名殘差神經網絡,指的是在傳統卷積神經網絡中加入殘差學習(residual learning)的思想,解決了深層網絡中梯度彌散和精度下降(訓練集)的問題,使網絡能夠越來越深,既保證了精度,又控制了速度。

我求求你們關注我好不好,泣不成聲。。。

 

 

  

出發點
隨着網絡的加深,由於模型訓練過程中有梯度的方向傳播,多層次求導會連乘,可能會導致梯度趨近於0,從而梯度消散,導致網絡很難收斂甚至無法收斂。梯度彌散問題目前有很多的解決辦法,包括網絡初始標准化,數據標准化以及中間層的標准化(Batch Normalization)等。但是網絡加深還會帶來另外一個問題:隨着網絡加深,出現訓練集與測試集准確率均下降的現象,如下圖,這是經過數據驗證過的。

 

 

 

很多同學第一反應肯定是“這不是過擬合了嗎”。其實,這不是由於過擬合引起的。過擬合通常指模型在訓練集表現很好,在測試集很差。凱明大神針對這個問題提出了殘差學習的思想。

殘差學習指的是什么

 

 

 

殘差學習的思想就是上面這張圖,可以把它理解為一個block,定義如下:

y= F(x,{W;})+x

殘差學習的block一共包含兩個分支或者兩種映射(mapping):

1. identity mapping,指的是上圖右邊那條彎的曲線。顧名思義,identity mapping指的就是本身的映射,也就是自身;

2. residual mapping,指的是另一條分支,也就是F(x)部分,這部分稱為殘差映射,我習慣的認為其是卷積計算部分

最后這個block輸出的是卷積計算部分+其自身的映射后,relu激活一下。

為什么殘差學習可以解決“網絡加深准確率下降”的問題?

對於一個神經網絡模型,如果該模型是最優的,那么訓練就很容易將residual mapping優化到0,此時只剩下identity mapping,那么無論怎么增加深度,理論上網絡會一直處於最優狀態。因為相當於后面所有增加的網絡都會沿着identity mapping(自身)進行信息傳輸,可以理解為最優網絡后面的層數都是廢掉的(不具備特征提取的能力),實際上沒起什么作用。這樣,網絡的性能也就不會隨着深度的增加而降低了。

我這里數學推導了一下

 

沒有跳躍鏈接時,L的梯度值會因為連乘而趨近於0;

有跳躍連接時,最后L的梯度值,由於中間部分趨近於0了,所有上圖最后一行“+”后面的就是趨近於0的唄,結構圖中間部分相當於沒用了,但還有跳躍鏈接傳過去的L2的梯度值傳到L的位置,相當於變相加強了L+2的梯度值。

網絡結構
文中提到了一個名詞叫“Shortcut Connection”,實際上它指的就是identity mapping,這里先解釋一下,免的大家后面會confuse。針對不同深度的ResNet,作者提出了兩種Residual Block:

 

 對上圖做如下說明:

1. 左圖為基本的residual block,residual mapping為兩個64通道的3x3卷積,輸入輸出均為64通道,可直接相加。該block主要使用在相對淺層網絡,比如ResNet-34;

2. 右圖為針對深層網絡提出的block,稱為“bottleneck” block,主要目的就是為了降維。首先通過一個1x1卷積將256維通道(channel)降到64通道,最后通過一個256通道的1x1卷積恢復。

通過上面的介紹我們知道,residual mapping和identity mapping是沿通道維度相加的,那么如果通道維度不相同怎么辦?

作者提出在identity mapping部分使用1x1卷積進行處理,表示如下:

 

其中,Ws指的是1x1卷積操作。

下圖為VGG-19,Plain-34(沒有使用residual結構)和ResNet-34網絡結構對比:

對上圖進行如下說明:

1. 相比於VGG-19,ResNet沒有使用全連接層,而使用了全局平均池化層,可以減少大量參數。VGG-19大量參數集中在全連接層;

2. ResNet-34中跳躍連接“實線”為identity mapping和residual mapping通道數相同,“虛線”部分指的是兩者通道數不同,需要使用1x1卷積調整通道維度,使其可以相加。 

論文一共提出5種ResNet網絡,網絡參數統計表如下:

 

 其中152層效果最好,日常工作中101層和50層最常用,相差不大(flops為計算次數)


————————————————
版權聲明:本文為CSDN博主「z小白」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/zzc15806/article/details/83540661


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM