基于空间注意力的CNN特征增强方法

2022-06-29 12:32王朝辉
计算机技术与发展 2022年6期
关键词:卷积样本注意力

许 畅,王朝辉

(武汉科技大学 计算机科学与技术学院,湖北 武汉 430065)

0 引 言

有研究证明在尺度和通道维度方面增加注意力机制,能够有效地提高卷积网络的表达能力[1-2]。SE-net[3]对样本图像的所有通道做全局池化,将每一个通道的二维特征压缩为一个实数,该文认为这个实数具有单通道上全局的感受野,将这个通道向量经过两层全连接分析特征通道之间的相关性,得到代表每一个通道重要性程度的权重,这些权值可以让神经网络重点关注某些通道。Inception系列网络[4-5]在网络模型中加入了多尺度,它让并联的卷积层拥有不同的权重,这相当于在尺度层面上增加了注意力机制。

该文在像素级的空间层面运用了注意力机制,提出了一种对样本特征图进行处理的卷积网络分支(feature augment block,以下简写为FA-block),这种结构的输入来自样本图片的一张掩膜,通过学习掩膜前后景的数据分布模式,为特征图中的每一个像素训练得到一个得分值权重,以此将样本中的前后景区分开来,以突出特征图中的目标,让主干网络学习到更加健壮的特征表达。FA-block作为主干网络的分支,同样可以被梯度下降算法优化,可以实现端到端的训练。将目标检测模型Faster Rcnn[6]作为基线,数据集选择微软的MS COCO[7]数据集,在没有添加额外的数据增强手段和训练技巧的情况下,增添了FA-block的网络模型相较于基线取得了5.5%的准确率提升。

1 卷积神经网络概述

1.1 卷积神经网络用于特征提取

卷积神经网络具有表征学习的能力,它是当前深度学习领域最常用的特征提取方法之一。为了减少计算量、提高计算机资源的利用率,大多数卷积网络习惯使用3×3的卷积核作为特征提取器,这增加了卷积网络的非线性表达能力,同时也一定程度上增加了网络的层数[8]。VGGNets[9]和Inception家族证明了卷积网络越深,特征表达能力越好,但是样本数据经过太深层次的卷积可能导致数据失真。ResNets[10]提出了层间残差跳连,将底层的特征映射到上层特征图上,这使得深层神经网络成为可能。FA-block中多次用到1×1的卷积,1×1卷积在Network in Network[11]中被提到,后来也被应用在GoogLeNets的Inception结构中。在FA-block中,掩膜的数据分布是十分简单而干净的,经过1×1卷积之后的特征图获得了非线性特征,经过一次单层卷积,一次三层卷积之后,三层通道的信息得到交互和整合,具有极高性价比。

1.2 数据增强方法

数据增强是神经网络训练之前的预处理手段[12],很多常见的数据增强手段,例如翻转、旋转、缩放、位移、裁减等通过对原图像作简单变换来生成新的样本数据,通常用来弥补样本数量的不足,还有一些特殊的数据增强方法用于完成特定的任务要求。文献[13]针对小目标的识别,对数据集里的每一个小目标过采样,然后通过预先的复制、粘贴手段在原始图像上大量生成小目标,以此提高小目标的检测精度。PGAN[14]将生成对抗网络引入目标检测来生成具有超分辨率的图像,这使得模型能够学习到的特征数量大大提高。该文提出的FA-block也属于数据增强方法,但是它并不提高图像的数量和多样性,而更关注图像的质量,它在主干网络的基础上额外增添了一个网络分支用于强化样本中目标的特征,和传统的数据增强手段不同,它的优化过程是自主性的,网络分支上的权重可以被梯度下降算法优化并且可以实现端到端的训练。

1.3 注意力和门机制

