https://arxiv.org/ftp/arxiv/papers/2305/2305.13563.pdf
在各种计算机视觉任务中,通道或空间注意力机制在产生更清晰的特征表示方面的显著有效性得到了证明。然而,通过通道降维来建模跨通道关系可能会给提取深度视觉表示带来副作用。提出了一种新的高效的多尺度注意力(EMA)模块。以保留每个通道上的信息和降低计算开销为目标,将部分通道重塑为批量维度,并将通道维度分组为多个子特征,使空间语义特征在每个特征组中均匀分布。具体来说,除了对全局信息进行编码以重新校准每个并行分支中的通道权重外,还通过跨维度交互进一步聚合两个并行分支的输出特征,以捕获像素级成对关系。对图像分类和目标检测任务进行了广泛的消融研究和实验,使用流行的基准(如CIFAR-100、ImageNet-1k、MS COCO和VisDrone2019)来评估其性能。代码可以在https://github.com/YOLOonMe/EMAattention-module上找到。
随着深度卷积神经网络(Convolutional Neural Networks, CNNs)的发展,其网络拓扑结构在图像分类和目标检测等领域得到了广泛应用。当我们将cnn扩展到多个卷积层时,它表现出增强学习到的特征表示的显著能力。然而,它会导致堆叠更多的深度卷积对象,需要消耗大量的内存和计算资源,这是构建深度cnn[1],[2]的主要缺点。作为一种替代方法,注意力机制方法由于其灵活的结构特性,不仅加强了对更有判别力的特征表示的学习,而且可以很容易地插入到cnn的主干架构中。因此,注意力机制引起了计算机视觉研究领域的广泛关注。
目前已经提出的注意力机制主要有三种类型,如通道注意力、空间注意力以及两者兼有。作为代表性的通道注意力,Squeeze-and-excitation (SE)显式地对跨维度交互进行建模,以提取通道注意力[3]。卷积块注意力模块(CBAM)[4]利用特征图中空间维度和通道维度之间的语义相互依赖关系建立跨通道跨空间信息。因此,CBAM在将交叉维度注意力权重集成到输入特征中显示出了巨大的潜力。然而,池化操作的手动设计涉及复杂的处理,会带来一些计算开销。为了克服计算成本限制的缺点,[5]提出了一种长期存在且有效的方法,即利用特征分组的方法对不同资源上的特征进行分组。显然,它可以使每组特征在空间中均匀分布。在此基础上,空间分组增强(Spatial group-wise enhanced, SGE)注意力机制[6]将通道维度分组为多个子特征,改善了不同语义子特征表示的空间分布,取得了优异的性能。
处理模型复杂度的最有效方法之一是使用通道降维的卷积[7]。与SE注意力相比,坐标注意力(CA)[8]沿着空间维度方向将方向特定信息嵌入到通道注意力中,并选择合适的通道降维比例,达到与SE注意力相当的性能。相反,与粗粒度CV任务相比,这种现象可能是像素回归中通过降维来减轻计算负担的最常见问题。受估计高度非线性像素语义的思想启发,极化自注意力(PSA)[9]沿着对应通道维度完全折叠输入特征图,并保留高光谱分辨率。PSA在较小的降率下,表现出了较大的性能改善潜力。尽管适当的通道降维比例可以获得更好的性能,但在提取深度视觉表示时可能会带来副作用,探索了高效通道注意力(ECA)模型[10]在不降维的情况下的效率。
大的层深度在提高CNN的表示能力方面起着重要的作用。然而,它不可避免地导致更多的顺序处理和更高的延迟[11],[12]。与线性序列描述的大深度注意力不同,Triplet attention (TA)[13]提出了一种三元组并行分支结构来捕获跨维度交互。利用并行子结构,Shuffle attention (SA)[14]将通道维度划分为多个子特征并并行求解,可高效地在多个处理器上并行处理。此外,Parallel networks (ParNet)[15]构建了并行子网络,在保持小深度和低延迟的同时提高了特征提取的效率。
从上述注意力机制中得到启发,可以看出跨维度的交互作用有助于通道或空间注意力预测。基于分组结构,修正了CA的顺序处理方法,提出了一种新的无需降维的高效多尺度注意力(efficient multi-scale attention, EMA)。请注意,这里只有两个卷积核将分别放置在并行子网络中。其中一个并行子网络是一个1x1卷积核,以与CA相同的方式处理,另一个是一个3x3卷积核。为了证明所提出的EMA的通用性,详细的实验在第4节中给出,包括在CIFAR-100、ImageNet-1k、COCO和VisDrone2019基准上的结果。图1给出了图像分类和目标检测任务的实验结果。我们的主要贡献如下:
特征分组。以往的文献对特征分组进行了广泛的研究。为了缓解计算机计算预算的限制,AlexNet指出分组卷积有利于将模型分布在两组以上,在更多的GPU资源[19]上。随着特征分组数量的增加,ResNeXt已被证明子特征的激活会受到不同模式和噪声背景[20]的空间影响。Res2Net被假定为一种分层模式来传输分组的子特征,使cnn能够表示多个尺度的特征[21]。针对特征分组结构,SGE利用了整个组空间的整体信息,既加强了语义区域的特征学习,又压缩了噪声,但未能对空间注意力和通道注意力的相关性进行建模。为了强调同时考虑通道和空间注意力特征的有意义表示能力,SA将通道维度划分为多个组,并通过平均分布的方法将这些组引入两个平行分支。因此,这两个分支可以分别建模空间注意力信息和通道注意力信息之间的相关性。然而,只考虑部分通道,以利用通道之间的相互关系,并通过融合空间信息和通道信息来构建信息特征。
Multi-stream网络。考虑到堆叠一层又一层增加了网络的深度,以学习越来越抽象的特征。作为一种细粒度的注意力机制,PSA利用并行结构对长程依赖关系进行建模,以实现高质量的像素级回归任务,并取得了显著的效果。并行子结构虽然增强了视觉表达能力,但也带来了大量额外的参数和计算量,不太适合实际应用。与此相对应,三元注意力将交叉通道和空间信息与旋转操作混合到三个并行分支中,以学习日益抽象的特征。然而,通过简单平均的方式直接聚合捕获的注意力权重,不利于提升深度特征的可区分性。
多尺度卷积。不同的核大小可以使cnn在同一处理阶段收集多尺度的空间信息。为了丰富特征空间,Inception[22]呈现多分支结构,其中每个分支的局部感受野不固定。因此,聚合方法使cnn能够聚合来自不同分支的多尺度信息。[23]采用自适应选择策略,实现神经元感受野大小的自适应,从而有效丰富特征表示。此外,EPSANet[24]将3x3卷积替换为多尺度金字塔结构,以局部方式对跨通道交互进行建模,并独立学习多尺度空间信息。
与上述注意力模块相比,提出的多尺度注意力模块表现出了更好的性能提升。与上述注意力方法通过简单平均方法聚合学习到的注意力权重不同,本文通过跨空间学习方法融合并行子网络的注意力图。利用矩阵点积运算捕获像素级成对关系,突出所有像素[25]、[26]的全局上下文。
在本节中,首先重新审视坐标注意力块,其中位置信息被嵌入到通道注意力图中,以混合跨通道和空间信息。开发和分析所提出的EMA模块,其中并行子网络块有助于有效捕获跨维度交互并建立维度间依赖关系。
如图3 (a)所示,CA块首先可以被视为与SE注意力模块类似的方法,其中利用全局平均池化操作对跨通道信息进行建模。通常,可以通过使用全局平均池化来生成信道统计信息,其中全局空间位置信息被压缩到信道描述符中。与SE微妙不同的是,CA将空间位置信息嵌入通道注意图以增强特征聚合。
请注意,CA将原始输入张量分解为两个并行的1D特征编码向量,以用空间位置信息对跨通道依赖关系进行建模。首先,其中一条平行路径直接来自水平维度方向的一维全局平均池化,因此可以看作是垂直维度方向[8]位置信息的集合;设原始输入张量 X ∈ R C × H × W X \in \mathbb{R}^{C \times H \times W} X∈RC×H×W表示中间特征映射,其中C表示输入通道的数量,H和W分别表示输入特征的空间维度。因此,在高度H处编码沿水平维度C方向的全局信息的一维全局平均池化可以表示为
z c H ( H ) = 1 W ∑ 0 ≤ i ≤ W x c ( H , i ) (1) z_{c}^{H}(H)=\frac{1}{W} \sum_{0 \leq i \leq W} x_{c}(H, i) \tag{1} zcH(H)=W10≤i≤W∑xc(H,i)(1)
其中 x c x_c xc表示第c个通道的输入特征。通过这种编码过程,CA捕获了水平维度方向上的长程依赖关系,并保留了垂直维度方向上的精确位置信息。类似地,另一条路径直接来自水平维度方向的一维全局平均池化,因此可以视为垂直维度方向的位置信息集合。该路线利用垂直维度方向的一维全局平均池化,在空间上捕捉长程依赖关系,并保留水平维度方向的精确位置信息,加强对空间感兴趣区域的关注。C中宽度为W的池化输出可以表示为
z c W ( W ) = 1 H ∑ 0 ≤ j ≤ H x c ( j , W ) (2) z_{c}^{W}(W)=\frac{1}{H} \sum_{0 \leq j \leq H} x_{c}(j, W) \tag{2} zcW(W)=H10≤j≤H∑xc(j,W)(2)
其中 x c x_c xc表示第c个通道的输入特征。接下来,输入特征可以编码全局特征信息,并分别辅助模型捕获两个空间方向上的全局信息,这两个方向是在卷积缺失的情况下。此外,它生成两个并行1D特征编码向量,然后在跨卷积层连接两个并行1D特征编码向量之前,将一个向量置换为另一个向量形状。这两个并行的1D特征编码向量将共享一个降维的1x1卷积。1x1内核使模型能够捕获局部跨通道交互,并与通道卷积共享相似性。然后,CA进一步将1x1卷积核的输出分解为两个并行的1D特征编码向量,并在每个并行路径上分别堆叠一个1x1卷积卷积和一个非线性Sigmoid函数。最后,利用学习到的两条平行路径的注意力图权重聚合原始中间特征图作为最终输出。因此,CA不仅保留了精确的位置信息,而且通过编码通道间和空间信息有效地利用了长程依赖关系。
不言而喻,CA将精确的位置信息嵌入到通道中,并在空间上捕捉长程相互作用,实现了令人印象深刻的性能。设计了两个一维全局平均池化,分别编码两个空间维度方向上的全局信息和捕获不同维度方向上的长程相互作用。然而,它忽略了整个空间位置之间相互作用的重要性。此外,1x1核卷积有限的感受野不利地阻碍了对局部跨通道交互的建模和对上下文信息的利用。
并行子结构帮助网络避免更多的顺序处理和大深度。给定上述并行处理策略,我们在EMA模块中采用它。EMA的整体结构如图3 (b)所示。在本节中,我们将讨论EMA如何在卷积操作中不进行通道降维的情况下学习有效的通道描述,并为高级特征图产生更好的像素级注意力。具体来说,我们只从CA模块中挑选出1x1卷积的共享组件,在我们的EMA中将其命名为1x1分支。为了聚合多尺度空间结构信息,将3x3内核与1x1分支并行放置以实现快速响应,我们将其命名为3x3分支。考虑到特征分组和多尺度结构,有效地建立短期和长程依赖有利于获得更好的性能。
特征分组。对于任何给定的输入特征映射 X ∈ R C × H × W X \in \mathbb{R}^{C \times H \times W} X∈RC×H×W,EMA将跨通道维度方向将X划分为G个子特征,用于学习不同的语义,其中组风格可以由 X = [ X 0 , X i , … , X G − 1 ] , X i ∈ R C / / G × H × W X=\left[X_{0}, X_{i}, \ldots, X_{G-1}\right], X_{i} \in \mathbb{R}^{C / / G \times H \times W} X=[X0,Xi,…,XG−1],Xi∈RC//G×H×W。在不损失一般性的前提下,我们取 G ≪ C G \ll C G≪C,并假设学习到的注意力权重描述符将用于增强每个子特征中感兴趣区域的特征表示。
并行子网。神经元巨大的局部感受野使神经元能够收集多尺度的空间信息。因此,EMA通过三条平行路线来提取分组特征图的注意力权重描述符。两条平行路径在1x1分支上,第三条路径在3x3分支上。为了捕获所有通道之间的依赖关系并减轻计算预算,我们在通道方向上对跨通道信息交互进行了建模。更具体地说,在1x1分支中分别沿两个空间方向对通道进行编码采用了两个1D全局平均池化操作,在3x3分支中仅堆叠一个3x3内核以捕获多尺度特征表示。
考虑到正常卷积的卷积函数维数中没有批系数,卷积核的数量与前向操作输入的批系数无关。例如,Pytorch中法向二维卷积核的参数维数为 [ o u p , i n p , k , k ] [ oup,inp, k, k] [oup,inp,k,k],其中不涉及批处理维数,其中oup表示输入的输出平面,inp表示输入特征的输入平面,k表示核大小。据此,我们将G群重塑并置换为批维,并重新定义形状为 C / / G × H × W C / / G \times H \times W C//G×H×W的输入张量。一方面,采用与CA相似的处理方法,我们将两个编码特征沿图像高度方向连接起来,使其共享相同的1x1卷积,而不降低1x1分支的维数。将1x1卷积的输出分解为两个向量后,利用两个非线性Sigmoid函数拟合线性卷积后的二维二项分布。为了在1x1分支的两条平行路径之间实现不同的跨通道交互特征,我们通过简单的乘法将每个组内的两个通道智能注意力图聚合在一起。另一方面,3x3分支通过3x3卷积捕获局部跨通道交互以扩大特征空间。这样,EMA不仅对信道间信息进行编码以调整不同信道的重要性,而且将精确的空间结构信息保留到信道中。
Cross-spatial学习。得益于通道和空间位置之间建立相互依赖关系的能力,近年来在各种计算机视觉任务中得到了广泛的研究和应用[27],[28]。在PSA中,它耗尽了仅通道分支和仅空间分支的表示能力,并在注意学习中保持最高的内部分辨率来解决语义分割问题。受此启发,我们提出了一种不同空间维度方向的跨空间信息聚合方法,以实现更丰富的特征聚合。注意这里,我们仍然引入了两个张量其中一个是1x1分支的输出另一个是3x3分支的输出。然后,我们利用二维全局平均池化对1x1支路的输出进行全局空间信息编码,在通道特征联合激活机制前,将最小支路的输出直接转化为对应的维度形状,即 R 1 1 × C / / G × R 3 C / / G × H W \quad \mathbb{R}_{1}^{1 \times C / / G} \times \mathbb{R}_{3}^{C / / G \times H W} R11×C//G×R3C//G×HW[9]。2D全局池化操作公式为
z c = 1 H × W ∑ j H ∑ i W x c ( i , j ) (3) z_{c}=\frac{1}{H \times W} \sum_{j}^{H} \sum_{i}^{W} x_{c}(i, j) \tag{3} zc=H×W1j∑Hi∑Wxc(i,j)(3)
它是为全局信息的编码和远程依赖关系的建模而设计的。为了提高计算效率,在二维全局平均池化的输出处采用二维高斯映射的自然非线性函数Softmax来拟合以上的线性变换。通过将上述并行处理的输出与矩阵点积运算相乘,我们得到了第一个空间注意力图。为了观察这一点,它在同一处理阶段收集了不同尺度的空间信息。此外,我们同样利用二维全局平均池化在3x3分支编码全局空间信息,1x1分支在通道特征联合激活机制前直接转换为相应的维度形状,即, R 3 1 × C / / G × R 1 C / / G × H W \mathbb{R}_{3}^{1 \times C / / G} \times \mathbb{R}_{1}^{C / / G \times H W} R31×C//G×R1C//G×HW。在此基础上,导出了保留整个精确空间位置信息的第二空间注意图。最后,将每组内的输出特征映射计算为生成的两个空间注意力权重值的集合,然后使用Sigmoid函数。它捕获像素级的成对关系,并突出显示所有像素的全局上下文。EMA的最终输出与X的大小相同,这对于堆叠到现代架构中是有效的。
如上所述,我们可以知道,注意力因素仅受每个组中全局和局部特征描述符之间的相似性的指导。考虑到跨空间信息聚合方法,在建模远程依赖关系的同时,将精确的位置信息嵌入到EMA中。融合不同尺度的上下文信息使cnn能够对高级特征图产生更好的像素级关注。随后,通过使用跨空间学习方法,卷积核的并行化似乎是处理短期和长期依赖关系的更强大的结构。与有限接受域形成的渐进式行为相反,并行使用3x3和1x1卷积可以在中间特征中利用更多的上下文信息。
在本节中,我们提供了实验和结果的细节,以证明所提出的EMA的性能和效率。在具有挑战性的计算机视觉任务上进行了实验,如在CIFAR-100和ImageNet-1k上的分类,以及在MS COCO和VisDrone2019数据集上的目标检测。为了验证该算法的有效性,将EMA分别集成到ResNet50/101和MobileNetV2[29]等标准网络架构中。我们的目标检测代码实现是基于Ultralytics的Pytorch YOLOv5s (v6.0)存储库。对于CIFAR100和ImageNet-1k数据集上的图像分类任务,在NAM和CA中使用完全相同的数据增强和训练配置设置进行实验,以进行公平的比较。我们建议的EMA模块中G组的数量设置为32。所有实验都运行在配备了两个RTX 2080Ti gpu和Intel® Xeon Silver 4112 [email protected]的PC上。
在CIFAR-100数据集上研究了所提出的EMA,其集包括32x32像素的图像,由来自100个类别的图像组成。训练集由50k张图像组成,验证集由10k张图像组成。采用动量为0.9的随机梯度下降(SGD)和4e-5的权重衰减。批量大小默认为128。所有比较方法的网络都经过了200次训练,以进行公平的比较。训练后,我们使用标准的CIFAR Top-1和Top-5精度指标来评估网络的性能。
如表1所示,在ResNet50/101的基线上比较了其他几种注意力机制,结果表明,集成EMA可以在相对较小的模型复杂度(即网络参数和每秒浮点运算次数(FLOPs))下获得非常可比较的性能。与ResNet50标准基线相比,EMA在Top-1准确率上提高了3.43%,在Top-5准确率上具有1.96%的优势。在计算复杂度基本相同的情况下,EMA比CA提高了0.52%的Top1准确率。此外,采用ResNet101作为基准模型,对EMA和CA进行了比较。结果表明,EMA比CA具有更少的参数(42.96M vs 46.22M)和更低的计算量。值得注意的是,随着网络架构的深入,CA的Top-1平均准确率的增益从ResNet50的80.17%略有下降到ResNet101的80.01%。
在ImageNet-1k上以MobileNetv2为基准模型,将EMA与其他基于注意力的方法进行了比较,ImageNet-1k是一个广泛使用的大规模图像分类基准。ImageNet-1K数据集由近128万个训练图像和50万个1000类的验证图像组成。在训练期间,所有图像的分辨率都被调整为224x224。我们选择了在验证图像上具有最佳Top-1精度和Top-5精度性能的模型。SGD优化器的学习率为0.4,动量为0.9,权重衰减为1e5,线性预热学习率为1e-6。按照通常的做法,我们对MobileNetv2进行了400次训练,批处理大小为256。为了减少训练过程中的随机噪声,我们使用指数移动平均法。
如表3所示,EMA模型优于所有其他基于注意力的模型,具有类似的FLOPs或乘法加法。MobileNetv2模型的基线在300M乘法加法下达到了72.3%的ImageNet Top-1验证精度和91.02%的Top-5验证精度。将SE模块集成到MobileNetv2后,Top-1验证准确率进一步提高到73.5%。此外,使用CBAM模块的MobileNetv2网络较基线模型显著提高了1.3%的Top-1验证精度性能。与基线相比,所提出的EMA模型以306M的乘法加法实现了74.4%的精度。实验结果表明,CA模型的参数为3.95M,而提出的EMA模型参数仅为3.55M,比CA模型的参数要小。
为了证明所提出方法在目标检测方面的优势,在COCO数据集上研究了EMA,其训练集由118k图像和原始设置要求的固定大小的输入组成,如将图像大小调整为统一的尺寸640×640。在一个RTX 2080Ti gpu上,epoch和batch size分别设置为300和50。随后,我们提供了几种注意力机制,0.5到0.95)。为了进一步验证所提方法的有效性,在标准Yolov5s主干中实现了所有其他注意力策略,并在Yolov5s主干中实现了相同的默认设置模块,均明显提高了目标检测的性能。与CBAM、SA和ECA模型相比,EMA和CA获得的mAP(0.5)略好于CA。此外,可以看到EMA的模型尺寸为7.24M,仅比YOLOv5s、ECA和SA模型的基线(7.24M vs . 7.23M)稍大0.01M。虽然EMA的FLOPs为16.53M,仅比基线YOLOv5s大0.03M,但EMA在所有80个类别上的mAP(0.5)达到了57.8%,mAP(0.5:0.95)达到了38.4%,明显高于其他注意力策略。总的来说,模型大小适合部署在移动终端上,具有实际应用意义。
针对多尺度特征融合的密集目标检测,在YOLOv5x (v6.0)[30]的基础上增加了微小目标检测头,并将EMA集成到预测分支中,以实现利用自注意力机制挖掘预测潜力的目的。在实验过程中,我们将输入图像的大小设置为640×640,并使用了yolov5x的部分预训练模型,以节省大量的训练时间。VisDrone2019训练集上的所有注意力模型都训练了300个epoch, batch大小设置为5。实验在完全相同的数据增强和训练配置设置下进行。
使用YOLOv5x作为骨干CNN在VisDrone数据集上进行目标检测,其中CA, CBAM和EMA注意力分别集成到检测器中。从表2的结果可以看出,CA, CBAM和EMA都可以提高目标检测的基线性能。可以看到,所提出的EMA模块在mAP(0.5)和mAP(0.5:0.95)方面始终优于基本的CA和CBAM网络。值得注意的是,CBAM将YOLOv5x的性能提升了0.11%,高于CA,但代价是参数和计算量更多。对于CA,它获得了与基线几乎相同的性能,并在mAP(0.5)方面超过YOLOv5x 0.01%,同时CA获得了比EMA更高的参数和计算量(91.28M vs . 91.18M和315.2M vs . 315.0M)。具体而言,EMA比基线方法增加了0.22M的参数,在参数略高的情况下,比YOLOv5x在mAP(0.5)上提升了0.31%,在mAP(0.5:0.95)上提升了0.4%。这些结果表明,EMA是一种有效的目标检测模块,进一步证明了EMA方法的有效性。
选择ResNet50作为基线网络,通过消融实验观察不同超参数(如EMA_no(即不进行跨空间学习)、EMA_16(即组大小设置为16)和EMA_32(即组大小设置为32)对EMA的影响,验证了跨空间学习方法的重要性。与EMA_32相比,将group size设置为16会导致相对较高的FLOPs和网络参数。这主要是由于将通道维度重塑为减少模型参数的批量维度。EMA能够在更多的批处理维度上调用将模型分布在多个通道上并处理它们。此外,我们还通过跨空间学习方法进行消融研究,另一个关闭。从表4来看,采用跨空间学习方法的EMA_32方案优于EMA_no方案。对于相似的FLOPs和网络参数,EMA_32的Top-1和Top-5率要高得多,分别为80.69%和95.59%。
本文系统地研究了注意力机制的性质,提出了一种将它们结合到cnn中的原则性方法。本文对cnn如何通过使用通用方法来享受良好的泛化和计算预算提出了新的见解,该方法通过通用卷积避免某种形式的降维。由于灵活和轻量化的特点,所提出的EMA可以很容易地利用到不同的计算机视觉任务中,以实现最佳性能。EMA更适用于语义分割等更广泛的应用,并可以堆叠到其他深度cnn结构中,以显著增强特征表示能力。我们将把它们留给以后的工作。