文章链接:https://arxiv.org/abs/2007.05099
作者团队:北德克萨斯州大学
目录
1.Abstract
2.Deep Connected Attention
2.1Revisiting Self-Attention Blocks
2.2 Attention Connection
2.3 Size Matching
2.4 Multi-dimensional attention connection
4.Experiments
4.1 Classification on ImageNet
4.2 Ablation Evaluation
4.3 Visualization
4.4 Object detection on MS COCO
4.5 Connection Analysis
5.Conclusion
目前自注意力机制无法充分的发挥其作用。所以提出了Deep Connected Attention Network(DCANet),将DCANet和注意力一起训练,将有助于提升注意力的学习能力。同时该方法适用性广,不会受注意力模块或者基础网络结构的限制。
各种注意力的方法设计的处理方式都不一样,怎样找到一种很好的方式去使用DCANet用于各种注意力方式,需要研究;
作者将现有的所有注意力模块分解为三部分:特征抽取(Extraction),转换(transformation)和融合(fusion);特征抽取:就是一个简单的特征抽取器;转换:就是将抽取的特征转换到非线性注意力空间;融合:就是将注意力特征和原始特征进行融合。图3就是四种常见注意力模块:
Extraction:假设卷积产生的特征是: ,则通过抽取器g:,来抽取特征,就是抽取操作的参数,G是输出结果。当g操作没有参数时,也就不需要了(就像池化操作)。Transformation:定义t为特征转换操作,一个注意力模块的输出可以表达为。Wt代表了转换参数,T代表了输出结果。Fusion:注意力输出,可以表达为:,i代表了特征索引,""代表了融合函数;
注意力模块公式表达:
注意力模块使用结果表达:
f(.)代表connection function,alfa和beita是学习参数,T^~就是之前注意力模块的注意力map,当=1,=0时,就是普通的注意力网络;
作者使用了两种方法实例化了connection function f(.).
1)Direct Connection.连接方式:
是特征索引,T^~可以看做G的特征增强;
2)Weighted Connection.通过使用权值加和:
与直接连接相比,第二种方式引入了竞争关系;此外,很容易扩展到softmax形式,这样对于琐碎的特征更具鲁棒性;
实验结果显示:结果对于连接方式并不敏感,性能提升来源于注意力模块之间的连接,而不是连接函数的特定形式。因此最终,作者选用了直接连接(direct connection);
在处理size的问题上,作者分别从通道和空间维度进行处理;
对于通道而言,作者使用了全连接层(后面加入层归一化和relu激活操作)转换通道C’至C通道;为了减少参数,作者将一个fc层使用两个轻量级的fc层代替;输出尺寸变为了C/r和C,r就是 缩减比例;在作者的实验中,作者使用两个fc层,r=16用于匹配通道size。
对于空间精度而言,通常使用平均池化。虽然最大池化也能达到效果,但是最大池化只考虑了注意力信息中的部分信息。另一个方法是卷积操作,但是该操作参数多,泛化性差,同时作者也做了消融实验进行效果对比。
针对多维注意力操作:BAM和CBAM;作者沿着每一个维度进行了注意力图连接,确保连接不同维度连接都是独立的,这种分离的注意力连接带来了两个优点:1)减少了参数量和计算量;2)每一个维度都可以专注于注意力内部的属性;
实验数据集:Imagenet和MS-COCO。
作者选用了三个网络结构:resnet50,MobileNetV2,和MnasNet1_0.,
注意力机制:SE,SK,GE,CBAM;
结论:加了注意力结构的性能网络好于没加注意力机制的网络;DCA-CBAM-Resnet50与CBAM-Resnet50(top-1)相比,性能提升了0.51%,DCA—SE—MobileNetV2与SE-MobileNetV2(top1)相比,性能提升了1.19%.
同时,MnasNet在加入了SE和CBAM后,性能下降,作者推测原因:该网络来自搜索空间,而SE和CBAM不是来自搜索空间(二者都包括学习层)。但是当作者使用了DCANet后,MnasNet的性能与原始的结果性能相似,作者认为是由于DCA模块传导多注意力模块,将信息进行结合所以获得了更好的分类性能。
Connection Schema:
结论:表2a中,DCA三种连接方式得出的性能都是优于SE-Resnet50,说明效果是否能优于原始注意力网络性能,不受连接机制影响。通过比较,作者最后选用了直接连接方式(direct connection)。
Network Depth:
比较主干网络分别是:SE-Resnet50,SE-Resnet101,SE-Resnet152,在使用了DCA后,性能分别提升了1.65%,0.58%,0.21%.当网络越深,性能提升越少;主要原因还是注意力机制在大网络提升性能的表现没有小网络提升性能能力强;
Size matching:
分别使用1个FC和两个轻量级的FC进行实验,Table2e中,直接使用1个FC可以获得最佳的top1性能,但是2个FC也可以获得相差不多的性能,且所需参数量更少;查看Table2c的性能,可以看到平均池化的效果优于最大池化;
Multiple Attention dimensions:
作者将DCANet整合进CBAM-Resnet50。表2b中显示,DCA加入之后,模型有一定的性能都有提升,但是提升效果却不一样,1)整合在通道注意力性能与整合在空间注意力性能相比提升了0.2%.2)与分别整合到通道注意力和空间注意力相比,两种都加入了DCA的效果更好;
结论:加入DCA增强的模型连续关注在图像的关键部分,同时,也可以注意到中间特征区别比较大的部分也比较小;在CONV4-6处,可以看到DCA对CBAM的性能有提升,说明DCANet可以增强注意力模块的注意力,进一步提升CNN模型的特征提取能力;
使用网络RetinaNet和Cascade R-CNN作为目标检测器,所有backbone使用ImageNet的预训练模型;测试结果如表3:
结论:从表3中可以看到,DCA的引入,RetinaNet性能几乎都有所提升;在Cascade R-CNN中,也可以看到性能的改善。这说明,DCANet对于目标检测效果也有所帮助;
作者分析了每个注意力连接的贡献比例,贡献比例计算使用:,作者使用resnet50作为主干网络,在SE,SK和SBAM进行实验。结果图5所示:
DCANet能够有效提升各种类型的注意力模块的性能,同时适用于分类和目标检测任务;