天天看點

卷積神經網絡學習路線(十三)| CVPR2017 Deep Pyramidal Residual Networks

前言

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

介紹

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

網絡結構

  • 金字塔(瓶頸)殘差單元。
    卷積神經網絡學習路線(十三)| CVPR2017 Deep Pyramidal Residual Networks
    可以看到相對于傳統的殘差子產品,金字塔殘差單元的各個單元的次元逐漸增加,直到出現下采樣的剩餘單元。
  • 深度殘差金字塔網絡結構。

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

卷積神經網絡學習路線(十三)| CVPR2017 Deep Pyramidal Residual Networks

其中

α

\alpha

α代表擴充因子,

N

n

N_n

Nn​代表一個group中有多少個​

​block​

​,下采樣在​

​conv3_1​

​和​

​conv4_1​

​處進行,步長為​

​2​

​。

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

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

卷積神經網絡學習路線(十三)| CVPR2017 Deep Pyramidal Residual Networks
卷積神經網絡學習路線(十三)| CVPR2017 Deep Pyramidal Residual Networks

其中

N

=

N

2

+

N

3

+

N

4

N=N_2+N_3+N_4

N=N2+N3+N4,式子(2)為加法金字塔,式子(3)為乘法金字塔,

α

\alpha

α是超參數擴充因子,

k

k

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

卷積神經網絡學習路線(十三)| CVPR2017 Deep Pyramidal Residual Networks

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

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

    對比結果如Figure7所示:

卷積神經網絡學習路線(十三)| CVPR2017 Deep Pyramidal Residual Networks

這個實驗指出,當參數個數較少時,加法和乘法金字塔網絡的性能基本相同,因為這兩種網絡架構沒有顯著的結構差異。而随着參數數量的增加,它們開始在特征圖次元配置方面顯示出更顯著的差異,可以看出加法金字塔表現更好。由于加法的特征映射維數呈線性增長,與乘法相比,輸入附近層的特征映射維數更大,輸出附近層的特征映射維數更小。是以增加輸入端附近層的模型容量将比使用傳統的特征映射維數乘法縮放方法帶來更好的性能改進。

金字塔網絡其他Trick

  • 零填充的直連恒等映射。

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

    卷積神經網絡學習路線(十三)| CVPR2017 Deep Pyramidal Residual Networks
    卷積神經網絡學習路線(十三)| CVPR2017 Deep Pyramidal Residual Networks
  • BN層和激活層怎麼放?

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

    卷積神經網絡學習路線(十三)| CVPR2017 Deep Pyramidal Residual Networks
    這裡解釋一下,​

    ​(a)​

    ​表示原始的預激活ResNets,​

    ​(b)​

    ​表示去除第一個ReLU的預激活ResNets, ​

    ​(c)​

    ​表示在預激活ResNets的最後一個卷積層之後重新配置設定一個BN層,​

    ​(d)​

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

    ​d​

    ​可以提高性能。是以,隻要使用适當數量的ReLUs來保證特征空間流形的非線性,就可以去除剩餘的ReLUs來提高網絡性能。
卷積神經網絡學習路線(十三)| CVPR2017 Deep Pyramidal Residual Networks

實驗結果

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

卷積神經網絡學習路線(十三)| CVPR2017 Deep Pyramidal Residual Networks
卷積神經網絡學習路線(十三)| CVPR2017 Deep Pyramidal Residual Networks

後記

附錄

  • 論文原文:https://arxiv.org/abs/1610.02915
  • 代碼實作:https://github.com/jhkim89/PyramidNet-caffe
  • https://zhuanlan.zhihu.com/p/68413130

繼續閱讀