Bootstrap

注意力机制又一大作!DCANet:学习卷积神经网络的连接注意力

点击上方,选择星标置顶,不定期资源大放送

阅读大概需要15分钟

Follow小博主,每天更新前沿干货

【导读】今天给大家分享一篇关于注意力机制方面的优秀论文,该论文提出了深度连接注意力网络(DCANet),这是一种新颖的设计,在不改变CNN模型内部结构的情况下可以大幅提升注意力模块的性能。这个工作也证明了注意力单元之间不同的连接方式和注意力模块间信息交流的重要性。

  • 论文链接:https://arxiv.org/pdf/2007.05099.pdf

摘要和创新点

虽然,自我注意力机制在许多视觉任务中都显示出了优越的效果,但它每次却只考虑当前的特征,所以,我们发现,这种方式并不能充分利用注意力机制。在本文中,我们提出了深度连接注意力网络(DCANet),这是一种新颖的设计,在不改变CNN模型内部结构的情况下提升注意力模块的性能。为了达到这样的效果,我们将相邻的注意力模块连接起来,使得注意力模块之间可以互相进行信息流交换,DCANet将CNN模型中的所有注意块一起进行训练,提高了注意力学习的能力。而且DCANet是具有泛化性的。它不局限于特定的注意力模块或基础网络架构。在ImageNet和MS COCO基准测试上的实验结果表明,DCANet在所有测试用例中始终优于目前最先进的注意力模块,而且它的额外计算开销也是最少的。

本文的创新点总结如下:

  1. DCANet通过从前面的注意块中收集信息,并将其传递给下一个注意块,使得注意块间可以进行相互配合,从而提高了注意力模块的学习能力。

  2. 在不改变内部结构的情况下,我们研究了各种注意力模块并开发了一个通用注意力框架,其中注意块由三个组件组成:上下文提取、转换和融合。

  3. DCANet比较简单、通用,而且能极大程度提高注意力模块性能,将DCANet应用于多个最先进的注意力模块和一些基础CNN架构上,实验结果表明,毫不夸张地讲,经过DCANet模块增强的网络比所有原始的网络都要好。

DCA模块介绍

深度连接注意力网络,虽然在概念上其实是比较简单,但我们的经验表明,这种网络是很强大的。我们通过分析各种注意力模块的内部结构,提出了一种不局限于特定注意块的通用连接方案。通过参数化的加法操作将之前的注意力特征与当前提取的注意力特征进行合并,保证了信息在各个注意力块之间以前馈的方式流动,有效地避免了在注意力模块间的信息的频繁变动。下图2便是我们DCANet模块的展示:

Revisiting Self-Attention Blocks

我们首先回顾了几个流行的注意力模块来分析其内部结构。常见的做法就是,我们通过横向添加额外的注意力块来增强CNN的基础架构。然而,不同的注意力块是针对不同的任务量身定制的,实现方式也是不同的。例如,SE块由两个完全连接的层组成,而GC块包括几个卷积层。因此,要直接提供一个标准的、足够通用的、能涵盖大多数注意块的连接方式是不容易的。为了解决这个问题,我们研究了目前最先进的注意力模块,并总结了他们的处理方式和组成形式。根据最近注意力模块连接方式及其组件的一些启发(主要来自-SENet和NLNet),我们研究了各种注意力模块并开发了一个通用注意力框架,其中注意块由三个组件组成:上下文提取、转换和融合。提取是一种简单的特征提取器,变换则是将提取的特征转化为新的非线性注意空间,融合是将注意和原始特征融合。这些组成部分是通用的,不局限于一个特别的注意块。图3,我们为大家演示了这三个组件在四个比较流行的注意力块上的具体情况。

Extraction:提取主要就是从特征图中收集特征信息,对于给定的卷积块生成的feature map,其中 ,我们通过提取器g从X中提取特征: ,其中 是提取操作的参数,G是输出。当g是无参数操作时, 就不需要了(比如池化操作)。g的灵活性使得G可以根据呈现不同的形状进行相适应的提取操作。例如,SENet和GCNet将feature map X视为一个向量( ),而CBAM中的空间注意模块将feature map采集为一个张量( )。

Transformation:则是对提取到的特征进行处理,并将其转化到非线性的注意力空间。形式上,我们将t定义为特征变换操作,注意块的输出可以表示为 。其中 为变换操作中使用的参数,T为提取模块的输出。

Fusion:将注意力映射与原始卷积块的输出融合在一起。注意引导输出 可以表示为 ,其中i是feature map中的索引,“ ”表示一个融合函数;“ ”在设计为点积注意比例时执行元素向乘法,否则执行总和。

Attention Connection

接下来,我们使用前面提到的注意组件提出了一个广义的注意力连接模式。不管实现细节如何,注意力模块的模型表示为:

如上一节所述,由转换组件生成的注意力特征图对于注意力学习至关重要。为了构造连接注意力,我们将先前的注意力映射输入当前转换组件,当前转换组件将先前的转换输出与当前提取输出合并。这种连接设计保证了当前转换模块既能学习提取的特征,又能学习之前的注意力信息。由此产生的注意力模块可以描述为:

式中, 为连接函数,, α和β都是可学习参数, 为前一个注意力模块生成的注意力映射特征图。在某些情况下(如SE block和GE block), 被缩放到(0,1)的范围。对于这些注意力块,我们用 乘以 来匹配尺度,其中 是前一个注意力块中提取分量的输出。我们还注意到,如果将 α和β分别设置为1和0,此时可以不使用attention connection,并且可以将DCA增强注意块减少为vanilla注意力模块。vanilla network是我们DCA增强注意力网络的一个特例情况。

接下来,我们介绍连接函数 的两种不同连接模式。

Direct Connection(直接连接):我们通过直接添加这两个项来实例化f(·)。此时连接函数可以表示为:

其中i是特征的索引。在公式(3)中, 可以看作是G的增强。

Weighted Connection(加权连接):加权求和主要是对直接连接进行了增广操作。为了避免引入额外的参数,我们计算重量使用 α β ,连接函数此时可表示为:

与直接连接相比,加权连接在 α β 之间产生了竞争关系 .此外,它可以很容易地扩展到softmax形式,。消融研究的实验结果(见表2a)表明,结果对连接模式不敏感,说明性能的提高更多地来自注意块之间的连接,而不是连接函数的具体形式。因此,我们在方法中默认使用直接连接。

Size Matching

CNN模型中的特征图在不同的阶段可能大小也不相同。因此,相应的注意力特征图的大小也可能发生变化,这种不匹配使得我们的DCANet不可能在two-stage之间应用。为了解决这一问题,我们对通道上的注意力特征图的形状和空间维度进行了自适应匹配。

对于通道,我们使用全连接层(然后是layer normalization和ReLU激活函数)来匹配size,从而使得 通道转换为C通道,其中C'和C分别表示之前和当前通道的数量。为了清晰起见,我们为通道尺寸匹配引入的参数为 ,为了进一步减少注意力连接中的参数负担,我们用两个轻量级全连接层重新构造了全连接层;输出尺寸分别为C/r和C,其中r为缩减比。这一修改大大减少了引入参数的数量。关于通道匹配这一策略的实验影响请见Table2e。在我们所有的实验中,我们使用r = 16的全连接层来匹配信道大小,除非另有说明。

为了匹配空间分辨率,一个简单而有效的策略是采用平均池化层。我们将步幅和感受野大小设置为分辨率降低的尺度。Max-pooling在我们的方法中也很有效,但它只考虑部分信息而不是整个注意力信息。除了池化操作之外,另一种解决方案是learnable con volume操作。然而,我们认为它不适合我们的目的,因为它引入了许多参数,并不能很好地推广。详细的空间分辨率尺寸匹配消融实验见Table2c。

实验结果

在图像识别和目标检测的任务,我们详细评估了我们的DCANet模型。并且在ImageNet和MS-COCO基准测试上的实验结果,证明了我们的方法的有效性。继而我们进行了大量全面的消融实验,深入研究了DCANet网络内部性质。

表1是在ImageNet验证集的详细实验结果展示。我们观察发现,与普通注意力模型相比,集成DCA模块在所有情况下都提高了分类精度。值得注意的是,我们这里比较的网络,它们加了注意力模块之后都会比原先基础网络性能更强。在测试的网络中,DCA-CBAM -ResNet50比 CBAM-ResNet50提高了0.51%的top-1精度,DCA-SE-MobileNetV2比SE-MobileNetV2提高了1.19%的top-1精度,但计算开销是相当的。这项改进实验证明了我们的DCANet模块的效率。

消融实验结果展示如下:

下图4对ResNet50、CBAM -ResNet50和DCA进行了可视化实验比较,我们看到,使用DCA模块进行注意力增强的模型始终专注于图像中的关键部分,同时,我们也注意到,最具判别性的特征部分在中间特征之间的变化很小。

在COCO数据集上的实验结果展示:

Conclusion

本文详尽地指出,目前对自我注意力机制的研究还不够充分。为了更好地利用这个方法,我们提出了深度连接注意力网络(DCANet),它通过增加注意力模块连接的方式使得注意力块之间的信息流在向前传播时能够进行自我调节。我们已经证明了DCANet可以用来对各种注意力方法进行持续的优化改进,并且在基于ImageNet基准测试方面,在CNN网络架构方面能达到最小的开销。此外,在MS-COCO数据集上的实验表明,我们的DCANet在其他视觉任务上有很好的表现效果。DCANet模块以其优雅的设计和独特的前向反馈连接方式,使得它很容易与目前主流框架的各种注意力机制进行集成。

更多详细细节可参考原文!

重磅!DLer-计算机视觉交流群已成立!

欢迎各位Cver加入计算机视觉微信交流大群,本群旨在交流图像分类、目标检测、点云/语义分割、目标跟踪、机器视觉、GAN、超分辨率、人脸检测与识别、动作行为/时空/光流/姿态/运动、模型压缩/量化/剪枝、NAS、迁移学习、人体姿态估计等内容。更有真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、行业技术交流等,欢迎加群交流学习!

进群请备注:研究方向+学校/公司+昵称(如图像分类+上交+小明)

广告商、博主请绕道!

???? 长按识别添加,邀请您进群!

;