APP下载

基于注意力机制的卷积神经网络在图像分类中的应用

2021-12-14陈耀文谭晓玲

科学技术创新 2021年34期
关键词:权重卷积注意力

陈耀文 谭晓玲

(重庆三峡学院,重庆 404130)

1 概述

图像分类指的是根据某种算法判定输入的图像的类别,一般的图像分类步骤包括:图像预处理、图像特征提取和图像类别判定。卷积神经网络(Convolutional neural network,CNN)模仿了生物的视知觉机制,解决了传统人工提取特征的繁琐工程,实现了从数据中自动地提取特征。在ImageNet 2012 竞赛上,AlexNet[1]远超传统机器学习方法,使用8 个卷积网络层达到了15.3%的TOP-5 图像分类错误率。而随着对CNN 在图像分类领域研究的深入,研究者发现CNN 的特征提取能力可以随着网络的深度和宽度而增加。VGGNet[2]探索了更深地网络,设计了可以重复堆叠的卷积网络模块,通过堆叠这些网络模块构建网络,并提出多层网络模型中特征的等级会随着堆叠层的深度变的更加丰富。InceptionNet[3]探索的更宽的网络,提出了分支设计,在一个网络层使用多种卷积核提取多层次特征,使网络具有更强的表达能力,同时多分支叠加的大通道输出相比无分支在计算消耗上更少。ResNet[4]引入的残差结构解决了网络加深导致的网络退化问题,使得深度网络在学习不到新特征时可以通过残差结构实现恒等映射,保证网络性能不会变差,并且残差结构对各层之间的微小差异更加敏感,特征学习能力更强。

然而,在实际任务中,受限于计算能力,常常无法构建足够深和足够宽的网络去处理和记忆全部的信息,而需要对信息进行选择,因此,研究者尝试将注意力机制引入到CNN 中。注意力机制是当前深度学习领域比较流行的一个概念,其模仿人的视觉注意力模式,每次只关注与当前任务最相关的源域信息,使得信息的索取更为高效。注意力机制已在语言模型、图像标注等诸多领域取得了突破进展,并且研究者发现将注意力机制与CNN 结合的可以让网络关注重要特征,提高重要特征关注点表示,并抑制不必要的特征,减弱不必要特征关注点表示,并且缓解了CNN 传统卷积操作的局部感受野缺乏全局信息层次的理解能力,导致提取特征的特征差异性的问题,进一步提升CNN的特征提取能力[22]。

本文主要框架如下:在第二章中本文对CNN 注意力模型机制进行了介绍,并且基于典型的几种CNN 注意力模型详述了CNN 注意力模型的发展方向和各模型的特点;然后在第三章中本文结合第二章的分析对CNN 注意力模型存在的挑战进行了概述;最后在第四章对本文进行了总结概括。

2 CNN 注意力模型

CNN 注意力模型是在CNN 的基础上发展而来,如图1 所示,CNN 主要包括输入层,隐含层和输出层[23]。在输入层将图像输入到网络中,然后在隐含层通过卷积操作或池化操作实现特征的传递,学习图像的分布式特征表示,最后由输出层将学习到的分布式特征表示映射到样本标记空间完成分类输出。隐含层中特征传递的载体为特征图,在图像分类领域中特征图的储存形式一般为C×H×W,也即通道数×图像高度×图像宽度。

图1 CNN 网络

CNN 注意力模型在上图的基础上对特征图进行了注意力学习,如图2 所示,CNN 注意力模型可以分为全局上下文建模、依赖关系转换和特征融合三个步骤。在全局上下文建模部分对信息进行压缩;在依赖关系转化部分,基于压缩的信息学习注意力权重矩阵;最后在特征融合部分,权重矩阵通过与特征图相乘或相加等方式得到具有注意力的特征图。

图2 注意力模型