生物的视觉系统倾向于倾注更多的注意力在重要目标上,通过借鉴这种生物学观点,注意力机制开始被用于计算机领域,在计算资源有限的情况下,注意力机制允许对更为重要的信息投入更多的算力,从而实现资源的高效利用[15]。相比于硬注意力,该文更加专注于软注意力,软注意力专注于空间区域或者是通道,它可以通过网络直接生成并且是可微的,这意味着它能通过神经网络计算出梯度,然后由反向传播来优化。Inception-net想要消除尺度对于识别结果的影响,它一次使用多个不同大小的过滤器来捕获特征,它让并联的多个卷积层拥有不同的权重大小,从而实现尺度维度的注意力机制。STN[16]认为之前的pooling方法太过暴力,直接将信息合并可能导致重要的信息被遗漏,于是提出了一种叫空间转换器的模块,这种模块是基于注意力机制实现的,训练出来的空间转换器能识别出图片中需要被关注的信息。通道维度的注意力机制也可以用于增强模型的鲁棒性,SE-net为每一个通道的特征图作最大池化,它认为最大池化之后获得的数值点具有全局的感受野,它通过两层全连接层来分析不同通道之间的关联性,最后为特征图的每一个通道分配一个权重。文献[17]不仅仅是对空间域或者通道域添加注意力,它提出的注意力mask可以看作是给每一个特征元素赋予一个权重,这就同时形成了空间和通道域的注意力机制。FA-net作为一个相对轻量级的空间门机制,它从掩膜的数据分布来训练得到样本空间域上的重要性程度,以此来削减背景噪声的印象,对目标倾注更多的关注。

2 特征增强模块

卷积神经网络学习的是数据的分布模式,一个直观的想法是如果一个滤波模板能够过滤掉样本中的背景杂质,进而突出样本中的目标,那么后续的神经网络层就能提取到更加健壮的目标特征,FA-block扮演的就是这种滤波模板的角色。FA-block是一种相对简单的结构,它由一个网络分支和添加到主干网络的几层1×1卷积组成,并不要求大量的参数或者权重,所以它能很方便地用于现有的许多网络结构中。

FA-block的结构如图1所示,它分成两个部分,上分支的输入是样本掩膜的特征图,经过两层卷积核大小为1×1的卷积,首先将通道压缩,然后重新拉伸,这个过程是为了交换掩膜通道间的信息,同时在保证尺度不变的情况下为特征图提供较大的非线性特性。下分支的输入是样本特征图,对它进行同样的1×1卷积,为其添加非线性特性。上分支的输出经过了两次ReLU激活函数,可以把它看作是对下分支特征图的每一个像素点给出的得分值,把这个得分值作为权重与下分支的输出作点乘运算,得到的FA-block的输出,认为这种结构区别了前景和后景,突出了代表目标的像素,FA-block的输出可以作为输入被喂入后续的神经网络层。

图1 特征增强模块

2.1 从样本掩膜中提取滤波模板

