Residual Attention Network for Image Classification论文精读及源码

Introduction

首先作者介绍了在视觉领域中Attention也发挥着很大的作用,Attention不止能使得运算聚焦于特定区域,同时也可以使得该部分区域的特征得到增强,同时'very deep'的网络结构结合残差连接(Residual Network)在图像分类等任务中表现出了极好的性能。基于这两点考量,作者提出了残差注意力网络(Residual Attention Network),这种网络具有以下两点属性:

  • 增加更多的注意力模块可以线性提升网络的分类性能,基于不同深度的特征图可以提取额外的注意力模型。
  • 残差注意力模型可以结合到目前的大部分深层网络中,做到end-to-end训练结果,因为残差结构的存在,可以很容易将网络扩展到百数层。并且使用该种策略可以在达到其他大网络的分类准确率的同时显著降低计算量(计算量基本上为ResNet大网络的69%左右)
1.png

上图中左图显示了在残差注意力网络中主干网络和注意力模块之间的关系,注意力模块为主干网络以某一个特征图为节点的分叉子网络;右图中的结果显示网络模型中,不同层特征图响应的注意力不同,在浅层结构中,网络的注意力集中于背景等区域,而在深层结构中,网络的注意力特征图(Attention Feature Map)聚焦于待分类的物体。这与之前的很多工作结论类似,那就是深层次的特征图具有更高的抽象性和语义表达能力,对于物体分类较浅层特征有较大的作用。

本文的主要贡献点为:

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

Related Work

略(感兴趣可以翻论文查看)

Residual Attention Network

最终论文提出的残差注意力网络主要由多层注意力模块堆叠而成,每个注意力模块包含了两个分支:掩膜分支(mask branch)和主干分支(trunk branch)。其中主干分支可以是当前的任何一种SOTA卷积神经网络模型,掩膜分支通过对特征图的处理输出维度一致的注意力特征图(Attention Feature Map)),然后使用点乘操作将两个分支的特征图组合在一起,得到最终的输出特征图。

假如主干分支输出特征图为T_{i,c}(x),掩膜分支的输出特征图为M_{i,c}(x),那么最终该注意力模块的输出特征图为:

H_{i,c}(x) = T_{i,c}(x) * M_{i,c}(x)

Attention Residual Learning

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

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

为了解决上述问题,作者使用了下列公式来替代注意力模块的输出:

H_{i,c}(x) = (1 + M_{i,c}(x)) * F_{i,c}(x)

M_{i,c}(x)为[0, 1]区间内的取值,与1相加之后可以很好的解决一中提出来的会降低特征值的问题;到这个部分本文与残差网络的区别在于,残差网络的公式H_{i,c}(x) = x + F_{i,c}(x)F_{i,c}(x)学习的是输出和输入之间的残差结果,而在本文中,F_{i,c}(x)是由一个深层的卷积神经网络结构来学习拟合。结合掩膜分支输出的结果,可以使得F_{i,c}(x)的输出特征图中重要的特征得到加强,而不重要的特征被抑制。最终,不断地叠加注意力模块可以使得逐渐的提升网络的表达能力。上图中显示越是深层,注意力模型的注意力机制会更加关注在对分类有帮助的目标上。

Soft Mask Branch

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

2.png

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

3.png

Spatial Attention and Channel Attention

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

4.png

论文作者也对三种Attention方法的分类结果做了对比,对比结果如下所示:

5.png

Network Structure

网络的结构如下所示:

6.png

上图是一个使用在ResNet-50上的例子,可以看出来和原始的ResNet的区别就是在每个阶段的Residual Block之间增加了Attention Module,可以看到最小的输出特征图的宽高大小为7x7,上文中说到,在每一个Soft Mask Branch中对于input的特征图,会不断地卷积操作之后使用Max-Pooling降采样,文中降采样的宽高维度下限就是网络的最小输出特征图,比如这里的7x7。

Experiments

作者对使用Residual Attention机制的不同网络结构在Cifar10、Cifar100和ImageNet上做了分类实验,结果如下所示:

7.jpg

总的来说,作者在实验部分做了很多充分的对比实验和定量分析,感兴趣的话可以直接阅读论文相关部分的实验结果。

Conclusion

深度学习发展到现在,有很多工作开始逐渐的转向Attention的融合上去做,过去通过一个单一结构的网络提取整张图像的特征用于分类、检测和分割,其实从人脑配合人眼的机制去思考,这种方法不一定是最优的,每一个图像样本都具有内容性,而且基本一张图片的内容并不会均匀分布在画面中的每一块区域,对于图像的内容区域使用Attention机制进行辅助可以增强有效信息同时抑制无效信息。目前这一方法被用于大部分计算机视觉任务中。

论文原文 - Residual Attention Network for Image Classification

代码实现 - fwang91/residual-attention-network

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容