BAM: Bottleneck Attention Module——瓶颈注意力模块

Yolo-v5

Yolo-v5

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

这篇文章提出了一种名为瓶颈注意力模块(Bottleneck Attention Module, BAM)的新型注意力机制,旨在增强深度神经网络的表示能力。BAM通过两个独立的路径(通道注意力空间注意力)生成3D注意力图,并将其应用于网络的瓶颈处,以自适应地精炼特征。BAM的设计轻量且高效,能够与现有的卷积神经网络(CNN)架构无缝集成。

文章的主要贡献包括:

  1. 提出BAM模块:BAM通过通道和空间注意力分支生成注意力图,能够有效提升网络的表示能力。

  2. 广泛的实验验证:作者在多个基准数据集(如CIFAR-100、ImageNet-1K、VOC 2007和MS COCO)上进行了大量实验,验证了BAM在分类和检测任务中的有效性。

  3. 轻量级设计:BAM的参数和计算开销非常小,适用于资源受限的环境,如移动设备。

实验结果表明,BAM能够显著提升各种基线模型的性能,尤其是在分类和目标检测任务中。此外,BAM的层次化注意力机制与人类视觉系统的感知过程相似,进一步证明了其有效性。

BAM是一种简单、高效且通用的注意力模块,能够显著提升深度神经网络的性能,适用于多种视觉任务。这里是自己的论文阅读记录,感兴趣的话可以参考一下,如果需要阅读原文的话可以看这里,如下所示:

摘要

近年来,深度神经网络的进展主要通过架构搜索来增强其表示能力。在本研究中,我们关注注意力在一般深度神经网络中的作用。我们提出了一个简单而有效的注意力模块,称为瓶颈注意力模块(BAM),它可以与任何前馈卷积神经网络集成。我们的模块通过两个独立的路径(通道空间)推断出一个注意力图。我们将该模块放置在模型中进行下采样的每个瓶颈处。我们的模块在瓶颈处构建了一个层次化的注意力机制,参数量较少,并且可以与任何前馈模型联合进行端到端的训练。我们通过在CIFAR-100、ImageNet-1K、VOC 2007和MS COCO基准上的大量实验验证了BAM的有效性。实验表明,BAM在各种模型中的分类和检测性能均得到了提升,证明了BAM的广泛适用性。代码和模型将公开发布1。

1 引言

深度学习已成为一系列模式识别应用(包括分类、检测、分割和控制问题)的强大工具。由于其数据驱动的特性和大规模并行计算的可用性,深度神经网络在大多数领域都取得了最先进的结果。研究人员通过设计优化器[28, 48]、提出对抗训练方案[11]或任务特定的元架构(如用于检测的两阶段架构[37])等多种方式努力提高性能。

提升性能的一个基本方法是设计一个好的骨干架构。自从第一个大规模深度神经网络AlexNet[30]以来,各种骨干架构如VGGNet[40]、GoogLeNet[41]、ResNet[16]、DenseNet[20]等相继被提出。所有骨干架构都有其独特的设计选择,并在前代架构的基础上表现出显著的性能提升。

最直观的提升网络性能的方法是堆叠更多的层。深度神经网络能够通过其深层来近似高维函数。VGGNet[40]和ResNet[15]的设计理念正是如此。与AlexNet[30]相比,VGGNet的层数增加了一倍。此外,ResNet通过采用残差连接,层数比VGGNet多22倍,并改善了梯度流动。GoogLeNet[41]同样非常深,它在每个卷积块中使用不同滤波器大小的特征拼接。在同一层使用多样化特征显示出性能的提升,从而产生强大的表示能力。DenseNet[20]也使用多样化特征图的拼接,但这些特征来自不同的层。换句话说,卷积层的输出在输入特征图上迭代拼接。WideResNet[47]表明,使用更多的通道(更宽的卷积)可以比简单地加深网络获得更高的性能。类似地,PyramidNet[13]表明,在更深层增加通道数可以有效提升性能。最近使用分组卷积的方法,如ResNeXt[43]或Xception[7],作为骨干架构展示了最先进的性能。ResNeXt和Xception的成功来自于具有更高基数的卷积,能够有效地实现高性能。此外,一个实际的研究方向是寻找面向移动设备的计算高效架构。MobileNet[18]与ResNeXt和Xception的理念相似,使用具有高基数的深度卷积

