论文笔记:ResNet v2
生活随笔
收集整理的這篇文章主要介紹了
论文笔记:ResNet v2
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
ResNet v2
1、四個問題
- 進(jìn)一步提高ResNet的性能。
- 解釋為何Identity mapping(恒等映射)的效果會比較好。
- 提出了一個新的殘差單元結(jié)構(gòu)。
- 從理論和實驗上分析了identity mapping的有效性。
- 使用1001層的ResNet,在CIFAR-10數(shù)據(jù)集上錯誤率為4.62%,在CIFAR-100數(shù)據(jù)集上錯誤率為22.71%。都是目前最好的結(jié)果。
- ImageNet 2012數(shù)據(jù)集上,top-1錯誤率為20.1%,top-5錯誤率為4.8%,超過Inception v3,也是最優(yōu)結(jié)果。
- ResNet模型可以有極深的深度,更強(qiáng)大的學(xué)習(xí)能力,同時也會帶來更多的參數(shù),更大的計算量,如何對其進(jìn)行壓縮,降低計算成本也是個需要考慮的問題。
2、論文概述
2.1、簡介
- 上式是原始?xì)埐顔卧?#xff0c;公式參數(shù)說明:
- xlx_lxl?和xl+1x_{l+1}xl+1?分別是第lll層網(wǎng)絡(luò)的輸入和輸出。
- FFF表示殘差函數(shù)。
- h(xl)=xlh(x_l) = x_lh(xl?)=xl?表示恒等映射(identity mapping)。
- fff表示ReLU函數(shù)。
- 后面默認(rèn)認(rèn)為h(xl)=xlh(x_l) = x_lh(xl?)=xl?,f(yl)=ylf(y_l) = y_lf(yl?)=yl?。
- 原始?xì)埐顔卧Y(jié)構(gòu)如a圖所示,改進(jìn)的殘差單元結(jié)構(gòu)如b圖所示。
- 為了理解跳躍連接(skip connection)的作用,作者實驗了各種不同的h(x)h(x)h(x)(identity mapping),即圖中的灰色線部分。最終的實驗結(jié)果表明,保持一個clean information path有助于提升效果。
- 提出了預(yù)激活(pre-activation)和后激活(post-activation)。
- 預(yù)激活:bn -> relu -> conv
- 后激活:conv -> bn -> relu
- 在新的殘差結(jié)構(gòu)中改進(jìn)如下:
- 將激活函數(shù)放到旁路,從shortcut中移除,保證clean information path。
- 旁路中的結(jié)構(gòu)從 conv-bn-relu(后激活) 轉(zhuǎn)換為 bn-relu-conv(預(yù)激活)。
2.2、關(guān)于深度殘差網(wǎng)絡(luò)結(jié)構(gòu)的分析
- 原始?xì)埐顔卧臄?shù)學(xué)表示,符號意義不做贅述。
- 假設(shè)h(xl)=xlh(x_l) = x_lh(xl?)=xl?(恒等映射),f(yl)=ylf(y_l) = y_lf(yl?)=yl?(激活函數(shù)也是一個恒等映射)。
- 循環(huán)套用xl+2=xl+1+F(xl+1,Wl+1)=xl+F(xl,Wl)+F(xl+1,Wl+1)x_{l+2} = x_{l+1} + F(x_{l+1}, W_{l+1}) = x_l + F(x_l, W_l) + F(x_{l+1}, W_{l+1})xl+2?=xl+1?+F(xl+1?,Wl+1?)=xl?+F(xl?,Wl?)+F(xl+1?,Wl+1?),可以得到下式:
- 按照鏈?zhǔn)椒▌t求導(dǎo):
- 公式說明:
- ?\epsilon?是loss函數(shù)值。
- 根據(jù)鏈?zhǔn)角髮?dǎo)法則,可以求出梯度,如上式所示。
- 梯度???xl\frac{\partial \epsilon}{\partial x_l}?xl????可以拆分成兩部分:對于第LLL層的梯度,???xL\frac{\partial \epsilon}{\partial x_L}?xL????;以及每一層卷積層所擬合的殘差函數(shù)對應(yīng)的梯度,???xL??xl∑i=lL?1F(xi,Wi)\frac{\partial \epsilon}{\partial x_L} \frac{\partial}{\partial x_l} \sum_{i=l}^{L-1}F(x_i, W_i)?xL?????xl???∑i=lL?1?F(xi?,Wi?)。
- 對于普通的沒有shortcut連接的網(wǎng)絡(luò)來說,只存在???xL??xl∑i=lL?1F(xi,Wi)\frac{\partial \epsilon}{\partial x_L} \frac{\partial}{\partial x_l} \sum_{i=l}^{L-1}F(x_i, W_i)?xL?????xl???∑i=lL?1?F(xi?,Wi?)這一項,而對于ResNet來說,則額外引入了???xL\frac{\partial \epsilon}{\partial x_L}?xL????。???xL\frac{\partial \epsilon}{\partial x_L}?xL????的存在確保了較深層網(wǎng)絡(luò)的梯度可以傳遞到較淺層網(wǎng)絡(luò)去。
- 其實另外還有一點,引入了shortcut還減少了梯度消散的可能性。因為除非???xL??xl∑i=lL?1F(xi,Wi)\frac{\partial \epsilon}{\partial x_L} \frac{\partial}{\partial x_l} \sum_{i=l}^{L-1}F(x_i, W_i)?xL?????xl???∑i=lL?1?F(xi?,Wi?)總是等于-1,梯度才會為0,然而殘差函數(shù)不太可能全部為-1。
- 作者還給出了一個反例,說明為何要選擇恒等映射。這里就直接貼圖了,細(xì)節(jié)請參考論文。
- 大致意思是:如果這個λi>1\lambda_i > 1λi?>1,隨著梯度傳播會以指數(shù)級數(shù)增長;如果λi<1\lambda_i < 1λi?<1,隨著梯度傳播會以指數(shù)級數(shù)衰減。只有在λi=1\lambda_i = 1λi?=1,即恒等映射(identity mapping)的情況下,梯度才可以較好的保持,避免梯度消失和梯度爆炸。
2.3、實驗
2.3.1、驗證恒等映射的有效性
- 作者使用下面的這些結(jié)構(gòu)分別進(jìn)行了實驗,最后發(fā)現(xiàn)恒等映射的結(jié)果最好,實驗結(jié)果見table1。
2.3.2、驗證預(yù)激活的有效性
- 預(yù)激活結(jié)構(gòu)和后激活對比實驗,從實驗結(jié)果可以看出預(yù)激活的效果是最好的。
2.3.3、在一些benchmark數(shù)據(jù)集上的效果
- CIFAR-10和CIFAR-100
- imagenet 2012
3、參考資料
總結(jié)
以上是生活随笔為你收集整理的论文笔记:ResNet v2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文笔记:FCN
- 下一篇: 论文笔记:ZFNet