CVPR2020論文閱讀——超強通道注意力模塊ECANet!

在這裏插入圖片描述

Abstract

最近,通道注意機制已被證明在改善深度卷積神經網絡(CNN)的性能方面具有巨大潛力。然而,大多數現有方法致力於開發更復雜的注意模塊以實現更好的性能,這不可避免地會增加模型的複雜性。 爲了克服性能和複雜性折衷之間的矛盾,本文提出了一種有效的信道注意(ECA)模塊,該模塊僅包含少量參數,同時帶來明顯的性能提升。 通過剖析SENet中的通道注意模塊,我們從經驗上表明避免降維對於學習通道注意很重要,並且適當的跨通道交互可以在保持性能的同時顯着降低模型的複雜性。因此,我們提出了一種無需降維的局部跨通道交互策略,該策略可以通過一維卷積有效地實現。 此外,我們提出了一種方法來自適應選擇一維卷積的內核大小,確定局部跨通道交互的覆蓋範圍。提出的ECA模塊既有效又有效,例如,針對ResNet50主幹的模塊參數和計算分別爲80 vs. 24.37M和4.7e-4 GFLOP與3.86 GFLOP,Top-1準確性而言提升超過2% 。 我們使用ResNets和MobileNetV2的骨幹廣泛評估了ECA模塊的圖像分類,對象檢測和實例分割。 實驗結果表明,我們的模塊效率更高,同時性能優於同類模塊。
在這裏插入圖片描述

1. Introduction

深卷積神經網絡(CNN)已在計算機視覺社區中得到廣泛使用,並且在圖像分類,對象檢測和語義分割等廣泛的任務中取得了長足的進步。從開創性的AlexNet [17]開始,許多研究 不斷研究以進一步改善深層CNN的性能。 近來,將通道注意力併入卷積塊中引起了很多興趣,顯示出在性能改進方面的巨大潛力。 代表性的方法之一是擠壓和激勵網絡(SENet)[14],它可以學習每個卷積塊的通道注意,從而爲各種深層CNN架構帶來明顯的性能提升。

在SENet [14]中設置了壓縮(即特徵聚合)和激勵(即特徵重新校準)之後,一些研究通過捕獲更復雜的通道相關性或結合額外的空間關注來改善SE塊。 儘管這些方法已經實現了更高的精度,但是它們通常帶來更高的模型複雜度並承受更大的計算負擔。 與前面提到的以更高的模型複雜度爲代價實現更好的性能的方法不同,本文重點關注的問題是:是否可以以一種更有效的方式來學習有效的通道注意力機制?

爲了回答這個問題,我們首先回顧一下SENet中的通道注意力模塊。 具體而言,給定輸入特徵,SE塊首先爲每個通道獨立採用全局平均池化,然後使用兩個全連接(FC)層以及非線性Sigmoid函數來生成通道權重。 兩個FC層旨在捕獲非線性跨通道交互,其中涉及降低維度以控制模型的複雜性。 儘管此策略在後續的通道注意力模塊中被廣泛使用[33、13、9],但我們的經驗研究表明,降維會給通道注意力預測帶來副作用,並且捕獲所有通道之間的依存關係效率不高且不必要。
在這裏插入圖片描述
因此,本文提出了一種用於深層CNN的有效通道注意(ECA)模塊,該模塊避免了維度縮減,並有效捕獲了跨通道交互。如圖2所示,在不降低維度的情況下進行逐通道全局平均池化之後,我們的ECA通過考慮每個通道及其k個近鄰來捕獲本地跨通道交互 。實踐證明,這種方法可以保證效率和有效性。請注意,我們的ECA可以通過大小爲k的快速一維卷積有效實現,其中內核大小k代表本地跨通道交互的覆蓋範圍,即有多少個相近鄰參與一個通道的注意力預測。我們提出了一種自適應確定k的方法,其中交互作用的覆蓋範圍(即內核大小k)與通道維成比例。如圖1和表3所示,與骨幹模型[11]相比,帶有我們的ECA模塊(稱爲ECA-Net)的深層CNN引入了很少的附加參數和可忽略的計算,同時帶來了顯着的性能提升。例如,對於具有24.37M參數和3.86 GFLOP的ResNet-50,ECA-Net50的附加參數和計算分別爲80和4.7e-4 GFLOP;同時,在Top-1準確性方面,ECA-Net50優於ResNet-50 2.28%。

