引言
论文地址
本文贡献:
1)堆叠式网络结构:通过叠加多个attentionmodules来构造residual attention network。堆叠结构是混合注意力机制的基本应用。不同类型的注意力机制能够被不同的注意力模块捕获。
2)注意力残差学习:直接叠加注意力模块会导致学习性能的明显下降。因此,使用注意力残差学习来与优化几百层的非常深的residual attention network。
3)自底而上自上而下的注意力机制:在每个attention模块中,采用自底而上、自顶而下的前馈结构,将前馈和反馈的attention过程展开为单个前馈过程。使用这样子的结构作为注意力模块的一部分来增加特征的soft weights。可以在单个前馈过程中模仿自底而上的快速前馈过程和自顶而下的注意力反馈,从而使我们能够开发具有自顶向下注意力的端到端的可训练网络。
Residual Attention Network
残差注意力网络是由多个注意力模块堆叠而成,每个注意力模块包括两个分支:
- Mask 分支
- Trunk 分支:主干分支用于特征处理,能够适应任意网络结构。
本文使用预激活的残差单元,ResNet和Inception作为残差注意力网络的基网络。假设输入为,对应的主分支的输出为,mask分支学习一样大小的mask ,也是的软权重。mask输出作为主分支的控制门,注意力模块的输出为:
其中,为每个像素点,为每个通道数。整个网络可以实现端到端的训练。
在注意力模块中,注意力mask不仅可以作为前向传播过程中的特征选择器,而且可以作为反向传播中的梯度更新滤波器。这样可以使模块对噪声标签更鲁棒,mask分支可以防止错误的梯度来更新主分支的参数。
为什么用使用堆叠的注意力机制??
如果mask分支使用单个网络,类似于空间转移层。但是这样子有一些弊端:
1)当图像背景聚集、场景复杂、差异较大时,需要不同类别的转移力,这种情况下,来自不同层的特征需要不同的注意力mask。使用单个mask分支需要指数级别的通道个数来获取不同因子的组合。
2)单个网络只能修改特征一次,如果在图像的某些部位修改错误,后面的网络不会进行第二次修改。因此,本文中每个主分支都有自己的mask分支。如图所示。
注意力残差学习
传统的堆叠式注意力模块会导致性能的降低,理由有两点:
- 单纯的点乘会退化深层的特征图的值;
- 软mask会破坏主分支好的性能。
本文提出的注意力残差学习能够改善以上问题。和残差学习的思想一致,修改输出为:
其中的范围为[0, 1],近似为0,近似原始的特征。
本文堆叠式的注意力残差机制学习与单纯的残差学习有所不同。在原始的残差学习中,近似为残差方程。而在本文的式子中,为深层卷积网络生成的特征,主要取决于,作为选择好特征的选择器,而且抑制了来自于主分支的误差。
另外,堆叠式注意力模块通过它的自然增长来进行注意力残差后向传播学习,能够保留原始特征中的好的性能,也能给他们能够传递软mask和向前传播到深层增强mask选择特征的能力,并且能够逐渐的修正特征映射。
软mask分支
在软mask分支中,输入经过几次max pooling 来增加感受野,得到了最低像素的特征图之后,全局信息通过对称的自上而下的结构进行扩展,一般使用线性插值上采样进行,上采样的个数与下采样的个数一样,得到与输入一样大小的feature map,然后使用两个连续的1*1的激活函数为sigmoid的卷积进行标准化[0,1]范围内,在上采样和下采样之间加入一个skip连接来获取从不同尺寸的信息。结构图如下所示。
结构图
空间注意力和通道注意力
本文使用三种激活函数,对应是那种不同的注意力机制,即混合注意力、通道注意力和像素点注意力。混合注意力没有其他的限制,使用简单的sigmoid对每个像素每个通道进行激活;通道注意力在所有通道内使用损失来消除空间信息;位置注意力对通道进行归一化后再进行sigmoid激活。如下式所示。
本文实验证明,使用混合注意力机制的性能最好,实验对比结果如下。
实验结果
网友评论