源文https://www.researchgate.net/publication/336361781_ECA-Net_Efficient_Channel_Attention_for_Deep_Convolutional_Neural_Networks源代码https://github.com/BangguWu/ECANet
Introduction
本文首先回顾了SE-Net,在SE-Net中输入特征首先会逐通道经过全局均值池化,随后经过两层全连接层,最后经过Sigmoid非线性激活后产生每一通道的权重。这两层FC的作用就是捕获跨通道之间的非线性交互,这样可以有效降低维度。虽然这一策略被广泛应用于其他任务,但经验告诉我们降维不可避免会带来副作用,而且不利于捕获通道之间的依赖关系。 基于以上分析,如何减少维度损失同时高效捕获通道之间的交互变得十分重要。本文的ECA-Module在经过SE的全局均值池化后,ECA-Module会考虑每个通道及其k个近邻,通过一维卷积快速完成通道权重的计算。K就代表了在一个通道权重的计算过程中参与的近邻数目,k的数目很明显会影响ECA计算的效率和有效性。为此,我们提出了自适应计算k的函数。可以看到,在嵌入各种注意力模块的对比中,ECA-Net在参量较少的情况下取得了更高精度。
Model
降维会使得通道和权重的对应关系不再直接。比如在Table I中对比了SE block的三种变体SE-Var1,SE-Var2,SE-Var3,(其中SE-Var1没有引入任何参数,SE-Var2分别独立的学习每个通道的权重,SE-Var3采用了一层FC层)这三种均未进行维度压缩,可以看到这三种变体都比原始结构效果好,说明通道注意力确实对CNN有提升效果。
SE-Var3比SE-Var2效果更佳的原因在于,SE-Var3捕捉了通道间的交互关系,而SE-Var2没有。但代价就是SE-Var3使得参量大大增加,SE-Var2可被看作采用的是深度可分离卷积,而另一种群卷积也可作为捕捉通道间交互作用的高效方式。
?本文提出了一种用于深层CNN的有效通道注意(ECA)模块,该模块避免了维度缩减,并有效捕获了跨通道交互。在不降低维度的情况下进行逐通道全局平均池化之后,我们的ECA通过考虑每个通道及其k个近邻来捕获本地跨通道交互 。实践证明,这种方法可以保证效率和有效性。请注意,我们的ECA可以通过大小为k的快速一维卷积有效实现,其中内核大小k代表本地跨通道交互的覆盖范围,即有多少个相近邻参与一个通道的注意力预测。我们提出了一种自适应确定k的方法,其中交互作用的覆盖范围(即内核大小k)与通道维成比例。
Experiment
?
?
|