除了上述方法外,我们研究了注意力在深度神经网络中的作用,并提出了一种简单、轻量级的模块,适用于一般的深度神经网络。也就是说,所提出的模块设计为易于与现有的CNN架构集成。深度神经网络中的注意力机制已在许多先前的工作中进行了研究[2, 3, 12, 25, 35, 44]。虽然大多数先前的工作将注意力用于特定任务的目的,但我们明确研究了将注意力作为一种以极其高效的方式提升网络表示能力的方法。因此,我们提出了“瓶颈注意力模块”(BAM),这是一个简单且高效的注意力模块,可用于任何CNN。给定一个3D特征图,BAM生成一个3D注意力图以强调重要元素。在BAM中,我们将推断3D注意力图的过程分解为两个流(图2),从而显著减少了计算和参数开销。由于特征图的通道可以被视为特征检测器,两个分支(空间和通道)明确学习“什么”和“在哪里”进行关注。

我们通过在各种任务中使用各种基线架构测试了BAM的有效性。在CIFAR-100和ImageNet分类任务中,我们观察到通过放置BAM,基线网络的性能得到了提升。有趣的是,我们观察到位于不同瓶颈处的多个BAM构建了一个层次化的注意力机制,如图1所示。最后,我们在VOC 2007和MS COCO数据集上验证了目标检测的性能提升,证明了BAM的广泛适用性。由于我们精心设计了轻量级的模块,参数和计算开销可以忽略不计。

贡献。 我们的主要贡献有三点。

  1. 我们提出了一个简单而有效的注意力模块BAM,它可以与任何CNN集成,无需额外的复杂操作。

  2. 我们通过广泛的消融研究验证了BAM的设计。

  3. 我们在多个基准(CIFAR-100、ImageNet-1K、VOC 2007和MS COCO)上使用各种基线架构进行了广泛的实验,验证了BAM的有效性。

2 相关工作

许多研究[8, 24, 38]表明,注意力在人类感知中起着重要作用。例如,人类眼睛中央凹的分辨率高于周围区域[17]。为了高效且自适应地处理视觉信息,人类视觉系统迭代处理空间片段并聚焦于显著区域[31]。

跨模态注意力。 注意力机制是多模态设置中广泛使用的技术,特别是在某些模态需要根据其他模态进行处理的情况下。视觉问答(VQA)任务是此类任务的一个典型例子。给定一张图像和自然语言问题,任务是预测答案,例如计数、推断目标的位置或属性。VQA任务可以看作是一组动态变化的任务,其中提供的图像需要根据给定问题进行处理。注意力机制软选择与任务(问题)相关的图像特征。如[45]所建议的,图像特征的注意力图从给定问题中生成,并作为查询来检索与问题相关的特征。最终答案通过堆叠的图像特征进行分类。另一种方法是使用双向推断,为文本和图像生成注意力图,如[36]所建议的。在这些文献中,注意力图被用作以条件方式解决任务的有效方法,但它们是在单独阶段为特定任务目的进行训练的。

自注意力。 有多种方法将注意力集成到深度神经网络中,联合训练特征提取和注意力生成,以端到端的方式进行。一些尝试[19, 42]将注意力视为一般分类任务的有效解决方案。Wang等人提出了残差注意力网络,该网络使用沙漏模块为中间特征生成3D注意力图。尽管该架构由于生成的注意力图而对噪声标签具有鲁棒性,但由于繁重的3D图生成过程,计算/参数开销较大。Hu等人提出了一个紧凑的“挤压-激励”模块,以利用通道间的关系。尽管论文中没有明确说明,但可以将其视为应用于通道轴的注意力机制。然而,他们忽略了空间轴,这也是推断准确注意力图的重要因素。

自适应模块。 一些先前的工作使用自适应模块,这些模块根据输入动态改变其输出。动态滤波器网络[27]提出基于输入特征生成卷积特征以实现灵活性。空间变换网络[26]自适应地生成仿射变换的超参数,使用输入特征使目标区域特征图最终对齐。这可以看作是对特征图的硬注意力。可变形卷积网络[9]使用可变形卷积,其中池化偏移量从输入特征中动态生成,以便仅对相关特征进行池化以进行卷积。与上述方法类似,BAM也是一个自包含的自适应模块,通过注意力机制动态抑制或强调特征图。

在本工作中,我们通过简单且轻量级的设计同时利用了通道和空间轴的注意力。此外,我们找到了放置模块的有效位置——网络的瓶颈

3 瓶颈注意力模块

4 实验

