Residual Attention Network

Paper : Residual Attention Network for Image Classification
Code : official

摘要

作者尝试在视觉模型中引入自注意力机制,并通过残差学习的方式解决注意力模块梯度消失的问题。

网络结构

残差注意力网络相比普通的CNN网络具有以下几个特点

  1. Attention不止能使得运算聚焦于特定区域,同时也可以使得该部分区域的特征得到增强
  2. 增加更多的注意力模块可以线性提升网络的分类性能,基于不同深度的特征图可以提取额外的注意力模型
  3. 残差注意力模型可以结合到目前的大部分深层网络中,做到end-to-end训练结果,因为残差结构的存在,可以很容易将网络扩展到百数层。并且使用该种策略可以在达到其他大网络的分类准确率的同时显著降低计算量

image.png

左图显示了在残差注意力网络中主干网络和注意力模块之间的关系,注意力模块为主干网络以某一个特征图为节点的分叉子网络;右图显示了网络模型中,不同层特征图响应的注意力不同,在浅层结构中,网络的注意力集中于背景等区域,而在深层结构中,网络的注意力特征图聚焦于待分类的物体。注意力机制的可视化有效的证实了“深层次的特征图具有更高的抽象性和语义表达能力”这一结论。

残差注意力网络主要由多层注意力模块堆叠而成,每个注意力模块包含了两个分支:掩膜分支和主干分支。其中主干分支可以是当前的任何一种SOTA卷积神经网络模型,掩膜分支通过对特征图的处理输出维度一致的注意力特征图,然后使用点乘操作将两个分支的特征图组合在一起,得到最终的输出特征图。根据注意力机制的方法,假如主干分支输出特征图为 T i , c ( x ) T_{i,c}(x) Ti,c(x),掩膜分支的输出特征图为 M i , c ( x ) M_{i,c}(x) Mi,c(x),那么最终该注意力模块的输出特征图为:

H i , c ( x ) = T i , c ( x ) ∗ M i , c ( x ) H_{i,c}(x) = T_{i,c}(x)*M_{i,c}(x) Hi,c(x)=Ti,c(x)Mi,c(x)

其中 ∗ * 表示点乘。

虽然注意力模块对于目标分类有较大的作用,但是单纯叠加注意力模块会导致模型性能的下降,主要有两点:

  1. 掩膜分支为了输出权重归一的特征图,后面需要跟Sigmoid作为激活函数,但是问题在于Sigmoid将输入归一化到0到1之间,再来与主干分支进行点乘,会使得特征图的输出响应变弱,多层叠加该种结构会使得最终输出的特征图每一个点上的值变得很小;
  2. 同时,掩膜分支输出的特征图有可能会破坏主干分支的优点,比如说将残差连接中的shortcut机制替换为掩膜分支,那么将会使得深层网络的梯度不能很好的反传。

因此,作者仿照identity shortcut的结构,将注意力模块修改为

H i , c ( x ) = F i , c ( x ) ∗ ( 1 + M i , c ( x ) ) H_{i,c}(x) = F_{i,c}(x)*(1+M_{i,c}(x)) Hi,c(x)=Fi,c(x)(1+Mi,c(x))

其中, F i , c ( x ) F_{i,c}(x) Fi,c(x)是由一个深层的卷积神经网络结构来学习拟合。结合掩膜分支输出的结果,可以使得 F i , c ( x ) F_{i,c}(x) Fi,c(x)的输出特征图中重要的特征得到加强,而不重要的特征被抑制。最终,不断地叠加注意力模块可以使得逐渐的提升网络的表达能力。上图中显示越是深层,注意力模型的注意力机制会更加关注在对分类有帮助的目标上。

在掩膜分支中,特征图的处理操作主要包含为前向的降采样过程和上采样过程,前者是为了快速编码、获取特征图的全局特征,而后者主要是将提取出来的全局高维特征上采样之后与之前未降采样的特征组合在一起,目的使得上下文,高低纬度的特征能够更好的组合在一起,类似于FPN网络的做法。掩膜分支的操作如下图所示

image.png

图中每一个Attention Module,也即是掩膜分支对于固定的输入,多层卷积计算之后使用Max-Pooling操作对特征图进行降维操作,一直降维直到特征图宽高达到网络输出特征图的最小尺寸,比如7x7,然后逐层使用双线性差值的方法扩张特征图的宽高维度,并且与之前同样维度下的特征相加,这里的考量是结合了全局的和局部的特征,增强了特征图的表达能力。最终对特征图使用2个1*1的卷积层对通道做整合计算输出一个与input宽高维度相等,但是通道数为1的特征图,最后接一个Sigmoid激活函数层将特征图归一化到0~1之间。

image.png

论文作者在Attention这部分总共考虑了三种Attention方式,Spatial Attention使用L2正则化约束每个位置上的所有通道,推测最终输出一个空间维度一致的Attention Map;Channel Attention,类似于SENet约束每一个通道上的所有特征值,最后输出长度与通道数相同的一维向量作为特征加权;Mix Attention对每个通道和每个空间位置使用Sigmoid。

image.png

image.png

整体网络结构

image.png

核心观点

  1. 设计了一种可堆叠的网络结构,并且可堆叠的基本模块中引入了注意力特征图的机制,不同层次的特征图能够捕捉图像中的多种响应结果。
  2. 注意力残差学习,直接堆叠注意力模块会导致网络层次过深出现梯度消失的现象,本文使用了残差连接的方式,使得不同层的注意力模块可以得到充分学习。
  3. Bottom-up与top-down结构相结合,自底向上主要是为了图像的特征提取,自顶向下是为了生成Attention Map

文章参考自blog

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值