对于从实例掩膜输入的一张X∈RH×W×C特征图,通过Fconv变换将其转换为特征图UH×W×C',其中C'=C/t(t是一个超参数,一般默认它为3,超参数的选择在第3节有实验论证),Fconv指代一次卷积操作,V=[v1,v2,…,vc']代表的是卷积过程中会用到的c'个过滤器,计算过程表示如下:

(1)

(2)

1×1的卷积并不能提取特征图空间上隐含的信息,它的作用是整合通道上的信息并为掩膜的滤波模板提供更多的非线性表达,使其作为主干网络的权重能够更好的拟合。两层1×1卷积首先将通道数降维,然后再将通道升维成原本的维数,这样能够在不影响主干网络的情况下添加FA-block,因此滤波模板分支的输出可以被写作如下公式(σ代表ReLU激活函数):

Sc=Ftrans(X)=σ(fconv'(Uc))=

σ(fconv'(σfconv(X)))

(3)

2.2 为主干特征图赋予权重

为了保证数据分布的一致性,对主干网络的特征图同样进行两次1×1卷积来整合通道间的特征,然后将滤波模板的每一个像素点作为主干特征图的权重映射到特征图上,得到FA-block的输出:

(4)

3 实验结果与数据分析

本节设计了一系列的实验来证明FA-block对卷积网络表征能力的增强作用,本节在不同深度的主干网络上添加了FA-block模块,测试FA-block嵌入在网络不同的层数时的图像分类效果,将效果最好的嵌入方式用于目标检测数据集MS COCO做对比实验,确保FA-block在不同计算机视觉任务和数据集上的泛化能力,最后讨论了超参数t的选择。

3.1 FA-block嵌入不同层对比

FA-block不会对主干网络特征图的尺寸、通道数产生影响,所以它可以被添加到网络的任意位置来强化网络的特征提取。分别用ResNet-50、ResNet-101、ResNet-152作为横向对比的基线,将FA-net作为网络分支加入到基线的不同层数:底层(Conv1层)、中间层(Conv3_x层)、顶层(Conv5_x层)前面来测试模型准确率的提升。

FA-block中需要用到掩膜,所以实验选择在图像分类数据集PASCAL VOC2012 Augmented Dataset[18]上进行。该数据集由两个数据集合二为一制作而成:PASCAL VOC2012和Semantic Boundaries Dataset,数据集包含有10 582张图像用于训练,1 449张图像用于验证,1 456张图像用于测试,提供20种不同种类的物体用于分类。

实验中,分别将FA-block添加到三种不同基线的底部、中层和顶层。对于将FA-block嵌入Conv1层前,无需再对掩膜进行额外的操作,将掩膜的png格式数据转化为RGB三通道之后作为输入送入FA-block的滤波模型分支;Conv3_1要求输入是56×56×256的尺寸,掩膜输入到FA-block前需要通过卷积对其尺寸、通道数做调整,出于计算量的考虑,只对掩膜做单次Conv1和Conv2_1卷积;Conv5_1要求的输入是14×14×1 024的尺寸,于是对掩膜进行单次Conv1、Conv2_1、Conv3_1、Conv4_1卷积,然后送入到FA-block中。

三种基线和与之对应的FA-block改进版本均采用相同的优化策略,遵循了实践标准对样本进行224×224的随机裁减,随后进行随机水平翻转来增强数据,选择了momentum为0.9的同步SGD优化方法,每一个minibatch设置为128,学习率设置为0.01,基线和其对照网络的错误率变化趋势如图2所示。

图2 基线的不同层加入FA-block后的top-1 error变化趋势

表1显示的是三种不同嵌入方式下的top-1 error对比,对于三种不同深度的网络,在底层嵌入FA-block都取得了良好的效果,实际上,在Conv1层之前嵌入FA-block使得ResNet-50的top-1 error从24.7%减少到22.6%,相比于ResNet-101的23.5%的错误率更小,但是ResNet-101需要的计算量几乎是FA-ResNet-50的两倍。

表1 不同层加入FA-block后的 top-1 error对比 %

将FA-block嵌入到ResNet101和ResNet152的底层也降低了错误率,虽然不如FA-ResNet-50明显,但是它们也用极小的计算代价换取了相当可观的精确度提升,这证明FA-block这种数据增强结构抑制了图像中的噪声部分并增强了目标特征,帮助网络学习到了更关键性的特征。

注意到将FA-block插入到Conv3_x前和Conv5_x前的实验并没有取得理想的结果,嵌入到Conv3_x前相较原始版本准确率有些微的下降,嵌入到Conv5_x下降幅度则更大,猜测这是因为掩膜的数据分布经过多层卷积的尺寸、维度调整,它的数据分布模式和原始数据的特征图出现了较大的偏差,因此不能有效地对样本特征图的特征增强做出指导,想要缓解这种偏差可以让掩膜和样本做相同的卷积变换,但是这样大量增加了网络的计算量,并不是一种性价比高的、值得用于实践的方法。

3.2 将FA-block用于MS COCO目标检测

为了更进一步地验证FA-block的有效性,将这种结构用于目标检测的权威数据集MS COCO来确认精准度的提升。MS COCO数据集是微软于2014年出资开发和维护的大型图像数据集,和PASCAL VOC数据集相比,COCO数据集中的图片包含了自然图片以及生活中常见的目标图片,背景更加复杂,单张图片中目标的数量更多,目标的尺寸更小,因此MS COCO数据集上的目标检测任务更难。对于检测任务来说,衡量一个模型的好坏更加倾向于使用MS COCO数据集上的检测结果,使用的MS COCO数据集包含有80k的训练数据,35k的验证数据和5k的测试数据。

实验中用到了文献[6]中经典的目标检测模型Faster rcnn,其中使用不同层数的ResNet作为模型的backbone,实验中要做的就是用对应的FA-ResNet替换原始的ResNet,这样就能通过模型准确率的变化知道FA-block在检测模型中发挥的作用。在训练过程中使用文献[6]中的设置学习超参数的方法,训练周期相较文献[6]来说要短,使用基础学习率0.01在四块GPU上迭代了2.1k次,使用SGD作为优化方法,momentum设置为0.9,权重衰减为0.000 1,训练时分别在0.5k、1.5k的时候将学习率下降0.1倍。权重由ImageNet的预训练模型初始化,其他参数都参照Faster Rcnn的baseline进行设置。

实验结果如表2所示。

表2 不同层数的FA-ResNet和相应基线的 目标检测指标对比 %

FA-ResNet-50相较于其基线ResNet-50在MS COCO上提升了2.1%的标准AP指标(达到5.5%的相对精进),并且在AP@IoU=0.5上提升了3.0%,已经超过了ResNet-101在AP上的59.9%和AP@IoU=0.5上的39.6%。FA-ResNet-101和FA-ResNet-152在AP上也分别取得了1.7%和1.5%的提升。总而言之,这一系列的实验证明了FA-block在目标检测领域也能起到正向的收益,对于提高模型的表达能力而言确实是一种行之有效并且极具性价比的方法。

3.3 超参数t的选择对FA-block效果的影响

第2节中提到的通道削减倍率t是一个超参数,t设置不同的数值,FA-block的表征能力和计算量都会不同,从众多备选方案中找到一个合适的值能让模型在准确率和计算量的增加之间达到一个平衡。采取不同的t值在ResNet-50上设计了实验,数据集采用的是PASCAL VOC2012 Augmented Dataset,超参数的设置和第3.1节中相同,实验结果如表3所示。

表3 超参数t的不同取值对模型 准确率和参数量的影响

随着通道削减倍率t的增加,FA-block附加的计算量也在减小,模型的准确率增加,t的取值达到3以后在准确率和计算量之间达到了相对的平衡。然而在实际的使用中,超参数t的选择必须根据自身模型的实际情况做出取舍,该文给出的是FA-block运用于ResNet时候的参考。

4 结束语

传统的卷积神经网络对样本图像的特征进行笼统的提取,没有明确区分图像的前后景,这就导致高频的背景噪音对模型的拟合产生影响,降低了神经网络的准确率。因此,提出了FA-block,一种基于空间注意力的神经网络分支用作样本特征图的滤波模板,旨在突出特征图中的目标特征,适当抑制特征图中的背景噪声,使得卷积网络能够提取到更能代表目标特征分布模式的、更具表现力的模型。通过不同数据集上的实验证明了FA-block结构确实能够在图像分类和目标检测任务中以极低的计算代价提高模型的表达能力,希望这种结构也能在更复杂、对模型表现力要求更高的任务中发挥作用。

猜你喜欢
卷积样本注意力
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
让注意力“飞”回来
基于深度卷积网络与空洞卷积融合的人群计数
卷积神经网络概述
直击高考中的用样本估计总体
随机微分方程的样本Lyapunov二次型估计
A Beautiful Way Of Looking At Things
基于支持向量机的测厚仪CS值电压漂移故障判定及处理
七年级数学下册期末检测题(B)