我们在标准基准上评估BAM:CIFAR-100、ImageNet-1K用于图像分类,VOC 2007、MS COCO用于目标检测。为了更好地进行苹果对苹果的比较,我们首先在PyTorch框架[1]中复现了所有网络的报告性能,并将其作为我们的基线[15, 20, 43, 47]。然后我们进行了广泛的实验,以全面评估我们最终模块的有效性。最后,我们验证了BAM在所有基线上的表现优于基线,证明了BAM在不同架构和任务中的广泛适用性。表5、表6、表7、表8、表9可以在补充材料中找到。

CIFAR-100上的消融研究

CIFAR-100数据集[29]由60,000张32×32彩色图像组成,分为100个类别。训练集和测试集分别包含50,000和10,000张图像。我们采用标准的数据增强方法,包括随机裁剪(4像素填充)和水平翻转。在预处理中,我们使用RGB均值和标准差对数据进行归一化。

扩张值和缩减比率。 在表1中,我们基于ResNet50架构进行了实验,以确定我们模块中的两个主要超参数:扩张值和缩减比率。扩张值决定了空间注意力分支中感受野的大小。表1显示了四个不同扩张值的比较结果。我们可以清楚地看到,随着扩张值的增加,性能有所提升,尽管在扩张值为4时趋于饱和。这种现象可以从上下文推理的角度来解释,这在密集预测任务中被广泛利用[4, 5, 34, 46, 49]。由于扩张卷积序列允许感受野的指数扩展,它使我们的模块能够无缝地聚合上下文信息。请注意,标准卷积(即扩张值为1)产生的准确率最低,证明了上下文先验在推断空间注意力图时的有效性。缩减比率直接关系到两个注意力分支中的通道数,这使我们能够控制模块的容量和开销。在表1中,我们比较了四个不同缩减比率的性能。有趣的是,缩减比率为16时获得了最佳准确率,尽管缩减比率为4和8时具有更高的容量。我们推测这是由于过拟合,因为训练损失在这两种情况下都收敛了。根据表1的结果,我们在后续实验中将扩张值设为4,缩减比率设为16。

独立或组合分支。 在表1中,我们进行了消融研究以验证模块中的设计选择。我们首先移除每个分支以验证利用通道和空间注意力分支的有效性。如表1所示,尽管每个注意力分支都能有效提升基线性能,但我们观察到当同时使用两个分支时,性能显著提升。这表明结合通道和空间分支在推断最终注意力图时起着关键作用。事实上,这种设计遵循了人类视觉系统的类似方面,即具有“什么”(通道)和“在哪里”(空间)路径,两条路径共同处理视觉信息[6, 31]。

组合方法。 我们还探索了三种不同的组合策略:逐元素最大值、逐元素乘积和逐元素求和。表1总结了三种不同实现的比较结果。我们通过实验确认,逐元素求和实现了最佳性能。在信息流方面,逐元素求和是一种有效的方式,可以整合并确保来自前一层的信息。在前向阶段,它使网络能够使用来自两个互补分支(通道和空间)的信息,而不会丢失任何信息。在后向阶段,梯度均匀分布到所有输入,从而实现高效训练。逐元素乘积可以为小输入分配较大的梯度,使网络难以收敛,导致性能较差。逐元素最大值仅将梯度路由到较高的输入,在一定程度上提供了正则化效果,但由于我们的模块参数较少,导致训练不稳定。请注意,所有三种不同的实现都优于基线,表明利用每个分支至关重要,而最佳组合策略进一步提升了性能。

与原始卷积块的比较。 在本实验中,我们通过实验验证了性能的显著提升并非仅仅由于在瓶颈处简单地增加额外层而导致的深度增加。我们添加了与基线卷积块具有相同拓扑结构的辅助卷积块,然后在表1中将其与BAM进行比较。我们可以明显注意到,插入BAM不仅产生了优越的性能,而且比简单地放置额外层的开销更小。这意味着BAM的改进不仅仅是由于深度的增加,而是由于有效的特征精炼。

瓶颈:放置BAM的有效点。 我们通过实验验证了网络的瓶颈是放置我们模块BAM的有效点。最近关于注意力机制的研究[19, 42]主要集中在“卷积块”内的修改,而不是“瓶颈”。我们通过使用CIFAR-100上的各种模型比较了这两个不同的位置。在表2中,我们可以清楚地观察到,将模块放置在瓶颈处,在开销/准确率权衡方面是有效的。在大多数情况下,除了PreResNet 110 [16],它带来了更少的开销和更好的准确率。