注意力机制决定了权重矩阵的学习,可分为软性注意力(Soft Attention)、硬性注意力(Hard Attention)和自注意力(Self Attention):软性注意力机制是指在选择信息的时候,不是从N个信息中只选择1 个,而是对每个分配0-1 之间的权重,计算N个输入信息的加权平均,再输入到神经网络中计算。相对的,硬性注意力就是指从N 个信息中选择1 个或几个信息,对每个信息权重分配为0 或1,相比软性注意力速度更快,但是会损失一部分信息。自注意力机制是基于输入项自身进行区域权重学习,进行权重分配,减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性,所以大部分CNN 注意力模型都引入了自注意力机制。

2.1 不同作用域的注意力模型

按注意力作用在特征图上的维度可以分为:通道域注意力、空间域注意力、卷积域注意力和混合域注意力。前两种CNN 注意力模型主要关注了特征图上的某一个维度,学习这一维度上的元素之间的关系。通道域注意力模型捕获了通道间的不同特征表示之间的关系,学习了通道上的注意力权重,然后依据注意力权重判断通道上特征的重要程度,从而关注更具代表性的特征,提高网络分类性能。Momenta 等人[5]提出的压缩激活网络(Squeeze-and-Excitation Networks,SENet),通过向CNN 基础网络中加入一个SE 模块,利用CNN 中的通道依赖性建模通道间的相互依赖关系,自适应的校准通道的特征响应。如图3 中的SE模块结构,输入的特征图C×H×W 经过一个全局平均池化和两层全连接(Full Connect,FC)后,再由sigmoid 激活函数[24]激活,输出一个1×1×C 范围在[0,1]的通道权重,最后与特征图相乘实现增强重要特征,削弱不重要的特征,使特征提取具有更强的指向性。与通道域注意力模型相似,空间域注意力模型学习了特征图空间像素之间的关系,区别在于通道域注意力模型更关注特征的不同表示,而空间域注意力模型更关注空间像素之间的长距离依赖,强化空间上的关键信息。如Non-local[6]通过对通道域进行压缩获取特征图的空间特征,然后对空间特征进行Softmax 归一化得到空间域权重,最后与原特征图相乘得到具有空间域注意力的特征图。空间转换网络(spatial transformer network,STN)[7]引入空间注意力,基于图像信息去学习一个空间变换矩阵,经过空间变换后生成的图像局部重要信息可以更好地被卷积框提取出来,从而使网络更关注这个图像局部信息。空间转换机制设计了定位网络、网格生成器和采样器三个部分。定位网络将图片信息转换为空间转换参数,网格生成器根据空间转换参数学习构建一个采样网格,最后由采样器基于特征图和采样网格生成新特征图。

图3 不同作用域的注意力模型

与通道域、空间域注意力模型不同,卷积域注意力模型不对特征图直接分配权重,而是对卷积核的元素分配权重,并以此来表示核范围内的区域重要性。卷积核选择网络(Selective Kernel Networks,SKNet)[8]提出了一种机制,即卷积核的重要性,它说明了不同的图像能够得到具有不同重要性的卷积核。SKNet 对不同图像使用的卷积核权重不同,即一种针对不同尺度的图像动态生成卷积核。网络主要由Split、Fuse、Select 三部分组成。Split 部分是特征图经过不同大小的卷积核部分进行卷积的过程,也就是待选择的卷积核,fuse 部分计算每个卷积核的权重,Select 部分是根据不同权重的卷积核计算后得到的新的特征图的过程。

上述注意力模型只关注了一个维度的注意力,而混合域注意力模型结合多个维度的注意力,对特征进行重标定,进一步强化关键特征。如图4,卷积块注意模块(Convolutional Block Attention Module,CBAM)[9]将通道注意力模块和空间注意力模块串行连接,同时对网络进行打分,得到经过双重注意力调整的特征图,这迫使网络关注更重要的区域特征信息。而瓶颈注意力模块(Bottleneck Attention Module,BAM)[10]则将通道注意力和空间注意力并行连接,然后用特征图相加的方式使网络具有两个维度的注意力。

图4 CBAM