表1總結了現有的注意力模塊,包括通道降維(DR),通道交互和輕量級模型方面,我們可以看到,我們的ECA模塊通過避免通道降維,同時以極輕量的方式捕獲了不同通道間的交互。 爲了評估我們的方法,我們在ImageNet-1K [6]和MS COCO [23]上使用不同的深度CNN架構在各種任務中進行了實驗。

本文的主要工作概括如下:(1)解析SE塊,並通過經驗證明避免降維對於學習有效,適當的不同通道交互對於通道注意力非常重要。 (2)基於以上分析,我們嘗試通過提出一種有效的通道注意(ECA)來用於深度CNN的極其輕量級的通道注意模塊,該模塊在增加明顯改進的同時,增加了很少的模型複雜性。 (3)在ImageNet-1K和MS COCO上的實驗結果表明,該方法具有比最新技術更低的模型複雜度,同時具有非常好的競爭性能。
在這裏插入圖片描述

2. Related Work

事實證明,注意力機制是增強深層CNN的潛在手段。 SE-Net [14]首次提出了一種有效的機制來學習通道關注度並實現並有不錯的效果。隨後,注意力模塊的發展可以大致分爲兩個方向:(1)增強特徵聚合; (2)通道和空間注意的結合。具體來說,CBAM [33]使用平均池和最大池來聚合特徵。 GSoP [9]引入了二階池,以實現更有效的特徵聚合。 GE [13]探索了使用深度卷積[5]聚合特徵的空間擴展。 CBAM [33]和scSE [27]使用內核大小爲k x k的2D卷積計算空間注意力,然後將其與通道注意力結合起來。與非本地(NL)神經網絡[32]共享相似的哲學,GCNet [2]開發了一個簡化的NL網絡並與SE塊集成在一起,從而形成了一個用於建模遠程依賴性的輕量級模塊。 Double Attention Networks(A2-Nets)[4]爲圖像或視頻識別的NL塊引入了一種新穎的關聯函數。雙重注意網絡(DAN)[7]同時考慮了基於NL的信道和空間注意,以進行語義分割。但是,由於它們的高模型複雜性,大多數以上基於NL的注意力模塊只能在單個或幾個卷積塊中使用。顯然,所有上述方法都集中於提出複雜的注意力模塊以提高性能。與它們不同的是,我們的ECA旨在以較低的模型複雜性來學習有效的通道注意力。
在這裏插入圖片描述
我們的工作還涉及爲輕量級CNN設計的高效卷積。 兩種廣泛使用的有效卷積是組卷積和深度方向可分離卷積。 如表2所示,儘管這些有效的卷積涉及較少的參數,但它們在注意力模塊中的作用不大。我們的ECA模塊旨在捕獲局部跨通道交互,這與通道局部卷積[36]和通道級卷積具有相似之處 [8]; 與它們不同的是,我們的方法研究了具有自適應內核大小的一維卷積來替換通道注意力模塊中的FC層。 與分組和深度可分離卷積相比,我們的方法以較低的模型複雜度實現了更好的性能。

3. Proposed Method

在本節中,我們首先回顧了SENet [14]中的通道注意力模塊(即SE塊)。 然後,通過分析降維和跨通道交互的影響,對SE塊進行經驗判斷。 這激勵我們提出ECA模塊。 此外,我們提出了一種自適應確定ECA參數的方法,並最終展示瞭如何將其用於深度CNN。

3.1. Revisiting Channel Attention in SE Block

3.2. Efficient Channel Attention (ECA) Module

重新審視SE模塊後,我們進行了實證比較,以分析通道降維和跨通道交互對通道注意力學習的影響。 根據這些分析,我們提出了有效的通道注意(ECA)模塊。