CIFAR-100上的分类结果

在表3中,我们比较了在CIFAR-100上放置BAM后,包括[15, 16, 20, 43, 47]在内的最先进模型的性能。请注意,虽然ResNet101和ResNeXt29 16x64d网络分别实现了20.00%和17.25%的错误率,但带有BAM的ResNet50和带有BAM的ResNeXt29 8x64d分别实现了20.00%和16.71%的错误率,仅使用了参数数量的一半。这表明我们的模块BAM可以有效地提高网络的容量,同时使用更少的网络参数。由于我们的轻量级设计,整体参数和计算开销微不足道。

ImageNet-1K上的分类结果

ILSVRC 2012分类数据集[10]包含120万张训练图像和50,000张验证图像,分为1,000个对象类别。我们采用与[15, 16]相同的数据增强方案进行训练,并在测试时应用224×224的单裁剪评估。根据[15, 16, 21],我们报告验证集上的分类错误率。ImageNet分类基准是最大且最复杂的图像分类基准之一,我们展示了BAM在这种通用且复杂任务中的有效性。我们使用ResNet [15]、WideResNet [47]和ResNeXt [43]的基线网络进行ImageNet分类任务。更多细节包含在补充材料中。

如表3所示,带有BAM的网络再次优于所有基线,表明BAM可以在大规模数据集上的各种模型中很好地泛化。请注意,参数和计算的开销可以忽略不计,这表明所提出的模块BAM可以显著高效地增强网络容量。另一个值得注意的是,性能的提升来自于在整个网络中仅放置三个模块。由于篇幅限制,进一步的分析和可视化关于BAM的成功和失败案例包含在补充材料中。

紧凑网络中的BAM有效性

我们模块的主要优势在于它在显著提高性能的同时,对模型/计算复杂度的开销微不足道。为了在更实际的设置中展示这一优势,我们将我们的模块与紧凑网络[18, 22]结合,这些网络具有严格的资源限制。紧凑网络专为移动和嵌入式系统设计,因此设计选项具有计算和参数限制。

如表3所示,BAM以极小的开销提升了所有模型的准确率。由于我们没有在模块中采用任何压缩操作[18, 22],我们相信在效率方面还有改进的空间。

MS COCO目标检测

我们在Microsoft COCO数据集[32]上进行了目标检测实验。根据[4, 33],我们使用所有训练图像以及部分验证图像训练我们的模型,保留5,000个示例用于验证。我们采用Faster-RCNN[37]作为检测方法,并使用ImageNet预训练的ResNet101 [15]作为基线网络。我们感兴趣的是通过将BAM插入基线网络来提高性能。由于我们使用相同的检测方法,性能的提升只能归因于我们的模块BAM。如表4所示,我们观察到基线网络的显著改进,展示了BAM在其他识别任务中的泛化性能。

VOC 2007目标检测

我们进一步在PASCAL VOC 2007检测任务上进行了BAM实验。在本实验中,我们将BAM应用于检测器。我们采用了StairNet [39]框架,这是基于SSD [33]的最强多尺度方法之一。我们将BAM放置在每个分类器之前,精炼预测前的最终特征,强制模型自适应地选择仅具有意义的特征。实验结果总结在表4中。我们可以清楚地看到,BAM提高了所有强基线的准确率,并使用了两个骨干网络。请注意,BAM的准确率提升伴随着可忽略的参数开销,表明改进并非由于简单的容量增加,而是由于我们有效的特征精炼。此外,使用轻量级骨干网络[18]的结果再次表明,BAM可以成为低端设备的有趣方法。

5 结论

我们提出了瓶颈注意力模块(BAM),这是一种增强网络表示能力的新方法。我们的模块通过两个独立的路径学习什么和在哪里进行关注或抑制,并有效地精炼中间特征。受人类视觉系统的启发,我们建议将注意力模块放置在网络的瓶颈处,这是信息流的最关键点。为了验证其有效性,我们使用各种最先进的模型进行了广泛的实验,并确认BAM在三个不同的基准数据集上优于所有基线:CIFAR-100、ImageNet-1K、VOC2007和MS COCO。此外,我们可视化了模块如何在中间特征图上操作,以获得更清晰的理解。有趣的是,我们观察到了类似于人类感知过程的层次化推理过程。我们相信,在瓶颈处进行自适应特征精炼的发现对其他视觉任务也有帮助。

您可能感兴趣的与本文相关的镜像

Yolo-v5

Yolo-v5

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Together_CZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值