2.2 CNN 注意力模型的发展

虽然只需要在CNN 上添加一个注意力模块就可以使CNN具有注意力,但是在许多大型CNN 上添加注意力模块,特别是混合域注意力模块,仍然会产生大量的计算消耗。针对这个问题,许多研究人员提出了改进方法使网络在学习注意力的同时具有更少的计算消耗。

此外,许多研究也致力于增强注意力对全局信息的表征能力。GCNET[16]结合了non-local 和SENet,使用简化的non-local 进行上下文建模后,利用两个1×1 卷积学习通道上的信息对通道维添加注意力。全局二阶池卷积网络(Global Second-Order Pooling Convolutional Networks,GSoP-Net)[17]提出二维平均池化代替SENet 中的全局平局池化,并引入协方差矩阵表现通道维注意力。双重注意力网络(Double Attention Networks,A2net)[18]提出了一种用于收集和分布长距离特征的二阶注意力,对全局关键特征进行收集再基于另一种注意力机制自适应地将特征分配到对应位置。自校正卷积网络(Self-calibrated Convolutions Networks,SCNet)[19]提出一种自校正卷积,采用由一个卷积核变换的低维嵌入来校准另一部分中卷积核的卷积变换,自适应地在每个空间位置周围建立了远程空间和通道间依赖关系。有效通道注意力网络(Efficient Channel Attention Networks,ECANet)[20]针对降维操作会削弱通道注意力学习能力的问题,提出了不降维的局部跨信道交互策略。

3 CNN 注意力模型存在的挑战

注意力模型的出现使得CNN 在包括图像分类等领域的性能表现进一步提升,并且它有助于克服CNN 中的一些问题,如数据集中类内差距大、类间差距小或者全局空间上局部特征联系不强导致的分类困难。然而,虽然现在CNN 注意力模型在许多任务上都取得了很好的效果,但是CNN 注意力模型的研究仍然存在一些不足。

首先,目前CNN 注意力模型的研究已经拓展到包括通道、空间、卷积等多个维度,混合注意力也有很好的性能提升,然而在实际问题中,对每个维度都增加注意力来提升网络性能在计算消耗的约束下是难以实现的,同时,对某些数据集增加多一维注意力并不能明显提升分类准确率,有时还会导致过拟合现象。因此,如何针对数据集设计注意力机制是一个具有现实意义的问题,可以结合网络结构搜索的方法,在网络计算消耗约束下搜索最适合数据集的注意力机制和添加的注意力模块的数量,自适应的构建注意力模型。

其次,随着时代发展,三维视频流的处理(如手势识别)有了很大的需求,然而目前大部分的注意力网络研究都是针对二维图像设计,如何在时间域引入注意力机制,让网络更加关注视频流关键帧,和时间域注意力如何与空间域和通道域注意力建立显性联系,使网络具有更强的视频流处理能力是一个值得探索的问题。

最后,相较于SENet、Non-local 等通过全局池化获取全局信息的方法,TAM、CGC[21]等方法通过旋转、局部池化减少了暴力压缩产生的信息损失,然而这类避免信息损失的方法还有一定的提升空间,需要更加精细的注意力。

4 结论与展望

注意力机制是强化CNN 图像分类特征提取能力的重要方式之一,并为CNN 图像分类提供了一定的可解释性。本文主要介绍了CNN 注意力模型的主要机制和发展过程,并基于现有的CNN 注意力模型分析了CNN 注意力模型存在的不足和可能的研究方向。希望本文可以为未来的CNN 注意力模型研究提供一定的参考。

猜你喜欢

权重卷积注意力
权重望寡:如何化解低地位领导的补偿性辱虐管理行为?*
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
权重常思“浮名轻”
如何培养一年级学生的注意力
卷积神经网络的分析与设计
从滤波器理解卷积
为党督政勤履职 代民行权重担当
权重涨个股跌 持有白马蓝筹
基于傅里叶域卷积表示的目标跟踪算法