ECA-Net

Efficient Channel Attention for Deep Convolutional Neural Network

Posted by JY on July 3, 2020

1.Introduction

  • 最近,通道注意力机制被证明在改善深度卷积神经网络(CNNs)的性能方面具有巨大的潜力。然而,现有的方法大多致力于开发更复杂的注意力模块以实现更好的性能,导致增加了模型的复杂性和计算负担。
  • ECANet主要对SENet模块进行一些改进,提出了一种不降维的局部跨信道交互策略自适应选择一维卷积核大小的方法,从而模型只增加了少量的参数,却实现性能的提优

2. Method

SENet模块回顾

img

  • 在给定输入特征的情况下,SE模块首先对每个channel单独使用全局平均池化,然后使用两个具有非线性的全连接层,然后使用一个sigmoid函数来生成通道权值。
\[\boldsymbol{\omega}=\sigma\left(f_{\left\{\mathbf{W}_{1}, \mathbf{W}_{2}\right\}}(g(\mathcal{X}))\right)\]
  • 两个FC层的设计是为了捕捉非线性的跨通道交互,并通过降维来控制模型的复杂度。然而降维对通道注意力权重预测带来了副作用,因为首先将channel特征映射到一个低维的空间,然后将其映射回去,从而使得channel与其权重之间的对应关系是间接的。

img

降维影响分析实验:

img

由上表的实验可以得到:

  • 无参数的SE-Var1仍然优于原始网络,说明channel attention具有提高深度CNNs性能的能力
  • SE- Var2通过独立学习各通道的权值,在参数较少的情况下略优于SE模块,这说明通道与其权值需要直接对应,从而通过避免降维可以比考虑非线性通道之间的相关性更为重要
  • 采用单个FC层的SE- var3性能优于降维的两层FC层

以上结果清楚地表明,避免降维有助于学习有效的通道注意

Efficient Channel Attention (ECA) Module

为了避免降维,有效利用跨通道交互的信息,提出了ECA模块

img

  • 在不降低维数的通道级全局平局池化后,ECA通过考虑每个通道及其k个邻层来捕获局部跨通道交互信息 (通过大小为k的快速1D卷积来有效实现,其中卷积核大小为k代表了局部跨通道交互的覆盖率)
  • 为了避免对k进行手动调优,提出了一种自适应确定k的方法,其中卷积核大小k与通道维数成正比img

#####

Avoiding Dimensionality Reduction

img

从上表可以看出,ECA模块通过避免降低通道维度 (DR)来学习有效的通道注意力,同时以极其轻量级的方式获取跨通道的交互信息

Local Cross-Channel Interaction

提出了一种新的捕捉局部跨通道信息交互的方法:

  • 对于权重$y_i$,只考虑和它k个相邻信息的交互
\[\omega_{i}=\sigma\left(\sum_{j=1}^{k} w_{i}^{j} y_{i}^{j}\right), y_{i}^{j} \in \Omega_{i}^{k}\]
  • 为了进一步提高性能, 还可以让所有通道共享权重信息
\[\omega_{i}=\sigma\left(\sum_{j=1}^{k} w^{j} y_{i}^{j}\right), y_{i}^{j} \in \Omega_{i}^{k}\]
  • 基于以上分析,可以通过卷积核大小为K的一维卷积实现通道间的信息交互
\[\boldsymbol{\omega}=\sigma\left(\mathrm{C} 1 \mathrm{D}_{k}(\mathbf{y})\right)\]

$C1D$代表一维卷积

  • ECA模块需要确定通道交互消息的大致范围(即1D卷积的卷积核大小k),通过手动进行交叉验证调整将花费大量计算资源,因此提出了一种自适应的方法,认为跨通道信息交互作用的覆盖范围(即一维卷积的内核大小k)与通道维数C应该也是成正比的,即在k和C之间可能存在映射φ,使得$C=\phi(k)=2^{(\gamma*k-b)}$,则给定通道维数$C$,卷积核大小$k$可以通过一以下公式得到:
\[k=\psi(C)=\mid\frac{\log _{2}(C)}{\gamma}+\frac{b}{\gamma}\mid_{o d d}\]

3. Experiment

  • 比较了不同的注意力方法在ImageNet数据集上的网络参数(param),浮点运算每秒(FLOPs),训练或推理速度(帧每秒,FPS), Top-1/Top-5的准确性(%)

    img

  • 分别在ImageNet和MS COCO数据集上,对提出的ECA模块在图像分类、目标检测和实例分割方面进行了实验评估
    • Classification

      img

      • ECA-Net101的性能优于ResNet-200,这表明ECA-Net可以用更少的计算成本提高深度CNNs的性能。同时,ECA-Net101与ResNeXt-101相比具有更强的竞争力,而ResNeXt-101使用了更多的卷积滤波器和昂贵的群卷积。此外,ECA-Net50可与DenseNet-264 (k=32)、DenseNet-161 (k=48)和 Inception-v3相媲美,但模型复杂度较低。以上结果表明,ECA-Net在性能上优于最先进的CNNs,同时具有更低的模型复杂度。ECA也有很大的潜力来进一步提高CNN模型的性能。
    • Object Detection

      img

    • Segmentation

      img

  • 此外,实验验证了自适应选择内核大小k的有效性。采用ResNet-50和ResNet-101作为骨干模型,将k分别设为3 - 9,用ECA模块进行实验,结果如下图所示。

    img

    • 当k在所有卷积块中都固定时,对于ResNet-50和ResNet-101, ECA模块分别在k = 9和k = 5处取得最佳结果。分析原因:由于ResNet-101有更多的中间层来支配ResNet-101的性能,因此它可能更喜欢较小的卷积核
    • 不同深度cnn具有不同的最优k值,k值对ECA-Net性能有明显影响,且ResNet-101的准确率波动(约0.5%)要大于ResNet-50的准确率波动(约0.15%)。分析原因:更深层次的网络比更浅层次的网络对固定的卷积核大小更敏感
    • 自适应确定的卷积核大小通常优于固定的卷积核大小,可以避免通过交叉验证手动调整参数k
    • 不同k个数的ECA模块始终优于SE block,验证了避免降维和局部跨通道交互对学习通道注意力是有积极作用的

4. Conclusion

  • 本文着重研究了低模型复杂度的深度网络的高效通道注意力问题。
  • 提出了一种高效的通道注意(ECA)模块,该模块通过快速的一维卷积生成通道注意力,其卷积核大小可由通道维数的非线性映射自适应确定。
  • 实验结果表明,ECA是一个非常轻量级的即插即用模块,可以提高各种深度CNN架构的性能,并在目标检测和实例分割任务中表现出良好的泛化能力