3.2.1 Avoiding Dimensionality Reduction

爲了驗證其效果,我們將原始SE塊與它的三個變體(即SE-Var1,SE-Var2和SEVar3)進行了比較,它們均不執行降維。如表2所示,SE-Var1不帶參數仍然優於原始網絡,這表明通道的注意力確實能夠提高深層CNN的性能。同時,SE-Var2獨立學習每個通道的權重,這比SE塊略勝一籌,但涉及的參數較少。這可能表明通道及其權重需要直接關聯,而避免降維比考慮非線性通道相關性更爲重要。此外,採用單個FC層的SEVar3的性能要優於兩個FC層,並且SE塊的尺寸減小。以上所有結果清楚地表明,避免降維有助於學習有效的通道注意力。因此,我們提出的ECA模塊不降低通道尺寸。
在這裏插入圖片描述

3.2.2 Local Cross-Channel Interaction
3.2.3 Coverage of Local Cross-Channel Interaction

在這裏插入圖片描述

4. Experiments

在本節中,我們使用所提出的方法在ImageNet [6]和MS COCO [23]數據集上的大規模圖像分類,目標檢測和實例分割任務進行評估。 具體來說,我們首先評估內核大小對ECA模塊的影響,然後與ImageNet上的最新技術進行比較。 然後,我們使用Faster R-CNN [26],Mask R-CNN [10]和RetinaNet [22]驗證了ECA-Net在MS COCO上的有效性。

4.1. Implementation Details

爲了評估我們在ImageNet分類上的ECA-Net,我們使用了四個廣泛使用的CNN作爲骨幹模型,包括ResNet-50 [11],ResNet-101 [11],ResNet-512 [11]和MobileNetV2 [28]。爲了用我們的ECA訓練ResNet,我們在[11,14]中採用了完全相同的數據擴充和超參數設置。具體地,通過隨機水平翻轉將輸入圖像隨機裁剪到224 224。網絡的參數是通過隨機梯度下降(SGD)進行優化的,權重衰減爲1e-4,動量爲0.9,最小批量大小爲256。通過將初始學習率設置爲0.1,可以在100個epoch內訓練所有模型。每30個時代減少10倍。爲了用ECA訓練MobileNetV2,我們遵循[28]中的設置,其中使用SGD在400個紀元內訓練網絡,權重衰減爲4e-5,動量爲0.9,最小批量爲96。設定了初始學習率到0.045,並以0.98的線性衰減率減小。爲了在驗證集上進行測試,首先將輸入圖像的短邊調整爲256大小,並使用224 x 224的中心裁剪進行評估。

我們使用Faster R-CNN [26],Mask R-CNN [10]和RetinaNet [22]進一步評估我們在MS COCO上的方法,其中ResNet-50和ResNet-101以及FPN [21]被用作主幹模型。 我們使用MMDetection工具包[3]實現所有檢測器,並使用默認設置。具體來說,將輸入圖像的短邊調整爲800,然後使用權重衰減爲1e-4,動量爲0.9和最小的SGD優化所有模型 -批大小爲8(4個GPU,每個GPU 2個圖像)。 學習率被初始化爲0.01,並分別在8和11個epoch後降低了10倍。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

5. Conclusion

在本文中,我們專注於爲模型複雜度較低的深層CNN學習有效的渠道關注度。 爲此,我們提出了一種有效的通道注意力(ECA)模塊,該模塊通過快速的1D卷積生成通道注意力,其內核大小可以通過通道尺寸的非線性映射來自適應確定。 實驗結果表明,我們的ECA是一種極其輕巧的即插即用模塊,可提高各種深度CNN架構的性能,包括廣泛使用的ResNets和輕巧的MobileNetV2。 此外,我們的ECA-Net在對象檢測和實例分割任務中表現出良好的概括能力。 將來,我們會將ECA模塊應用於更多的CNN架構(例如ResNeXt和Inception [31]),並進一步研究將ECA與空間關注模塊的結合。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章