ESPNet系列的核心在於空洞卷積金字塔,每層具備不一樣的dilation rate,在參數量不增長的狀況下,可以融合多尺度特徵,相對於深度可分離卷積,深度可分離空洞卷積金字塔性價比更高。另外,HFF的多尺度特徵融合方法也很值得借鑑
來源:曉飛的算法工程筆記 公衆號git
論文: ESPNet: Efficient Spatial Pyramid of Dilated Convolutions for Semantic Segmentationgithub
ESPNet是用於語義分割的輕量級網絡,核心在於ESP模塊,該模塊包含point-wise卷積和空洞卷積金字塔,分別用於下降計算複雜度以及重採樣各有效感覺域的特徵。ESP模塊比其它卷積分解方法(mobilenet/shufflenet)更高效,ESPNet能在GPU/筆記本/終端設備上達到112FPS/21FPS/9FPS。算法
ESP模塊將標準卷積分解成point-wise卷積和空洞卷積金字塔(spatial pyramid of dilated convolutions),point-wise卷積將輸入映射到低維特徵空間,空洞卷積金字塔使用$K$組$n\times n$空洞卷積同時重採樣低維特徵,每一個空洞卷積的dilation rate爲$2^{k-1}$,$k={1, \cdots, K}$。這種分解方法可以大量減小ESP模塊的參數量和內存,而且保持較大的有效感覺域。微信
對於輸入輸出維度爲$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$,在參數和感覺域方面都有必定的提高。網絡
論文發現,儘管空洞卷積金字塔帶來更大的感覺域,但直接concate輸出卻會帶來奇怪網格紋路,如圖2所示。爲了解決這個問題,在concate以前先將輸出進行層級相加,相對於添加額外的卷積來進行後處理,HFF可以有效地解決網格紋路而不帶來過多的計算量。另外,爲了保證網絡的梯度傳遞,在ESP模塊添加了一條從輸入到輸出的shortcut鏈接。ide
論文列舉了部分輕量級網絡的核心模塊進行了對比,能夠看到ESP模塊在參數量/內存/感覺域方面都有很不錯的數值。性能
圖4爲ESPNet的演進過程,$l$爲特徵圖大小,相同$l$的模塊具備相同大小的特徵圖,紅色和綠色模塊分別爲下采樣和上採樣模塊,通常無說明即$\alpha_2=2$、$\alpha_3=8$。學習
這裏只列舉了部分實驗,具體的其它實驗能夠去看看論文。spa
替換圖4d中的ESP模塊進行實驗對比。設計
與其它語義分割模型進行對比。
ESPNet是語義分割的輕量級網絡,在保證輕量化的同時,針對語義分割的場景進行了核心模塊的設計,使用空洞卷積金字塔進行多感覺域的特徵提取以及參數量的減小,而且使用HFF來巧妙消除網格紋路,十分值得借鑑。
論文: ESPNetv2: A Light-weight, Power Efficient, and General Purpose Convolutional Neural Network
模型輕量化共包含3種方法,分別爲模型壓縮,模型量化以及輕量化設計。論文設計了輕量級網絡ESPNetv2,主要貢獻以下:
假設輸入爲$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所示。
論文基於深度可分離空洞卷積以及分組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),主要進行如下改進:
ESPNetv2的網絡結構如表2所示,ESSP模塊的每一個卷積後面都接BN層以及PReLU,模塊最後的分組卷積的PReLU在element-wise相加後進行,$g=K=4$,其它與ESPNet相似。
在圖像分類的訓練中,論文設計了循環學習率調度器,在每一個週期$t$,學習率的計算爲:
$\eta_{max}$和$\eta_{min}$分別爲最大和最小學習率,$T$爲循環週期。
循環學習率調度器的可視化如圖4所示。
圖像分類性能對比。
語義分割性能對比。
目標檢測性能對比。
文本生成性能對比。
ESPNetv2在ESPNet的基礎上結合深度分離卷積的設計方法,進行了進一步的模型輕量化,結合了更豐富的特徵融合,模型可以拓展到多種任務中,具備很不錯的性能。
ESPNet系列的核心在於空洞卷積金字塔,每層具備不一樣的dilation rate,在參數量不增長的狀況下,可以融合多尺度特徵,相對於深度可分離卷積,深度可分離空洞卷積金字塔性價比更高。另外,HFF的多尺度特徵融合方法也很值得借鑑。
若是本文對你有幫助,麻煩點個贊或在看唄~
更多內容請關注 微信公衆號【曉飛的算法工程筆記】