论文link:link
code:code
1.摘要
近年来,通道注意机制被证明在改善深层卷积神经网络(CNN)的性能方面提供了巨大的潜力。然而现有的大多数方法都致力于开发更复杂的注意模块以获得更好的性能,这不可避免地增加了模型的复杂性。为了克服性能和复杂度的矛盾,提出了一种高效的通道注意力(ECA)模块,该模块只需要很小的参数,同时可以带来明显的性能提升。通过对SENET中通道注意模块的剖析,我们实证地表明避免降维对于学习通道注意是重要的,适当的跨通道交互可以在显著降低模型复杂度的同时保持性能。因此我们提出了一种无需降维的局部交叉信道交互策略,该策略能通过一维卷积有效地实现。此外,我们还提出了一种自适应选择一维卷积核大小的方法,以确定跨信道相互作用的覆盖范围。建议的ECA模块是高效而有效的,例如,我们的模块相对于ResNet50主干的参数和计算分别是80vs.24.37M和4.7E-4GFLOP vs.3.86GFLOPS,在Top-1准确率方面性能提升超过2%。我们使用ResNet和MobileNetV2的主干,对我们的ECA模块在图像分类、目标检测和实例分割方面进行了广泛的评估。实验结果表明,与同类模块相比,该模块具有更高的效率和更好的性能。
2.模型结构图
首先回顾SENet中的通道注意力模块,体而言,在给定输入特征的情况下,SE块首先对每个通道单独地进行global average pooling,然后使用两个非线性全连接(FC)层和一个Sigmoid函数生成通道权值。两个FC层旨在捕获非线性的跨通道交互,并通过降维来控制模型复杂性。尽管该策略被广泛应用于后续的通道注意模块中,但我们的实证研究表明降维会给通道注意预测带来副作用,而且捕获所有跨通道的依赖关系是低效且不必要的。
为此,本文提出了一种针对深度CNNs的高效通道注意(Efficient Channel Attention,ECA)模块。该模块避免了降维,有效地捕获了跨通道间的相互作用。如图所示,在空间上降维、通道维度不变的global average pooling后,我们的ECA通过建模每个通道及其 个相邻通道的关系来捕获局部跨通道交互。实践证明,这种方法既能保证效率又能保证效果。注意,我们的ECA可以通过卷积核大小为 的1D卷积实现,其中 表示局部跨通道交互的覆盖范围,即有多少相邻通道参与了一个通道的注意力预测。为了避免通过交叉验证手动调优 ,我们开发了一种自适应的确定 的方法,其中交互的覆盖率(即卷积核大小 )与通道尺寸成正相关。如图1和表3所示,与骨干模型[19]不同,带有我们的ECA模块(称为ECA-Net)的深度CNN引入很少的附加参数和可以忽略的计算,同时带来显著的性能提高。例如,对于具有24.37M参数和3.86 GFLOPs的ResNet-50, ECA-Net50的附加参数和计算量分别为80和4.7e-4GFLOPs;与此同时,ECA-Net50在Top-1 acc. 上优于ResNet-50达2.28%。
3.方法
3.1 回顾SE模块中的注意力
另一个卷积层的输出为 x ∈ R W × H × C x \in {R^{W \times H \times C}} x∈RW×H×C,其中 W , H 和 C W,H和C W,H和C分别表示特征图的宽、高和通道维度(即卷积核中使用的卷积核的数量),因此,SE块输出中各个通道的权重为:
ω = σ ( f { W 1 , W 2 } ( g ( x ) ) ) \omega = \sigma ({f_{\{ {W_1},{W_2}\} }}(g(x))) ω=σ(f{W1,W2}(g(x)))