深度学习论文笔记(注意力机制)——CBAM: Convolutional Block Attention Module

主要工作

提出了一种具有注意力机制的前馈卷积神经网络——Convolutional Block Attention Module(CBAM)

method

注意力机制是人类视觉所特有的大脑信号处理机制。人类视觉通过快速扫描全局图像,获得需要重点关注的目标区域,也就是一般所说的注意力焦点,而后对这一区域投入更多注意力资源,以获取更多所需要关注目标的细节信息,而抑制其他无用信息[摘自深度学习中的注意力机制],作者希望CNN也能获得此类能力,实际上,通过grad-CAM对CNN可视化,优秀的网络结构往往能正确定位图中目标所在区域,也即优秀的网络本身就具有注意力机制,作者希望通过强化这一概念,让网络性能更加优异,并且对于噪声输入更加健壮

CNN的卷积操作从channel与spatial两个维度提取特征,因此,论文从channel与spatial两个维度提取具有意义的注意力特征,motivation如下:

  1. 由于每个feature map相当于捕获了原图中的某一个特征,channel attention有助于筛选出有意义的特征,即告诉CNN原图哪一部分特征具有意义(what)
  2. 由于feature map中一个像素代表原图中某个区域的某种特征,spatial attention相当于告诉网络应该注意原图中哪个区域的特征(where)

CBAM将某一层的特征图抽取出来,接着进行channel attention与spatial attention的提取后,与原特征图进行结合作为下一层卷积层的输入,具体流程如下:
在这里插入图片描述

channel attention module

总体流程如下:
在这里插入图片描述
对输入的特征图使用全局平均池化与全局最大池化,分别输入到MLP中,将结果进行element-wise add,经过激活函数后输出channel attention module,如下:
在这里插入图片描述
δ \delta δ表示sigmoid激活函数,设 F F F的大小为 C ∗ H ∗ W C*H*W CHW W 0 W_0 W0 C r ∗ C \frac{C}{r}*C rCC的矩阵, W 1 W_1 W1 C ∗ C r C*\frac{C}{r} CrC的矩阵, M c ( F ) M_c(F) Mc(F)大小为 C C C,即 F F F的channel个数。

spatial attention module

总体流程如下:
在这里插入图片描述
沿着通道方向对特征图 F ′ F' F施加全局平均池化与全局最大池化,将 C ∗ H ∗ W C*H*W CHW的特征图转变为 2 ∗ H ∗ W 2*H*W 2HW的特征图,什么是通道方向的全局池化呢?若特征图的大小为 C ∗ H ∗ W C*H*W CHW,则池化层的大小为 C ∗ 1 ∗ 1 C*1*1 C11,即可得到 1 ∗ H ∗ W 1*H*W 1HW的特征图。 2 ∗ H ∗ W 2*H*W 2HW的特征图后接一个7卷积层,卷积大小通过实验后确定为7*7,得到 1 ∗ H ∗ W 1*H*W 1HW的特征图,经过激活函数后输出spatial attention module,如下:
在这里插入图片描述

如何结合spatial attention module与channel attention module

对原图施加channel attention module,即在通道方向将channel attention module广播为 C ∗ H ∗ W C*H*W CHW大小的特征图后,与原特征图进行element-wise multiplication。
对原图施加spatial attention module,即将 1 ∗ H ∗ W 1*H*W 1HW的spatial attention module与 C ∗ H ∗ W C*H*W CHW大小的原特征图集合中的每一张特征图进行element-wise multiplication。

我们有三个策略:

  1. 先对原特征图施加channel attention module 后 spatial attention module
  2. 先对原特征图施加spatial attention module 后 channel attention module
  3. 分别对原特征图施加spatial attention module 与 channel attention module,将两者进行element-wise add后用sigmoid函数激活后输出

经过试验,发现第一个策略效果最佳,试验结果如下:
在这里插入图片描述
策略一的图示如下,无需改变原神经网络原有的参数(由于Input Feature与Refined Feature大小一致)
在这里插入图片描述
数学表示
在这里插入图片描述

实验

在这里插入图片描述
数值上看,提升不大,个人认为无注意力机制的网络本身具有较好的focus目标的能力,因此从分类准确率上看不太出区别,但是使用grad-CAM可视化后,区别就出来了,如下:
在这里插入图片描述

颜色越深,表示神经网络越注意该区域,可以看到,含有注意力机制的网络注意到的目标相关区域更广,并且softmax输出的值也更大,这些特性是无法从分类准确率看出来的。

  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CBAM是卷积块注意力模块的缩写,是一种用于交替堆叠到深度卷积神经网络(CNNs)中的模块。它包含两个子模块:通道注意力模块和空间注意力模块。通道注意力模块用来对每个通道进行加权,确定哪些通道最重要。空间注意力模块在每个通道中对所有空间位置进行加权,可以捕捉不同位置的重要性,从而更好地定位物体。 CBAM的优点在于,它能够提高CNNs的性能,减少了过度拟合的情况。CBAM结构的输入任意大小、任意通道数、任意深度,因此可以适用于各种计算机视觉任务,包括图像分类,物体检测和语义分割等。 总之,CBAM是一种具有高灵活性和高性能的卷积块注意力模块,能够极大地增强CNNs的表达能力,提高计算机视觉任务的准确性。 ### 回答2: CBAMConvolutional Block Attention Module),是一种用于图像分类的Attention模块,它主要是用于增强卷积神经网络(CNN)的特征表达能力,使得CNN能够更好地区分不同种类的图像。 CBAM结构由两部分组成,分别是CBAM-Channel和CBAM-Spatial。在CBAM-Channel中,它通过引入注意力机制,对每个通道的特征进行加权求和,并且使用全局平均池化操作,计算其重要性参数,进而对特征进行修正,从而提升模型的表达能力。CBAM-Spatial则通过空间注意力机制对图像中的区域进行注意力分配权重,进一步优化模型的性能。 CBAM在图像分类方面的性能表现非常卓越。实验证明,在对比始ResNet和ResNeXt网络,以及加入CBAM的ResNet和ResNext网络进行图像分类时,加入CBAM的ResNet和ResNeXt网络具有更强的表达能力和更高的分类准确性,同时,它在训练过程中的收敛速度也有所提升。 总的来说,CBAM是一种非常有效的图像分类模块,利用注意力机制对CNN的特征进行增强,为图像分类任务提供了更好的性能表现。随着人工智能的迅速发展,CBAM在图像识别、物体检测等领域将具有广阔的应用前景。 ### 回答3: CBAM是卷积块注意力模块的缩写,它是一种用于图像分类和目标检测的神经网络模型。CBAM模块通过将通道和空间注意力机制组合在一起,从而有效地提高了模型的性能。 CBAM模块分为两个部分:通道注意力机制和空间注意力机制。通道注意力机制是针对图像特征中的通道信息进行关注,它可以基于每个通道的特征图来计算权重,然后对于每个通道进行信息的调整和加权。这样,在网络中的每个层次上都能更好地利用有用的通道信息,减少无用信息对网络性能的影响。 空间注意力机制是针对图像特征中的空间信息进行关注。它能够自适应地计算每个像素点的权重,然后对于每个像素点进行信息的调整和加权。这样,网络中的每个空间位置都能更好地利用有用的空间信息,提高目标检测和分类的准确率。 通过组合这两种注意力机制CBAM模块能够区分有用和无用的特征,从而在图像分类和目标检测任务中取得更好的性能。CBAM模块通常被用在深度卷积神经网络中,例如ResNet以及MobileNet等,以提高整个网络中的特征提取能力和分类性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值