循环卷积和周期卷积的关系_PSConv:多位一体、即插即用卷积单元
首發:AIWalker公眾號
日期:2020-07-16【Happy導語】該文是香港科技李鐸、陳啟峰團隊提出一種多尺度卷積。它在更細粒度角度進行多尺度特征融合。看到該文有一種“相見恨晚”的感覺,因為筆者非常早之前就進行了類似工作的探索,可惜“人單力薄”僅僅進行“淺嘗輒止”的探索。筆者認為該文最重要的一點是對PSConv的優化加速,將推理速度優化了額外推理耗時完全可以忽略的地步。
Paper: https://arxiv.org/abs/2007.06191
Code: https://github.com/d-li14/PSConv
Abstract
? 盡管CNN具有極強的建模能力,但其存在尺度敏感特性。為增強CNN的尺度魯棒性,多尺度特征融合受到了極大關注,這些多尺度特征融合往往采用多個不同尺寸的卷積核進行融合,而忽視了核空間的更細粒度的利用。
? 作者提出了一種新穎的多尺度卷積,稱之為Poly-Scale Convolution (PSConv),它混合了不同的擴張因子并將其置于卷積核的不同位置。特別的,擴展因子集合可以沿輸入和輸出通道軸周期性循環,集成不同尺度的特征。PSConv是一種“即插即用”型模塊,它可以對常規卷積進行直接替換,在得到更好特征表達學習的同時不引入額外參數與計算復雜度。
? 作者在ImageNet與MS-COCO數據集上驗證了所提PSConv的優異性能。
Method
? 相比已有多尺度特征融合方案(如MixConv、PSPNet、ASPP、ScaleNet等),該文從更細粒度角度進行了探索,在具有相似計算復雜度的同事具有更強的特征提取能力。
Sketch of Convolution
? 首先介紹一下常規卷積的,然后逐步引入該文的PSConv。假設
表示輸入特征,表示卷積核,表示輸出特征。那么常規卷積定義如下:? 擴張卷積則可以通過如下公式進行描述:
而該文所提出的PSConv則可以同如下公式進行描述,它在同一個卷積核內達成多尺度的特征提取。
Design of PSConv
? 看到上面的公式,有沒有感覺不知所云呢?看公式確實比較復雜,還是看圖更容易理解。下圖給出了標準卷積、組卷積以及所提PSConv之間的區別與聯系。
? 在上圖中,不同顏色代表了不同的感受野。每個小方塊代表了深入與輸出的連接關系。在常規卷積中,每個輸入通道與輸出通道均存在連接,而在空間維度則進行不同尺寸的卷積計算且卷積核尺寸相同;在組卷積中,輸入通道與輸出通道線進行分組,對應組之間進行常規卷積計算;在所提PSConv卷積中,輸入與輸出通道同樣通過全局連接,但區別在于不同通道的卷積計算時的卷積核存在區別,比如
四種尺度卷積交替執行。? 也就是說,PSConv將多尺度卷積納入到同一個計算過程中,且不同尺度卷積計算按通道交替執行,它是一種更細粒度的多尺度操作。
? 與該文比較相似的當屬MixConv,下圖給出了MixConv一文中的示意圖。
? 上圖可能不太容易看到MixConv與PSConv的區別,那我們將MixConv用PSConv相同的示意圖進行繪制一番,見下圖。這樣兩者的區別就非常明顯了吧:MixConv每一組的輸出仍為單尺度特征,只不過不同組具有不同尺度;而PSConv的每一組輸出則是多尺度特征。
? 看到這里,大家應該非常清楚PSConv的核心所在了。也許有同學會說這種計算方式粒度太細,會導致推理速度變慢。確實,按照上述方式執行確實會導致推理速度變慢。那么有沒有加速方案呢?當然有的,下圖給出了PSConv的高效實現方案,注:兩者之間存在等價關系哦。經過這種變換,PSCOnv可以通過組卷積進行快速實現。
? 也許仍有同學會說,它仍比標準卷積慢呀!是的,上述高效實現方式仍比標準卷積慢,但作者同樣還提出了更快的加速方案。作者注意到:PSConv的主要速度瓶頸源自其中的擴張卷積。擴張卷積可以通過Dilated Winograd Convolution(DWC)進行加速,相比cuDNN中的GEMM,DWC可以進一步加速(2.14x@2,1.53x@4),采用TVM編譯優化可以得到額外的0.2x加速,采用Intel的OneDNN工具,PSConv可以進一步加速,大概是標準卷積的1.42x。基于PSConv的ResNet50/101推理好事大概是標準實現的1.066x@GPU,1.051x@CPU。也就是說PSConv具有很高的實用價值。
Experiments
? 為說明所提方案的有效性,作則會在ImageNet數據集上與其他方法進行了對比。結果見下表。
? 下表給出不同多尺度融合方案的性能對比。
? 此外,作者還給出了兩組消融實驗結果對比,見下表。
? 下表給出了所提方法在COCO數據集上的性能對比。
Conclusion
? 該文提出了一種新穎的卷積操作,稱之為PSConv,它驗證輸入通道采用循環調節擴張比例的方式達到多尺度特征融合的目的。PSConv可以從更細粒度角度將輸入特征進行多尺度融合,從而有效避免傳統多尺度特征融合的高計算量問題。PSConv是一種“即插即用”計算單元,它可以輕易嵌入到現有CNN架構中并取得性能上的提升。
? 筆者在很早之前(2019年7-8月份)也進行過類似的研究,見鏈接稀疏卷積在模型設計中的應用.當時也提出了一種“可變卷積核尺寸稀疏組卷積”,它與同期的MixConv思想不謀而合。而PSConv則是在此基礎上對“空白”部分進行多尺度的探索,將多尺度思想嵌入到稀疏組卷積的“空白”區域,在確保計算量不增加的前提下進一步提升輸出的多尺度特征。
推薦閱讀
總結
以上是生活随笔為你收集整理的循环卷积和周期卷积的关系_PSConv:多位一体、即插即用卷积单元的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 辅助驾驶等级_自动驾驶分为几级?我们离真
- 下一篇: windows powershell实战