您當前的位置:首頁 > 攝影

卷積神經網路學習路線(十三)| CVPR2017 PyramidNet

作者:由 BBuf 發表于 攝影時間:2020-01-11

前言

深度殘差金字塔網路是CVPR2017年的一篇文章,由韓國科學技術院的Dongyoon Han, Jiwhan Kim發表,改善了ResNet。其改用加法金字塔來逐步增加維度,還用了零填充直連的恆等對映,網路更寬,準確度更高,超過了DenseNet,泛化能力更強。論文原文見附錄。

介紹

近年來,深度卷積神經網路在影象分類任務中表現出了卓越的效能。通常,深度神經網路結構是由大量的卷積層堆疊而成,並且使用池化不斷的減小圖片的解析度。同時,特徵對映維度在下采樣的地方急劇增長,這對於確保效能是必要的,因為它增加了高階屬性的多樣性,這也適用於殘差網路,並且與其效能密切相關。在這篇論文中,作者提出並不是網路在執行下采樣的單元處急劇增加特徵圖的尺寸,而是逐漸的增加所有單元的特徵尺寸,以儘可能多地涉及位置。我們對這種網路設計進行了深入討論,證明了其是提高泛化能力的有效手段。此外,論文提供了一種新的殘差單元,能夠透過使用本文的新網路架構進一步提高分類精度。在CIFAR-10,CIFAR-100和ImageNet資料集的實驗證明,和原始的ResNet相比,我們的網路具有更高的精度和泛化能力。

網路結構

金字塔(瓶頸)殘差單元。

卷積神經網路學習路線(十三)| CVPR2017 PyramidNet

可以看到相對於傳統的殘差模組,金字塔殘差單元的各個單元的維度逐漸增加,直到出現下采樣的剩餘單元。

深度殘差金字塔網路結構。

深度殘差金字塔網路結構如Table1所示:

卷積神經網路學習路線(十三)| CVPR2017 PyramidNet

其中

\alpha

代表擴充套件因子,

N_n

代表一個group中有多少個

block

,下采樣在

conv3_1

conv4_1

處進行,步長為

2

深度殘差金字塔網路通道變化公式

金字塔網路每一層的通道數和網路深度有關,論文提到了2種通道增長方式:

卷積神經網路學習路線(十三)| CVPR2017 PyramidNet

卷積神經網路學習路線(十三)| CVPR2017 PyramidNet

其中

N=N_2+N_3+N_4

,式子(2)為加法金字塔,式子(3)為乘法金字塔,

\alpha

是超引數擴充套件因子,

k

是當前網路的層數,控制超引數可使金字塔更寬或更細,但高度不變。兩者方式的比較如Figure2所示:

卷積神經網路學習路線(十三)| CVPR2017 PyramidNet

Figure2(a)為加法的PyramidNet,Figure2(b)為乘法的PyramidNet,Figure2(c)是加法金字塔網路和乘法金字塔網路的對比。加法金字塔網路的特徵對映維數呈線性增長,而乘法網路的特徵對映維數呈幾何急劇增長。乘法金字塔網路中輸入端層的維數緩慢增加,輸出端層的維數急劇增加,這個過程類似於VGG和ResNet等原始的深度網路架構。

加法金字塔網路和乘法金字塔網路的對比。

對比結果如Figure7所示:

卷積神經網路學習路線(十三)| CVPR2017 PyramidNet

這個實驗指出,當引數個數較少時,加法和乘法金字塔網路的效能基本相同,因為這兩種網路架構沒有顯著的結構差異。而隨著引數數量的增加,它們開始在特徵圖維度配置方面顯示出更顯著的差異,可以看出加法金字塔表現更好。由於加法的特徵對映維數呈線性增長,與乘法相比,

輸入附近層

的特徵對映維數更大,

輸出附近層

的特徵對映維數更小。所以增加輸入端附近層的模型容量將比使用傳統的特徵對映維數乘法縮放方法帶來更好的效能改進。

金字塔網路其他Trick

零填充的直連恆等對映。

零填充是為了保證金字塔的形狀。具體方法如Figure5所示,Figure5 (a)是帶有零填充恆等對映的直連殘差單元,Figure5(b)是對Figure5(a)的展開表示,它構成了一個直連和普通網路混合的殘差網路。Table2表明(b)這種零填充直連恆等對映精度最好。

卷積神經網路學習路線(十三)| CVPR2017 PyramidNet

卷積神經網路學習路線(十三)| CVPR2017 PyramidNet

BN層和啟用層怎麼放?

不是很好解釋,論文實驗了在去掉某些BN和ReLU後的不同典型結構的精度,如Figure6所示:

卷積神經網路學習路線(十三)| CVPR2017 PyramidNet

這裡解釋一下,

(a)

表示原始的預啟用ResNets,

(b)

表示去除第一個ReLU的預啟用ResNets,

(c)

表示在預啟用ResNets的最後一個卷積層之後重新分配一個BN層,

(d)

表示對預啟用ResNets去除第一個ReLU,在最後一個卷積層之後重新分配一個BN層。Table3展示了對上訴不同方法的實驗結果,使用Figure6中的結構

d

可以提高效能。因此,只要使用適當數量的ReLUs來保證特徵空間流形的非線性,就可以去除剩餘的ReLUs來提高網路效能。

卷積神經網路學習路線(十三)| CVPR2017 PyramidNet

實驗結果

實驗結果如Table4,5所示,在CIFAR100效果很好超過了80%,一般比較好的都在80%左右,而ResNet才不到75%。精度是當之無愧的SOTA。

卷積神經網路學習路線(十三)| CVPR2017 PyramidNet

卷積神經網路學習路線(十三)| CVPR2017 PyramidNet

後記

PyramidNet效果很好,但實際用的不是特別多,

\alpha

設的大的時候網路會很寬,而

Pooling

為了縮小尺寸,卷積計算量減少,有利於實用。其實用的不多基本是受限於計算資源,我相信硬體的進一步發展這個網路仍有機會大放異彩。

附錄

論文原文:

https://

arxiv。org/abs/1610。0291

5

程式碼實現:

https://

github。com/jhkim89/Pyra

midNet-caffe

https://

zhuanlan。zhihu。com/p/68

413130

歡迎關注GiantPandaCV, 在這裡你將看到獨家的深度學習分享,堅持原創,每天分享我們學習到的新鮮知識。( • ̀ω•́ )✧

有對文章相關的問題,或者想要加入交流群,歡迎新增BBuf微信:

https://

u。wechat。com/MPWFDnmCPu

6zgf5YUtdpT_U

(二維碼自動識別)

標簽: 金字塔  網路  殘差  對映  維數