具有注意力能力的卷积神经网络“CBAM”

一、简介

注意力机制是人类视觉系统中的重要部分,人在识别物体时会自动的将注意力集中在所要识别的物体上。笔者个人认为这种注意力机制可以帮助人在识别物体时减少背景信息带来的影响,从而使人的识别能力更不易受其他干扰的影响,因此如果能使卷积神经网络也具有这种能力,就能在提高模型的识别能力的同时提高模型的鲁棒性。在本文中,作者通过同时利用特征图的通道信息及空间信息设计了一种具有注意力能力的卷积模块,使模型能够把“注意力”放在更有用的信息上,此外该模块可以应用各种卷积神经网络架构中,能够对各种计算机视觉任务带来一定的提升。

具有注意力能力的卷积神经网络“CBAM”_第1张图片 图1 CBAM示意图

二、网络设计

1、注意力卷积模块

文中提出的注意力模块主要包含两部分,第一部分为通道注意力图,它能够对通道进行选择,另一部分为空间注意力图,它能够选取图像空间中所需注意的区域,对于给定的特征图,经过经过卷积注意力模块后的输出如式1所示:

2、通道注意模块

在卷积神经网络中,通道信息一般代表着图像不同的特征信息,因此通过对通道进行选择可以使网络更能注意到图像中对任务有用的信息。为实现对通道的选择,本文利用式2,分别计算每张特征图的全局平均池化及全局最大池化信息,然后通过全连接层后相加来得到通道注意力参数,其中两者共用相同的全连接网络。如图2所示

具有注意力能力的卷积神经网络“CBAM”_第2张图片 图2 通道注意模块

3、空间注意模块

物体识别的一大难点就是现实中的场景太多,而我们的训练数据集不可能包含所有这些场景,因此对于那些所要识别的物体仅仅占图像的一小部分的任务而言,一般比较困难,因此如果能够对输入图像的物体空间信息自动的定位,就能减少背景对于任务的干扰,从而提高模型的识别精度及鲁棒性。本文通过设计空间注意模块,通过利用式3先分别对各通道的特征图的每个坐标进行全局最大及平均池化后得到两张特征图,然后对特征图进行卷积得到空间注意图。如图3所示

具有注意力能力的卷积神经网络“CBAM”_第3张图片 图3 空间注意模块

4、模块的安放

上述的两种模块可以通过并行或者串行的方式进行连接,但是在实验中发现通过利用串行的方式能够得到更好的效果。

三、实验

1、模块的有效性实验

为了确定如何使用通道注意模块及空间注意模块,本文分别进行了3组实验,实验均是在resnet的结构的基础上进行更改,如图4所示。

具有注意力能力的卷积神经网络“CBAM”_第4张图片 图4 resnet+cbam网络

本文首先利用ImageNet分类任务来验证了同时使用特征图的全局最大池化及平均池化对性能的影响,最终的实验结果如表1所示。从表中可以看出同时使用最大池化及平均池化能够提高模型的识别精度。

具有注意力能力的卷积神经网络“CBAM”_第5张图片 表1

之后本文验证了空间注意模块的有效性,为进行对比,本文通过提取空间的全局最大池化及平均池化信息,然后分别对得到的特征图使用1x1卷积进行降维后直接使用或者是使用3x3的卷积核及7x7的卷积核来得到空间注意力图,最终和直接对得到的全局最大池化及平均池化图进行卷积的对比结果如表2所示,可以看出直接使用卷积能够获得最好的结果。

具有注意力能力的卷积神经网络“CBAM”_第6张图片 表2

最后作者对空间及通道注意模块的连接方式进行了探索,最终实验结果如表3所示,可以看出先使用通道注意模块然后使用空间注意模块的连接方式能够获得最好的识别效果。

具有注意力能力的卷积神经网络“CBAM”_第7张图片 表3

2、ImageNet分类实验

本文分别在ImageNet分类任务中对比了基础的ResNet及SENet,可以看出CBAM的有效性。

具有注意力能力的卷积神经网络“CBAM”_第8张图片 表4

此外本文还在轻量级卷积神经网络MobileNet上进行了实验,同样证明了CBAM模块的有效性。其中ResNet及MobileNet的训练结果如图5所示。

具有注意力能力的卷积神经网络“CBAM”_第9张图片 表5
具有注意力能力的卷积神经网络“CBAM”_第10张图片 图5 网络训练情况

3、注意力可视化分析

为证明本文所提出的CBAM模块确实能够提高网络的注意力能力,本文分别分析了三种模型下的Grad-CAM图,从图6的实验结果可以看出添加CBAM模块的网络的注意范围更广,能够更好地覆盖到所要识别的物体。

图6 grad-cam结果

4、物体检测任务

最后本文针对物体检测模型Faster-CNN进行了实验验证了加入CBAM模块的特征提取网络能够获取更好地检测性能。

具有注意力能力的卷积神经网络“CBAM”_第11张图片 表6
具有注意力能力的卷积神经网络“CBAM”_第12张图片 表7

四、总结

本文的贡献主要是通过对添加卷积注意力模块来实现对卷积神经网络的通道和空间区域进行选择,笔者认为传统的卷积神经网络已经具有了一定的这种能力,本文只是通过使用这样的模块来加强了卷积神经网络的这一能力,此外就是证明了最大池化得到的信息对于通道和空间的选择也有一定的帮助。总体而言,文章提出的CBAM模块确实具有一定的注意力能力,且对网络参数的增加不是很大,但笔者还是感觉这篇文章并没有什么特别值得令人兴奋地点,但是提高卷积神经网络的注意力能力,避免背景对识别的影响,应该是卷积神经网络的一个很好的研究方向。

你可能感兴趣的:(论文解读)