ESPNet/ESPNetV2:空洞卷積金字塔 | 輕量級網路

曉飛的演算法工程筆記發表於2021-01-28

ESPNet系列的核心在於空洞卷積金字塔,每層具有不同的dilation rate,在引數量不增加的情況下,能夠融合多尺度特徵,相對於深度可分離卷積,深度可分離空洞卷積金字塔價效比更高。另外,HFF的多尺度特徵融合方法也很值得借鑑

來源:曉飛的演算法工程筆記 公眾號

ESPNet


論文: ESPNet: Efficient Spatial Pyramid of Dilated Convolutions for Semantic Segmentation

Introduction

  ESPNet是用於語義分割的輕量級網路,核心在於ESP模組,該模組包含point-wise卷積和空洞卷積金字塔,分別用於降低計算複雜度以及重取樣各有效感受域的特徵。ESP模組比其它卷積分解方法(mobilenet/shufflenet)更高效,ESPNet能在GPU/筆記本/終端裝置上達到112FPS/21FPS/9FPS。

ESP module

  ESP模組將標準卷積分解成point-wise卷積和空洞卷積金字塔(spatial pyramid of dilated convolutions),point-wise卷積將輸入對映到低維特徵空間,空洞卷積金字塔使用$K$組$n\times n$空洞卷積同時重取樣低維特徵,每個空洞卷積的dilation rate為$2^{k-1}$,$k={1, \cdots, K}$。這種分解方法能夠大量減少ESP模組的引數量和記憶體,並且保持較大的有效感受域。

  • Width divider K

  對於輸入輸出維度為$M$和$N$,卷積核大小為$n\times n$的標準卷積,需要學習的引數量為$n2MN$,有效感受域為$n2$。超引數$K$用來調節ESP模組的計算複雜度,首先使用point-wise卷積將輸入維度從$M$降為$\frac{N}{K}$(reduce),然後將低維特徵分別使用上述的空洞卷積金字塔進行處理(split and transform),最後將K組空洞卷積的輸出合併(merge)。ESP模組包含$\frac{MN}{K}+\frac{(nN)2}{K}$引數,有效感受域為$[(n-1)2{K-1} + 1]^2$,在引數和感受域方面都有一定的提升。

  • Hierarchical feature fusion (HFF) for de-gridding

  論文發現,儘管空洞卷積金字塔帶來更大的感受域,但直接concate輸出卻會帶來奇怪網格紋路,如圖2所示。為了解決這個問題,在concate之前先將輸出進行層級相加,相對於新增額外的卷積來進行後處理,HFF能夠有效地解決網格紋路而不帶來過多的計算量。另外,為了保證網路的梯度傳遞,在ESP模組新增了一條從輸入到輸出的shortcut連線。

Relationship with other CNN modules

  論文列舉了部分輕量級網路的核心模組進行了對比,可以看到ESP模組在引數量/記憶體/感受域方面都有很不錯的數值。

ESPNet

  圖4為ESPNet的演進過程,$l$為特徵圖大小,相同$l$的模組具有相同大小的特徵圖,紅色和綠色模組分別為下采樣和上取樣模組,一般無說明即$\alpha_2=2$、$\alpha_3=8$。

Experiments

  這裡只列舉了部分實驗,具體的其它實驗可以去看看論文。

  替換圖4d中的ESP模組進行實驗對比。

  與其它語義分割模型進行對比。

Conclusion

  ESPNet是語義分割的輕量級網路,在保證輕量化的同時,針對語義分割的場景進行了核心模組的設計,使用空洞卷積金字塔進行多感受域的特徵提取以及引數量的減少,並且使用HFF來巧妙消除網格紋路,十分值得借鑑。

ESPNetV2


論文: ESPNetv2: A Light-weight, Power Efficient, and General Purpose Convolutional Neural Network

