【论文阅读笔记】——BAM论文阅读笔记

2018-BAM: Bottleneck Attention Module(BAM)

期刊:BMVC

摘要:深度神经网络的最新进展是通过架构搜索来获得更强的代表能力。在这项工作中,我们重点关注注意力在一般深度神经网络中的作用。我们提出了一种简单有效的注意力模块,称为瓶颈注意力模块(BAM),可以与任何前馈卷积神经网络集成。我们的模块沿着两条独立的路径,通道和间,推断出一张注意力图。我们将我们的模块放置在模型的每个瓶颈处在那里发生特征图的下采样。我们的模块用许多参数在瓶颈处构建了分层注意力,并且可以以端到端的方式与任何前馈模型联合训练。我们通过在CIFAR-100、ImageNet-1K、VOC 2007和MS COCO基准上进行大量实验来验证我们的BAM。我们的实验表明,各种模型在分类和检测性能上都有了持续的改进,证明了BAM的广泛适用性。

1.引言

深度:提高性能的一个基本方法是设计一个良好的主干架构。自第一个大规模深度神经网络AlexNet[30]以来,已经提出了各种骨干架构,如VGGNet[40]、GoogLeNet[41]、ResNet[16]、DenseNet[20]。这些架构都比以往的主干架构具有显著的性能提升。提高网络性能最直观的方法是堆叠更多的层,以上我们所提及的网络都在网络深度上进行了不同程度的加深。

宽度:而其他一些网络表明,使用更深的通道,更宽的卷积比简单的堆叠加深网络的深度更加有效,能够取得更加显著的性能提升。

注意力:我们提出了“瓶颈注意力模块”(BAM)

我们用各种基线架构测试BAM在各种任务中的功效。在CIFAR-100和ImageNet分类任务中,我们观察到通过放置BAM来提高基线网络的性能。有趣的是,我们观察到,位于不同瓶颈的多个BAM建立了层次关注。最后,我们在VOC 2007和MS COCO数据集上验证了对象检测的性能改进,证明了BAM的广泛适用性。由于我们精心设计了重量轻的模块,因此参数和计算开销可以忽略不计。

我们的贡献主要集中在三个方面:

1.我们提出了一个简单有效的注意力模块BAM,它可以与任何卷积神经网络集成

2.通过广泛的消融实验验证了BAM模块的有效性

3.我们在多个基准(CIFAR-100、ImageNet-1K、VOC 2007和MS COCO)上用各种基线架构进行的广泛实验中验证了BAM的有效性。分类以及目标检测等高级视觉任务中都取得了较好的效果。

2. 相关工作

跨模态注意:注意机制是多模态环境中广泛使用的一种技术,特别是当某些模态需要在其他模态上处理时。

自注意力:目前已有多种方法将注意力集成到DNN中,以端到端的方式联合训练特征提取和注意力生成。

自适应模块:之前的几项工作使用了自适应模块,该模块根据输入动态更改输出。

在这项工作中,我们以简单而轻便的设计利用了注意力的通道和空间轴。此外,我们找到了一个有效的位置来放置我们的模块——网络瓶颈

3. 瓶颈注意力模块

F’ = F + F ⊗ M(F)

其中⊗表示逐元素乘法。我们采用残差学习方案和注意力机制来促进梯度流。为了设计一个高效而强大的模块,我们首先在两个独立的分支上计算通道注意力Mc(F)∈RC和空间注意力Ms(F)∈RH×W,然后计算注意力映射M(F)如下:

M(F)=σ(Mc(F)+Ms(F))

通道注意力分支:平均值池化——MLP多层感知机——批量归一化层BN

空间注意力分支:空间分支产生空间注意力映射Ms(F),以强调或抑制不同空间位置的特征。

1*1卷积(降维)——3*3扩张卷积——3*3扩张卷积——1*1卷积(升维)——批量归一化层BN

利用3*3的扩张卷积来高效地扩大感受野,同时对通道上的特征图进行积分和压缩操作

