Residual Attention Network for Image Classification
代码地址:
https://github.com/fwang91/residual-attention-network
论文地址: https://openaccess.thecvf.com/content_cvpr_2017/papers/Wang_Residual_Attention_Network_CVPR_2017_paper.pdf
摘要
提出了一种使用注意力机制的卷积神经网络,可以以端到端的训练方式与最先进的前馈网络架构结合。它是通过堆叠产生注意力感知特征的注意力模块来构建的。不同模块的注意力感知特征随着层次的加深而自适应变化。在每个注意模块内部,采用自下而上、自上而下的前馈结构,将前馈和反馈注意过程展开为一个单一的前馈过程。 重要的是,本文提出了注意力残差学习来训练非常深的残差注意力网络,它可以很容易地扩展到数百层。
在CIFAR-10和CIFAR-100数据集中进行了验证。实现了最先进的目标识别性能。与ResNet-200相比,本文的方法实现了0.6%的top1的精度改进,深度为46%,正向触发器为69%。同时,该网络对噪声标签具有鲁棒性。
实验
数据集:CIFAR-10、CIFAR-100、ImageNet来评估残差注意力网络的性能
第一部分:
残差注意力网络各部分组成的必要性和有效性,讨论了抗噪特性,使用CIFAR-10、CIFAR-100数据集进行实验。
第二部分:
更换了Inception模块和ResNeXt中的残差单元来证明本文的残差注意力网络在参数有效性和最终性能。使用ImageNet数据集进行实验。
实现(第一部分)
CIFAR-10和CIFAR-100数据集分别由10类和100类的6万张32×32彩色图像组成,其中5万张训练图像和1万张测试图像。采用应用广泛的最新网络结构ResNet作为基线方法。ResNet论文[10]相同。图像每边填充4个像素,填充0值,得到40 × 40的图像。从图像或其水平翻转中随机采样一个32 × 32的裁剪,并减去每像素的RGB平均值。我们采用与之前研究[9]相同的权重初始化方法,使用nesterov SGD训练残差注意网络,小批大小为64。使用0.0001的权值衰减,动量为0.9,并将初始学习率设置为0.1。学习率在64k和96k迭代时除以10。我们在160k次迭代时终止训练。
该网络由3个阶段组成,与ResNet[10]类似,每个阶段堆叠相同数量的注意模块。此外,我们在每个阶段添加两个剩余单元。中继分支加权层数为36m+20,其中m为一级注意模块的层数。我们使用原始的32 × 32图像进行测试。
残差注意力学习(评估有效性)
使用NAL(Native attention learning)作为基线:使用注意力学习,特征通过软掩模直接点积,不需要注意残差学习。在CIAFR-10的数据集上测试
为了理解注意力残差学习,计算每个阶段输出层的平均绝对响应值。使用Attention-164网络做对比
使用注意剩余学习训练的网络相比,在四个注意模块之后,由使用NAL训练的的网络生成的响应在阶段2中迅速消失。
注意模块的缺点:通过在特征和软掩模之间应用点积来抑制噪声,同时保留有用信息。然而,在此过程中,重复的点积将导致有用信息和无用信息的严重退化。
而本文注意残差学习可以利用相同映射消除信号衰减,增强特征对比度。在不损失显著信息的情况下,降低了噪声,使优化更加容易,同时提高了对表征特征的辨别能力。
不同掩模结构的比较
通过局部卷积和编码器解码器(本文)比较,在CIAFR-10的数据集上测试。
与没有任何下采样或上采样的局部卷积进行比较来验证编码器结构的有效性
局部卷积软掩码:由三个使用相同数量flop的残差单元组成。
Attention-Encoder-Decoder-56网络的测试误差为5.52% ,而注意local-Conv-56网络的测试误差为6.48% ,相当大的误差为0.94% 。
结果表明,软注意优化过程受益于多尺度信息。
噪声标签的鲁棒性
对不同噪声水平下的ResNet-164网络和Attention-92网络进行了比较
在相同噪声水平下,Attention-92网络的测试误差显著低于ResNet-164网络。
噪声比增加时,与ResNet164网络相比,Attention-92的测试误差下降缓慢。
当标签有噪声时,相应的掩码可以防止标签错误引起的梯度,以更新网络中的中继支路参数。
与最先进的方法比较
剩余注意力网络与最先进的方法进行比较,包括ResNet[11]和Wide ResNet[39]在CIAFR-10/100的数据集上测试 ,在相似的参数大小下,本文的方法优于所有基线方法。
在相似的参数大小下,Attention-92网络在CIFAR10上实现了4.99%的测试误差,在CIFAR-100上实现了21.71%的测试错误,相比在ResNet-164网络中,CIFAR-10和CIFAR100上的测试误差分别为5.46%和24.33%。
同时,同时,Attention-236仅使用一半的参数就优于ResNet-100的性能。
这表明我们的注意模块和注意剩余学习方案可以有效地减少网络中的参数数量,同时提高分类性能。
ImageNet 分类(第二部分)
使用ImageNet LSVRC 2012 数据集,该数据集包含1000个类,包含120万张训练图像、50000张验证图像和100000张测试图像。在ImageNet LSVRC 2012验证集的非黑色图像上进行评价。我们使用Attention-56和Attention-92进行实验。
具体实现
遵循前面研究[20]ImageNet中的实践,我们对原始图像应用缩放和纵横比增强[33]。从放大图像或其水平翻转中随机采样224×224裁剪,每像素RGB比例为[0,1],减去平均值并除以标准方差。我们采用标准颜色增强[20]。使用动量为0.9的SGD对网络进行训练。我们将初始学习速率设置为0.1。在200k、400k、500k迭代时,学习速率除以10。我们在530k次迭代时终止训练。
模型对掩码的影响
将Attention-56和ResNet-152进行比较
ResNet-152:有50个主干残差单元和60.2M参数
Attention-56:有18个主干残差单元和31.9M参数
实验证明:Attention-56优于ResNet-152,仅仅52%的参数和56%的FLOPs,性能还比ResNet-152优越(top-1 error 相差0.4% top-5 error 相差0.26%)
这表明所提出的注意力机制可以显著提高网络性能,同时降低模型复杂度。
不同的基本单元(体现模块的泛化能力)
本文应用三个流行的基本单元:残差单元、ResNeXt[36]和Inception[32]来构建我们的剩余注意力网络。(不变量是注意力模块)
对于ResNeXt来说,AttentionNeXt-56网络性能与ResNeXt-101相同,而参数和触发器明显少于ResNeXt-01。
对于Inception来说,Attention-56比Inception-ResNet-v1[32]top-1 error性能高出0.94%,top-5 error性能高出0.21%。
实验表明:本文的方法可以应用于不同的网络结构。
与最先进的方法比较
Attention-92与最先进的算法进行比较,使用single crop的ILSVRC 2012验证集评估。
与Resnet-200比较,top-1 error减少了0.6%,而Resnet-200的参数比Attention-92多32%。
实验表明:与Resnet-200比较,本文的网络通过添加注意机制和减少主干深度,具有较高的效率和良好的性能。