Introduction

  模型輕量化共包含3種方法,分別為模型壓縮,模型量化以及輕量化設計。論文設計了輕量級網路ESPNetv2,主要貢獻如下:

  • 通用的輕量化網路結構,能夠支援視覺資料以及序列化資料,即能支援視覺任務和自然語言處理任務。
  • 在ESPNet基礎上,加入深度可分離空洞卷積進行擴充,相對於ESPNet擁有更好的精度以及更少的引數。
  • 從實驗來看,ESPNetv2在多個視覺任務上有較好的準確率和較低的引數量,任務包括影像分類、語義分割、目標檢測。
  • 設計了cyclic learning rate scheduler,比一般的固定學習率的scheduler要好。

Depth-wise dilated separable convolution

  假設輸入為$X\in \mathbb{R}^{W\times H\times c}$,卷積核為$X\in \mathbb{K}^{n\times n\times c \times \hat{c}}$,輸出為$Y\in \mathbb{R}^{W\times H\times \hat{c}}$,標準卷積、分組卷積,深度分離卷積以及深度可分離空洞卷積的引數量和有效感受域如表1所示。

EESP unit

  論文基於深度可分離空洞卷積以及分組point-wise卷積改進ESP模組,提出了EESP(Extremely Efficient Spatial Pyramid)模組。原始的ESP模組結構如圖1a所示,論文首先將point-wise卷積替換為分組point-wise卷積,然後將計算量較大的空洞卷積替換為深度可分離空洞卷積,最後依然使用HFF來消除網格紋路,結構如圖1b所示,能夠降低$\frac{Md+n2d2K}{\frac{Md}{g}+(n^2+d)dK}$倍計算複雜度,$K$為空洞卷積金字塔層數。考慮到單獨計算$K$個point-wise卷積等同於單個分組數為$K$的point-wise分組卷積,而分組卷積的在實現上更高效,於是改進為圖1c的最終結構。

  為了更高效地學習多尺度特徵,論文提出下采樣版本的EESP模組(Strided EESP with shortcut connection to an input image),主要進行以下改進:

  • 修改深度可分離空洞卷積為stride=2的版本。
  • 為模組原本的shortcut新增平均池化操作。
  • 將element-wise相加操作替換為concate操作,這樣能增加輸出的特徵維度。
  • 為防止隨著下采樣產生的資訊丟失,新增一條連線輸入影像的shortcut,該路徑使用多個池化操作來使其空間大小與模組輸出的特徵圖一致,然後使用兩個卷積來提取特徵並調整維度,最後進行element-wise相加。

Network architecture

  ESPNetv2的網路結構如表2所示,ESSP模組的每個卷積後面都接BN層以及PReLU,模組最後的分組卷積的PReLU在element-wise相加後進行,$g=K=4$,其它與ESPNet類似。

Cyclic learning rate scheduler

  在影像分類的訓練中,論文設計了迴圈學習率排程器,在每個週期$t$,學習率的計算為:

  $\eta_{max}$和$\eta_{min}$分別為最大和最小學習率,$T$為迴圈週期。

  迴圈學習率排程器的視覺化如圖4所示。

Experiments

  影像分類效能對比。

  語義分割效能對比。

  目標檢測效能對比。

  文字生成效能對比。

Conclusion

  ESPNetv2在ESPNet的基礎上結合深度分離卷積的設計方法,進行了進一步的模型輕量化,結合了更豐富的特徵融合,模型能夠擴充到多種任務中,具有很不錯的效能。

CONCLUSION


  ESPNet系列的核心在於空洞卷積金字塔,每層具有不同的dilation rate,在引數量不增加的情況下,能夠融合多尺度特徵,相對於深度可分離卷積,深度可分離空洞卷積金字塔價效比更高。另外,HFF的多尺度特徵融合方法也很值得借鑑。



如果本文對你有幫助,麻煩點個贊或在看唄~
更多內容請關注 微信公眾號【曉飛的演算法工程筆記】

work-life balance.

相關文章