两个注意力分支的结合:在从两个注意力分支获得通道注意力Mc(F)和空间注意力Ms(F)。由于这两个注意力图具有不同的形状,我们在将它们组合之前将注意力图扩展到RC×H×W。在各种组合方法中,如元素求和、乘法或最大运算,我们选择元素求和来实现有效的梯度流[15]。并且在之后的实验中,我们发现这种元素求和的方法是最有效的。

4. 实验

用于图像分类的CIFAR-100、ImageNet-1K和用于对象检测的VOC 2007、MS COCO。验证了BAM在没有任何缺陷的情况下优于所有基线。

4.1 CIFAR-100消融实验

4.1.1 膨胀值和收缩率

我们基于ResNet50架构,对两个超参数:膨胀值和收缩率进行了实验。

膨胀值决定了空间通道注意中感受野的大小。从实验中我们得知,当膨胀值增大时,模型的性能得到了提升,并且当膨胀值为4时,达到了饱和。

缩减率与两个注意力分支中的通道数量直接相关,这使我们能够控制模块的容量和开销。发现在收缩率为16时,实现了最佳精度。

4.1.2 单独或合并分支

我们进行了一些实验来验证分支的有效性,可以发现每一个分支都能单独作用于基线模型且产生效果,但当我们结合这两个分支时,达到的效果是最好的。

4.1.3 组合方法

我们还探索了三种不同的组合策略:元素最大化、元素乘积和元素求和。表1总结了三种不同实现方式的比较结果。我们从经验上证实,按元素求和可以获得最佳性能。就信息流而言,逐元素求和是集成和保护前一层信息的有效方法。在前向阶段,它使网络能够使用来自信道和空间两个互补分支的信息,而不会丢失任何信息。在后向阶段,梯度被均匀地分配到所有输入,从而导致有效的训练。

4.1.4 与放置原始卷积块进行比较

在这个实验中,我们通过经验验证了显著的改进并不是来自于通过简单地在瓶颈上添加额外的层来增加深度。我们添加了与基线卷积块具有相同拓扑的辅助卷积块,然后将其与表1中的BAM进行比较。我们可以明显地注意到,与简单地放置额外的层相比,插入BAM不仅产生了优越的性能,而且开销更小。这意味着BAM的改进不仅仅是因为深度的增加,而是因为有效的特征细化

4.1.5 瓶颈:放置BAM模块的有效位置

开销/准确性权衡而言,将模块置于瓶颈是有效的。

4.2 CIFAR-100分类结果

由于我们的轻量级设计,总体参数和计算开销都很有限,在实验中我们论证提出的模块BAM可以显著的提高网络的性能。

4.3 ImageNet-1K上的分类结果

具有BAM的网络优于所有基线,表明BAM可以在大规模数据集中的各种模型上很好地推广,参数和计算的开销可以忽略不计,这表明所提出的模块BAM可以有效地显著提高网络容量。

4.4 紧凑型网络下的BAM有效性

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

BAM以很少的开销提高了所有模型的准确性。由于我们的模块没有采用任何挤压操作[18,22],我们相信在效率方面还有更多的改进空间。

4.5 MS COCO目标检测

我们采用Faster RCNN[37]作为我们的检测方法,ImageNet预训练的ResNet101[15]作为基线网络。在这里,我们感兴趣的是通过将BAM插入基线来提高性能。我们观察到添加BAM模块的网络相较于基线网络实现了更好的效果,证明BAM模块在其他识别任务上也具有良好的泛化能力。

4.6 VOC2007目标检测

我们在PASCAL VOC 2007检测任务上进一步实验了BAM。我们可以清楚地看到,BAM通过两个骨干网络提高了所有强基线的准确性。BAM的准确性提高伴随着可忽略不计的参数开销,这表明增强不是由于简单的容量增加,而是由于我们有效的特征细化

4.7 与挤压和激励的比较

我们在CIFAR-100分类任务中进行了额外的实验,将我们的方法与SE进行了比较。表5总结了所有结果,表明BAM在大多数情况下以较少的参数优于SE。我们的模块需要稍多的GFLOPS,但参数比SE少得多,因为我们只将模块放在瓶颈处,而不是每个conv块。

5. 总结

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值