
这篇文章设计了一种可切换式的注意力模块(题目中是self-attention,但是实际模块设计用的还是原始的通道注意力)。在本文中,实验性的发现对于不同的网络层和不同的场景中,对于注意力模块而言,选择使用合适的激励操作是更有必要的。
注意力是一种识别机制,能够忽略非必需信息并有选择地关注一小部分信息。注意力在句子,图像和视频处理中被广泛使用,以减轻神经网络学习大量信息的压力。视觉领域中,一些操作模拟注意力机制以作为CNN中有效的特征增强组件,确保深度神经网络能够有效识别图像中的重要信息。这样的模块化和可拔插的算子也通常被称为注意力模块,这促进了视觉识别领域的发展。

现有的注意力模块大多数包含三个部分:
其中第二步是注意力模块的关键。许多研究者已经提出了不同的方法来优化激励操作,例如:
而且这些方法忽略了两件重要的事情:

作者在本文中,实验性的发现对于不同的网络层和不同的场景中,对于注意力模块而言,选择使用合适的激励操作是更有必要的。因此替代使用单一的注意力模块,作者们设计的结构会根据不同的层和场景自动调整激励操作的类型。
然而,对不同的层和场景人工选择合适的激励操作也确实需要大量的成本和时间。为了解决这一问题,作者们提出了一种可切换的激励模块,即SEM,这可以自动决定如何计算注意力图,从而实现了不同激励操作的组合。

计算过程如下:

这里的决策模块是本文的工组重点。为了充分利用集成在squeeze操作中的信息,从而识别不同后续激励操作的重要性,作者们在其后面接了一个结构F用于从通道依赖中充分捕获决策信息。为此,这一操作需要满足两个标准:
为了满足这两点,作者们利用了一个基于sigmoid函数的简单的门控机制
,即Linear+Sigmoid的结构。这里的Linear的权重实现了N维到C维的映射,从而Cx1x1大小的输入被转换为大小为N的决策向量,其中的每个值表示各自对应的激励操作的重要性。通过w,决策模块实现了一种软决策,而不是单一选择特定的激励操作。这种设计确保了激励模块获得的特征图,可以根据学习到的权重,加权集成所有激励操作的信息。
实际结构中,作者们选择了三种不同的激励操作进行集成,分别是FC(SENet)、CNN(ECA)和IE(IEBN)。在切换操作中,每个激励操作对应的输出乘以前面计算出来的对应权重后,通过sigmoid函数后,所有的结果相乘得到最终的注意力图。
作者们旨在两个CIFAR上进行了实验。




其中有趣的实验结果是表5中,在移除数据增强后,相较于原始模型和SENet,SEM可以获得更好的效果,作者认为这体现出了SEM具有一定的正则化效果。