快速理解图像处理中注意力机制的应用

参考论文:Residual Attention Network for Image Classification,发表与2017年CVPR会议上

一、前言
在分析这个网络前首先应该明确注意力机制的本质:一系列的注意力分配系数,也就是一系列权重参数,可以用来强调或选择目标处理对象的重要信息,并且抑制一些无关的细节信息。
论文中作者对所提出的残差注意力网络的定义是:A convolutional network that adopts mixed attention mechanism in “very deep” structure.也就是说这个网络首先是一个卷积神经网络,只是它的特点在于引入了混合注意力机制,并且网络结构非常地深。我将分别从这两个方面进行介绍。
二、图像处理中注意力机制的实现
1、引入注意力机制的意义
1)选择聚焦位置,产生更具分辨性的特征表示
网络由大量的注意力模块(Attention Module)组成,能产生注意力感知的(attention-aware)的特征,并且不同模块的特征随着网络的加深会产生适应性改变。
2)渐增的注意力模块将带来持续的性能提升
不同类型的attention将被大量捕捉到。
下图形象地说明了注意力机制的作用原理,也阐明了以上所说的两点。
在这里插入图片描述
左边部分展示了注意力掩模与特征图的作用机制。右边部分主要说明随着网络的加深所能关注到的特征级别也会越来越高。比如说当网络比较浅的时候,注意力只能捕捉到像颜色特征这样的低级别特征,图的中间就是对蓝色天空都分的一个抑制。而当网络比较深的时候,注意力就能捕捉一些高级别特征,如左边对热气球底部的一个强调。
2、注意力机制的实现
1)总体结构
(1)由多个注意力模块堆叠而成
(2)每个注意力模块被分成了两个分支:mask brunch 和 trunk branch
(3)注意力模块的输出为: H i , c ( x ) = M i , c ( x ) T i , c ( x ) H_i,c(x)=M_i,c(x)*T_i,c(x)
M i , c M_i,c 是mask分支输出的注意力权重, T i , c T_i,c 是trunk分支经过一系列操作所提取出的特征图表示,输出即为二者的点积。
在这里插入图片描述
在这里插入图片描述
2)分支剖析
(1)trunk分支
与传统的卷积网络特征处理相似,通过多次卷积操作提取特征。
(2)mask分支
是注意力模块的核心部件,主要由一个buttom-up top-down的结构,这种结构也是一种encoder-decoder模型,形状与沙漏网络(hourglass network)相似。
沙漏网络
buttom-up部分:执行下采样(down sample),多次进行最大池化操作扩大接受域,直到达到最低分辨率。作用效果是:产生低分辨率、强语义信息的特征图,从而收集整个图片的全局信息。
top-down部分:执行上采样(up sample)线性插值,直到特征图尺寸与输入时相等。作用效果是:扩展Bottom-up所产生的特征图,使其尺寸与输入Bottom-up前的特征图大小相同,从而对输入特征图的每个像素进行推理选择。
所以,综上mask分支的作用总结如下:
前向推导中主要起特征选择的作用,可将mask分支的输出看作是trunk分支神经元的控制门,过滤不重要的信息,强调重要信息。
后向传播中起梯度更新过滤的作用。由于mask分支仅进行下采样和上采样操作,所以在反向传播中没有参数更新,那么它对trunk分支的选择性将不会改变,即使有噪音标签更新了trunk分支中的参数,mask分支也会将其剔除掉,这使得网络对于标签噪音具有很好的健壮性。
3)注意力的分类
在mask 输出之前,通过改变激活函数中的标准化方式,对mask 中的Attention添加不同的约束,可以产生三种类型的attention。
在这里插入图片描述
实验表明不添加任何约束的mixed attention的错误率最低!
3、网络深度的扩展
在对网络深度进行扩展时,主要存在的问题是,简单的注意力模块堆叠会造成明显的性能下降,原因如下:
1)mask的取值范围为[0,1],在深层网络中重复地进行点积,会消减特征的值。
2)mask潜在地打破了trunk分支的一些特性,比如说残差单元的恒等映射(identical mapping)
解决方案:作者类比残差学习提出了注意力残差学习,仿其提出假设:如果mask单元能被构造成恒等映射,那么它的性能将不会比没有注意力机制的网络差。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41977512/article/details/83243160