轻量模块注意力机制ECA-Net(注意力模块+一维卷积)

文章目录

  • ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks(2020)
    • 注意力模块比较
    • ECA模块
      • Avoiding Dimensionality Reduction(避免维度减少)
      • Local Cross-Channel Interaction(局部跨通道交互)
      • Coverage of Local Cross-Channel Interaction(局部跨通道交互覆盖)
        • ECA模块的k如何取值?
      • 实验结果
    • 实验结果
    • 总结
    • 代码

ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks(2020)

注意力模块比较

轻量模块注意力机制ECA-Net(注意力模块+一维卷积)_第1张图片
纵坐标为准确性,横坐标为模型参数量(复杂度)。

ECA模块

轻量模块注意力机制ECA-Net(注意力模块+一维卷积)_第2张图片

Avoiding Dimensionality Reduction(避免维度减少)

SE-Net
轻量模块注意力机制ECA-Net(注意力模块+一维卷积)_第3张图片
SE模块的通道注意力通过下式计算:
ω = σ ( f { W 1 , W 2 } ( g ( χ ) ) ) \omega = \sigma(f_{\{W_1,W_2\}}(g(\chi))) ω=σ(f{W1,W2}(g(χ)))

其中, g ( χ ) = 1 W H ∑ i = 1 , j = 1 W , H χ i j g(\chi) = \frac{1}{WH}\sum^{W,H}_{i=1,j=1}\chi_{ij} g(χ)=WH1i=1,j=1W,Hχij为全局平均池化函数, σ \sigma σ为Sigmoid函数。
在这里插入图片描述

在SE-Net中,通道注意力模块通过公式(2)进行降维(简单来说,就是SE-Net模块中的全连接层),这样让通道和权值之间没有直接联系。下表中的SE-Var1(无参数)、SE-Var2(独立学习各通道的权重)、SE-Var3(采用一个FC)均为不降维的变形,表中结果清楚的表明,避免降维的作用。
轻量模块注意力机制ECA-Net(注意力模块+一维卷积)_第4张图片

Local Cross-Channel Interaction(局部跨通道交互)

在这里插入图片描述

对于SE-Var2、SE-Var3,权重式:
轻量模块注意力机制ECA-Net(注意力模块+一维卷积)_第5张图片
两者之间区别在于,SE-Var3考虑了不同通道之间的交互,SE-Var2则没有;但是SE-Var3的需要大量参数,这样复杂性较高。
SE-Var2+SE-Var3 → \to 块对角矩阵。
轻量模块注意力机制ECA-Net(注意力模块+一维卷积)_第6张图片
每个组包括 C G \frac{C}{G} GC个通道,有 C 2 G \frac{C^2}{G} GC2个参数。然而,由上表可以看出,这样做并没有给SE-Var2带来增益,表明它不能捕获局部通道之间的相互作用,而且过多的组卷及将层架内存访问成本,从而降低计算效率。
ECA-Net中利用矩阵如下 W k W_k Wk,来学习通道注意力:
轻量模块注意力机制ECA-Net(注意力模块+一维卷积)_第7张图片
W k W_k Wk k ∗ C k*C kC个参数,小于 W G W_G WG W k W_k Wk避免了不同通道之间完全独立,考虑到了不同通道之间的相互作用。
在这里插入图片描述
所以,如上式仅考虑 y i y_i yi和它的紧邻的通道之间的相互作用而计算 y i y_i yi的权重。
加:一种更有效地方式,通过共享相同的学习参数,通过内核大小为k的快速1维卷积来实现(一维卷积和 1 × 1 1\times1 1×1卷积是不同的,一维指的是 1 × k 1\times k 1×k的卷积)
在这里插入图片描述
如上表,k=3的ECA模块和SE-Var3取得了相似的结果,而且具有更低的模型复杂度。

Coverage of Local Cross-Channel Interaction(局部跨通道交互覆盖)

ECA模块的k如何取值?

通过交叉验证进行手动调整不仅仅会很慢,而且消耗大量计算资源浪费。
ECA-Net采用Group convolutions。分组卷积用于改进CNN架构,其中高维(低维)信道在固定分组数量的情况下包括长(短)卷积。换句话说,就是通道维度 C C C和卷积核大小 k k k成比例。采用非线性函数,而且卷积核数量设为2的 k k k次方(因为通常通道尺寸是2)。公式如下:
在这里插入图片描述
卷积尺寸:
在这里插入图片描述
∣ t ∣ o d d \lvert t\rvert_{odd} todd表示距离 t t t最近的奇数,ECA-Net中 γ \gamma γKaTeX parse error: Undefined control sequence: \b at position 1: \̲b̲分别取2和1.

实验结果

轻量模块注意力机制ECA-Net(注意力模块+一维卷积)_第8张图片
上图,网络参数(Param)、每秒浮点运算(FLOPS)、训练/参考速度(FPS)、top-1/top-5准确率。

实验结果

k值的影响如下图,ResNet-50和ResNet-101为主干,对照SENet。可以看出,ECA-Net相较于SENet,准确率有了极大的提升。
轻量模块注意力机制ECA-Net(注意力模块+一维卷积)_第9张图片
与不同的CNN对比
轻量模块注意力机制ECA-Net(注意力模块+一维卷积)_第10张图片

总结

ECA-Net提出了一种高效的相关性通道(ECA)模块。模块通过非线性自适应确定的一维卷积组成。ECA是一种非常轻量级的即插即用块,可以调高各种CNN的性能。

代码

ECA-Net
论文

你可能感兴趣的:(attention机制)