摘要:我们提出了卷积块注意模块(CBAM),这是一个简单而有效的用于前馈卷积神经网络的注意模块。在给定中间特征图的情况下,我们的模块沿着两个独立的维度(通道和空间)依次推断注意图,然后将注意图乘到输入特征图进行自适应特征细化。因为CBAM是一个轻量级的通用模块,它可以无缝地集成到任何CNN架构中,开销可以忽略不计,并且可以与基本CNNs一起进行端到端培训。
Introduction
卷积神经网络(Convolutional neural networks, CNNs)凭借其丰富的表示能力,显著提升了视觉任务的性能。为了提高CNNs的性能,近年来的研究主要考察了网络的三个重要因素:深度、宽度和基数。从LeNet架构的到残差样式的网络到目前为止,网络已经为丰富的表示变得更加深入。VGGNet显示相同形状的堆叠块给出了公平的结果。遵循同样的精神,
ResNet堆叠了相同的拓扑剩余块连同跳跃连接,以建立一个极深的架构。GoogLeNet表明,宽度是提高模型性能的另一个重要因素。
注意的意义在以前的文献中已经被广泛研究,注意力不仅能告诉你应该关注哪里,还能提高兴趣的代表性。我们的目标是通过使用注意机制来增加表示能力:关注重要的特性并抑制不必要的特性。在本文中,我们提出了一个新的网络模块,命名为“Convolutional Block Attention module”。由于卷积运算通过混合跨信道和空间信息来提取信息特征,我们采用我们的模块来强调这两个主要维度:信道和空间轴上的有意义的特征。为了实现这一点,我们依次应用通道和空间注意模块。这样,每个分支都可以分别在通道和空间轴中学习“什么”和“哪里”。因此,我们的模块通过学习哪些信息需要强调,哪些信息需要抑制,从而有效地帮助网络中的信息流。
2、related work
自从大规模CNN的成功实现以来,已经提出了广泛的体系结构。一种直观、简单的扩展方法是增加神经网络的深度
人类视觉系统的一个重要特性是人们不会试图一次性处理整个场景。相反,为了更好地捕捉视觉结构,人类利用一系列的部分瞥见,选择性地聚焦于突出的部分。
BAM采用了类似的方法,将三维注意图推理分解为通道和空间。他们把BAM模块放在网络的每个瓶颈上,而我们在每个卷积块上进行插入。
3、CBAM
图2描述了每个注意图的计算过程。
如图所示,信道子模块在共享网络中利用最大池输出和平均池输出;空间子模块利用沿通道轴汇集的类似的两个输出,并将它们转发到卷积层。
**通道关注模块:**利用特征的通道间关系,生成通道注意图。由于每个通道的特征图被认为是一个特征探测器[32],通道的注意力集中在’什么’是有意义的输入图像。为了有效地计算信道注意,我们压缩了输入特征图的空间维数。对于空间信息的聚合,目前普遍采用平均池的方法。我们认为,最大汇集汇集了另一个重要的线索,关于独特的对象特征,以推断更精细的渠道明智的注意。因此,我们同时使用平均池和最大池功能。我们首先使用平均配流操作和最大池操作来聚合地物图的空间信息,生成两种不同的空间上下文描述符:分别表示平均汇集特征和最大汇集特征。然后,将两个描述符转发到共享网络,以生成我们的通道注意图。共享网络由多层感知器(MLP)和一个隐含层组成。在将共享网络应用于每个描述符之后,我们使用元素求和来合并输出特征向量。简而言之,信道注意计算为:
**空间关注模块:**利用特征的空间间关系生成空间注意图。与渠道注意不同的是,空间注意集中在“哪里”是信息部分,是对渠道注意的补充。为了计算空间注意,我们首先沿着通道轴应用平均池操作和最大池操作,并将它们连接起来以生成有效的特征描述符。沿着通道轴应用池操作在突出显示信息区域方面被证明是有效的。在连接的特征描述符上,我们应用卷积层来生成空间注意图在需要强调或压制的地方进行编码。
注意力模块的安排:给定一个输入图像,两个注意模块,通道和空间,计算互补注意,集中注意“什么”和“在哪里”。考虑到这一点,两个模块可以以并行或顺序的方式放置。我们发现顺序排列比平行排列的结果更好。对于顺序过程的安排,我们的实验结果表明,通道优先顺序略优于空间优先顺序。