AAConv
Attention Augmented Convolutional Networks
https://arxiv.org/abs/1904.09925v5 ICCV 2019
https://readpaper.com/paper/2981413347
摘要:卷积网络已经成为许多计算机视觉应用的范例。然而,卷积运算有一个明显的缺点,它只对局部邻域进行运算,因此缺少全局信息。另一方面,自注意作为捕捉远程交互的最新进展出现,但主要应用于序列建模和生成性建模任务。在本文中,我们考虑使用自注意的辨别性视觉任务作为替代卷积。我们介绍了一种新的二维相对自注意机制,它在取代卷积作为独立的图像分类计算原语方面具有竞争力。我们在对照实验中发现,卷积和自注意相结合的效果最好。因此,我们建议通过将卷积特征映射与通过自注意生成的一组特征映射拼接起来,用这种自注意机制来增强卷积算子。大量实验表明,在保持参数数量相似的情况下,注意力增强可以使ImageNet上的图像分类和COCO上的目标检测在许多不同的模型和尺度上得到一致的改进,包括RESNET和最先进的移动约束网络。特别是,与ResNet50基线相比,我们的方法在ImageNet分类上实现了1.3%的top-1精度改进,并且优于其他图像注意机制,如挤压和激发。它还实现了在RetinaNet基线上COCO目标检测1.4MAP的改进。
图11.引言
卷积神经网络在许多计算机视觉应用中取得了巨大的成功,特别是在图像分类方面[24,23]。卷积层的设计1)通过有限的感受野施加局部性,2)通过权重共享施加平移等变性。当设计在图像上运行的模型时,这两个特性被证明是至关重要的归纳偏置。然而,卷积核的局部性质阻止它捕获图像中的全局上下文,这通常是更好地识别图像中的对象所必需的[33](Andrew Rabinovich, Andrea Vedaldi, Carolina Galleguillos, Eric Wiewiora, and Serge Belongie. Objects in context. 2007. 1)。
参考文献[33]中的图1。https://readpaper.com/paper/2081293863。其摘要的第一句话是:In the task of visual object categorization, semantic context can play the very important role of reducing ambiguity in objects' visual appearance.另一方面,自注意[43]作为捕捉远程交互的最新进展出现,但主要应用于序列建模和生成性建模任务。自注意背后的关键思想是产生从隐藏单位计算出的值的加权平均值(produce a weighted average of values computed from hidden units)。与池运算或卷积运算不同,加权平均运算中使用的权重是通过隐藏单元之间的相似函数动态生成的。因此,输入信号之间的相互作用取决于信号本身,而不是像卷积中那样由其相对位置预先确定。特别是,这允许自注意捕捉远程交互,而不增加参数的数量。
在本文中,我们考虑使用自注意的辨别性视觉任务作为替代卷积。我们开发了一种新颖的二维相对自注意机制[37],该机制在注入相对位置信息的同时保持平移等变性,使其非常适合图像。我们的自注意公式证明完全取代卷积是有竞争力的,但是我们在控制实验中发现,当两者结合时,可以获得最好的结果。因此,我们并没有完全放弃卷积的概念,而是提议用这种自注意机制来增强卷积。这是通过将卷积特征映射(强制局部性)拼接到能够建模更长范围依赖关系的自注意特征映射来实现的(见图2)。
图2我们在CIFAR-100和ImageNet分类[22,9]以及COCO目标检测[27]任务上测试了我们的方法,在不同的计算预算下,跨越了广泛的架构,包括最先进的资源受限架构[42]。在所有实验中,注意力增强在最小额外计算负担的情况下产生系统性的改进,显著优于流行的挤压和激发[17]通道性注意力方法。特别是,注意力增强在ResNet50基线上实现了1.3%的top-1精度ImageNet,在RetinaNet基线上实现了1.4 mAP的COCO目标检测增加。令人惊讶的是,实验还表明,完全自注意模型(注意增强的一种特殊情况)的性能仅略差于ImageNet上的完全卷积模型,这表明自注意是一种强大的独立图像分类计算原语。
2.相关工作
2.1. 卷积网络
现代计算机视觉已经建立在强大的图像特征化器的基础上,这些特征化器是在图像分类任务(如CIFAR-10[22]和ImageNet[9])中学习到的。这些数据集已被用作基准,用于在广泛的任务范围内描绘更好的图像特征和网络架构[21]。例如,改进“主干”网络通常会改进目标检测[19]和图像分割[6]。这些观察结果启发了新架构的研究和设计,这些新架构通常是由一系列空间尺度和跳连的卷积运算组合而成[23、41、39、40、14、47、13]。事实上,基于卷积原语设计架构的自动搜索策略可在大规模图像分类任务上实现最先进的精度,这些任务可在一系列任务中转换[55,21]。
2.2. 网络中的注意机制
由于能够捕捉远距离交互,注意力作为序列建模的计算模块已被广泛采用[2,44,4,3]。最值得注意的是,Bahdanau等人[2]首次提出将注意力与递归神经网络[15]相结合,用于机器平移中的对齐。Vaswani等人[43]进一步扩大了人们的注意力,其中自注意Transformer结构在机器平移方面取得了最先进的成果。在自然语言处理[49]和强化学习[52]的最新工作中,将自注意与卷积结合使用是一个共同的主题。例如,QANet[50]和Evolved Transformer[38]架构分别在问答应用和机器平移的自注意层和卷积层之间交替。此外,视觉任务中提出了多种注意机制,以解决卷积的弱点[17,16,7,46,45,53]。例如,挤压和激发[17]和聚集激发[16]使用从整个特征图聚合的信号重新称重特征通道,而BAM[31]和CBAM[46]在通道和空间维度上独立细化卷积特征。在非局部神经网络[45]中,通过在卷积结构中使用自注意的几个非局部残差块的加法使用,视频分类和目标检测得到了改进。但是,非局部块仅在ImageNet预训练后添加到架构中,并以不会中断预训练的方式进行初始化。
相比之下,我们的注意力增强网络不依赖于其完全卷积对应物的预训练,而是在整个架构中使用自注意。多头注意的使用使得模型能够同时关注空间和特征子空间。此外,我们还通过将相对自注意[37,18]扩展到二维输入,增强了自注意对图像的表征能力,从而使我们能够以一种有原则的方式对平移等变进行建模。最后,我们的方法产生额外的特征映射,而不是通过加法[45,53]或选通[17,16,31,46]重新校准卷积特征。此属性允许我们灵活地调整注意力信道的分数,并考虑从完全卷积到完全注意模型的架构的频谱。
3.方法
现在,我们正式描述我们提出的注意增强方法。我们使用以下命名约定:H、W和Fin表示激活映射的输入过滤器的高度、宽度和数量。Nh、dv和dk分别表示多头部注意(MHA)中头部的数量、值的深度以及查询和键的深度。我们进一步假设Nh将dv和dk平均分割,并表示每个注意头的值和查询/键的深度dhv和dhk。
3.1. 图像的自注意
给定一个形状为(H,W,Fin)的输入张量,1我们将其展平为矩阵X∈ R HW×Fin,并按照Transformer结构[43]中的建议执行多头注意。单头h的自注意机制的输出可表示为:
Wq,Wk在哪里∈ R鳍×d h k和Wv∈ R Fin×d h v是学习的线性变换,将输入X映射到查询Q=XWq、键K=XWk和值v=XWv。然后,将所有注意头的输出连接起来,并再次投影,如下所示:
我在哪里∈ rdv×dv是一种学习的线性变换。然后将MHA(X)重塑为形状张量(H,W,dv)以匹配原始空间维度。我们注意到,由于需要为每个头部存储注意图,因此多头部注意会产生O((HW)2dk)的复杂性和O((HW)2Nh)的内存开销。
3.1.1二维位置嵌入
没有关于位置的明确信息,自注意是置换等变的:
对于像素位置的任何排列π,这使得它对于建模高度结构化的数据(如图像)无效。为了缓解相关问题,已经提出了使用显式空间信息增强激活图的多个位置编码。具体而言,图像变换器[32]将最初引入原始变换器[43]中的正弦波扩展到二维输入,并且CoordConv[29]将位置通道连接到激活映射。
然而,这些编码对我们的图像分类和目标检测实验没有帮助(见第4.5节)。我们假设这是因为这样的位置编码,虽然不是置换等变,但不满足平移等变,这是处理图像时需要的特性。作为一种解决方案,我们建议将相对位置编码[37]的使用扩展到二维,并提出一种基于音乐转换器的高效内存实现[18]。
相对位置嵌入:在[37]中介绍,为了进行语言建模,相对自注意通过相对位置嵌入增强自注意,并在防止排列等变的同时实现平移等变。我们通过独立添加相对高度信息和相对宽度信息来实现二维相对自注意。像素i=(ix,iy)对像素j=(jx,jy)的关注度logit计算为:
其中,qi是像素i(Q的第i行)的查询向量,kj是像素j(K的第j行)和rW jx的关键向量−ix和r H jy−iy是相对宽度jx的学习嵌入−ix和相对高度jy− 分别是iy。水头h的输出现在变为:
哪里是相对的H,哪里是相对的W∈ R HW×HW是沿高度和宽度尺寸的相对位置对数矩阵,满足S rel H[i,j]=q T i R H jy−iy和S rel W[i,j]=q T i rW jx−九,。[37]中的相对注意算法将所有相对嵌入rij显式存储在形状张量(HW,HW,dh k)中,因此产生额外的存储成本O((HW)2d h k)。这与不使用位置编码的位置无意识版本自注意的O((HW)2Nh)相比。由于我们通常有Nh<dh k,这样的实现可能被证明是非常禁止的,并且限制了可以放入小批量的图像数量。相反,我们将[18]中提出的高效记忆相对掩蔽注意算法扩展到二维输入上的非掩蔽相对自注意。我们的实现具有O(HW dh k)的内存开销。我们将该算法的Tensorflow代码保留在附录中。相对位置信息rh和rW在头部而非各层之间学习和共享。对于每一层,我们添加(2(H+W)− 2) d h k参数,用于模拟沿高度和宽度的相对距离。
3.2. 注意增强卷积
先前提出的多个图像注意机制[17,16,31,46]表明卷积算子受其局部性和缺乏对全局上下文的理解的限制。这些方法通过重新校准卷积特征映射来捕获长期依赖关系。特别是,挤压和激励(SE)[17]和GatherExcite(GE)[16]执行通道重称重,而BAM[31]和CBAM[46]独立重称重通道和空间位置。与这些方法相比,我们1)使用一种注意力机制,可以共同关注空间和特征子空间(每个头部对应一个特征子空间),2)引入额外的特征映射,而不是细化它们。图2总结了我们提出的增强卷积。
级联卷积和注意特征映射:形式上,考虑具有核大小K、鳍输入滤波器和FUT输出滤波器的原始卷积算子。相应的注意力增强卷积可以写成
我们将注意通道与原始输出滤波器数量的比率表示为Γ=dv,将关键深度与原始输出滤波器数量的比率表示为κ=dk。与卷积类似,所提出的注意力增强卷积1)与平移等价,2)可以容易地对不同空间维度的输入进行操作。我们在附录A.3中包含了建议的注意力增强卷积的Tensorflow代码。
对参数数量的影响:
多头注意引入一个1x1卷积,带有Fin输入滤波器和(2dk+dv)=Fout(2κ+Γ)输出滤波器,用于计算查询、键和值;另外一个1x1卷积,带有dv=FoutΓ输入和输出滤波器,用于混合不同头的贡献。考虑到卷积部分滤波器的减少,这导致参数发生以下变化:
为了简单起见,我们忽略了相对位置嵌入引入的参数,因为这些参数可以忽略不计。实际上,这会导致在替换3x3卷积时参数略有减少,在替换1x1卷积时参数略有增加。有趣的是,我们在实验中发现,在使用较少参数的情况下,注意力增强网络仍然显著优于完全卷积网络。
注意力增强卷积结构:
在我们的所有实验中,增强卷积之后是一个批量归一化[20]层,该层可以学习缩放卷积特征图和注意特征图的贡献。类似于其他视觉注意机制[17、16、31、46],我们在内存允许的情况下,在整个架构中对每个残差块应用一次增强卷积(更多详细信息,请参见第4节)。
由于内存成本O((Nh(HW)2)对于较大的空间维度可能是禁止的,因此我们从最后一层(最小的空间维度)开始增加注意力卷积直到我们遇到内存限制。为了减少增强网络的内存占用,我们通常采用较小的批量大小,有时还会在应用最大空间维度的层中对自注意的输入进行下采样。下采样通过应用3x3平均池和步长2来执行,而t随后的上采样(串联所需)通过双线性插值获得。
4.实验
在随后的实验中,我们在CIFAR100[22]、ImageNet[9]和COCO[25]上测试了标准计算机视觉架构(如Resnet[14、47、13]和MnasNet[42])上的注意力增强数据集。我们的实验表明,注意力增强能够在广泛的架构和计算需求中系统地改进图像分类和目标检测任务。我们验证了所提出的二维相对注意力机制在消融实验中的实用性。在所有实验中,我们将卷积特征图替换为自注意特征图,因为这有助于与基线模型进行比较。除非另有规定,否则所有结果都符合我们的二维相对自注意机制。实验细节见附录。
4.1. CIFAR-100图像分类
我们首先研究了在CIFAR-100[22]上注意力增强是如何执行的,CIFAR-100是低分辨率图像的标准基准,使用了广泛的ResNet架构[51]。Wide-ResNet-28-10架构由3级4个残差块组成,每个残差块使用两个3×3卷积。我们通过增加所有残差块的第一次卷积来增加Wide-ResNet-28-10,并相对注意使用Nh=8个头部和κ=2ν=0.2,每个头部至少有20个键的尺寸。我们将注意力增强(AA)与其他形式的注意力进行比较,包括挤压和激发(SE)[17]和聚集激发(GE)[16]的无参数公式。表1显示,在相同的参数和复杂度代价下,注意力增强在基线网络和挤压和激励上都能提高性能。
表14.2. 基于ResNet的ImageNet图像分类
接下来,我们将研究注意力增强如何在ImageNet[9,21]上执行,ImageNet是一个用于高分辨率图像的标准大规模数据集,跨越一系列架构。我们从ResNet架构开始[14,47,13],因为它的广泛使用和能够轻松地跨多个计算预算进行扩展。ResNet-34中的构建块包括两个3x3卷积,具有相同数量的输出滤波器。ResNet-50及其更大的对应物使用由1x1、3x3、1x1卷积组成的瓶颈块,其中最后一个逐点卷积扩展滤波器数量,而第一个逐点卷积收缩滤波器数量。我们通过增加3x3卷积来修改所有resnet,因为这减少了参数的数量。2我们在架构的最后3个阶段的每个残差块中应用注意力增强——当激活图的空间维度为28x28、14x14和7x7时——并且仅在第一阶段进行下采样。除了ResNet-34使用κ=Γ=0.25外,所有注意力增强网络都使用κ=2Γ=0.2。注意头的数量固定为Nh=8。
表2在ResNet50架构上,针对通道和空间注意机制BAM[31]、CBAM[46]和GALA[28]进行了通道缩减率σ=16的注意增强基准测试。尽管缺乏专门的内核(见附录A.3),但与先前提出的注意机制相比,注意增强提供了一种具有竞争力的准确性/计算权衡。表3比较了不同网络规模的非增广网络和挤压与激励(SE)[17]。在所有实验中,注意力增强显著提高了非增强基线的性能,显著优于挤压和激发(SE)[17],同时参数效率更高(图1)。值得注意的是,我们的AA-ResNet-50的性能与基线ResNet-101相当,我们的AA-ResNet-101的性能优于基线ResNet-152。这些结果表明,注意增强比简单地加深网络更可取。我们在附录中包括并讨论了不同像素位置的注意力图可视化。
表2 表34.3. 基于MnasNet的ImageNet分类
在本节中,我们通过使用MnasNet架构进行ImageNet实验来检查在资源受限环境下注意力增强的使用[42],MnasNet架构是一种参数效率极高的架构。特别是,MnasNet是通过神经架构搜索[54]发现的,仅使用高度优化的移动反向瓶颈块[36]和挤压和激励操作[17]作为其搜索空间中的原语。我们通过使用κ=2Γ=0.1和Nh=4个头替换扩展点方向卷积中的卷积通道,将注意力增强应用于移动反向瓶颈。我们的增强型MnasNet在MnasNet架构中18个块中的最后13个块中使用了增强型反向瓶颈,从空间维度为28x28开始。我们只在注意增强应用的第一阶段进行下采样。我们将最后的逐点卷积(也称为“头”)保持不变。
在表4中,我们报告了基线MnasNet及其在不同宽度乘数下的注意力增强变体的ImageNet精度。我们的实验表明,注意力增强可以提高所有宽度乘数的准确性。使用相对自注意增强MNASnet会导致参数略微增加,但是我们在图3中验证了精度的提高不仅仅是由参数增加解释的。此外,我们注意到MnasNet架构在多个位置采用挤压和激励,这些位置通过架构搜索进行了优化选择,进一步表明了我们方法的优势。
表4 图34.4. 基于COCO数据集的目标检测
接下来,我们在COCO数据集上研究了注意增强在目标检测任务中的应用[27]。我们使用开源的RetinaNet代码库,采用了ResNet架构和ResNet-50和ResNet-101主干,如[26]中所述。3我们在ResNet主干上唯一地应用注意增强,修改它们与在我们的ImageNet分类实验中类似。
如表5所示,我们的相对自注意机制提高了RetinaNet在ResNet-50和ResNet101上的性能。最值得注意的是,从[26]开始,注意力增强比强RetinaNet基线产生1.4%的mAP改善。与使用ImageNet在图像分类中成功地使用挤压和激发相比,我们的实验表明,在RetinaNet的主干网络中添加挤压和激发操作符会显著地影响性能,尽管网格搜索的挤压比σ∈ {4, 8, 16}. 我们假设定位需要精确的空间信息,SE在空间池操作期间丢弃这些信息,从而对性能产生负面影响。另一方面,自注意保持空间信息,并可能成功识别物体边界。注意力图的可视化(参见附录中的图9和图10)表明,一些头部确实在从背景中描绘物体,这可能对定位很重要。
表54.5. 烧蚀研究
全注意力视觉模型:
在这一节中,我们研究了注意增强的表现,作为注意通道分数的函数。当我们把这个分数增加到100%时,我们开始用一个完全注意的模型来代替ConvNet,只留下逐点卷积和脑干不变。表6显示了在不同比率κ=Γ的情况下,ResNet-50架构上注意力增强的性能∈ {0.25, 0.5, 0.75, 1.0}. 随着注意通道比率的增加,表现略有下降,我们假设这部分是由于在应用注意增强的第一阶段,降低采样的平均池操作造成的。然而,注意力增强对注意通道的比例却相当稳健。例如,κ=Γ=0.75的AA-ResNet50优于其对应的ResNet-50,同时更具参数和flops效率,这表明大部分使用注意通道是很有竞争力的。
表6也许令人惊讶的是,这些实验还揭示了我们提出的自注意机制是一种强大的独立图像分类计算原语,并且完全注意模型对于区分性视觉任务是可行的。特别是,κ=Γ=1的AA-ResNet-50只使用注意通道,其准确度仅比其完全卷积对应物差2.5%,尽管采用平均池下采样且参数少25%。值得注意的是,这种全神贯注的架构4也优于ResNet-34,同时具有更高的参数和触发器效率(见表6)。
位置编码的重要性:
在图4中,我们展示了我们提出的二维相对位置编码作为注意通道分数函数的效果。正如预期的那样,实验表明,随着架构使用更多的注意通道,我们的相对位置编码变得越来越重要。特别是,当使用相对位置编码时,完全自注意ResNet-50获得2.8%的top-1 ImageNet准确度,这表明有必要维护完全自注意视觉模型的位置信息。
图4此外,我们还将我们提出的二维相对位置编码与其他位置编码方案进行了比较。我们使用与4.2相同的超参数和以下不同的位置编码方案应用注意增强:1)自注意的位置无关版本(称为无),2)正弦波位置波的二维实现(称为2d正弦),如[32],3)CoordConv[29]中所用为此,我们将(x,y,r)坐标通道连接到注意函数的输入,以及4)我们提出的二维相对位置编码(称为相对)。
在表7和表8中,我们分别给出了ImageNet分类和COCO目标检测任务的结果。在这两项任务中,没有位置编码的注意力增强已经比完全卷积的非增强变体产生了改进。我们的实验还表明,正弦编码和坐标卷积并不能改善注意力增强的效果。当我们使用二维相对注意时,我们获得了额外的改进,证明了在防止置换等变的同时保持平移等变的效用。
图7 图85.讨论和今后的工作
在这项工作中,我们考虑使用视觉模型的自注意作为替代卷积。我们介绍了一种新颖的二维图像相对自注意机制,该机制首次能够训练竞争性完全自注意的图像分类视觉模型。我们建议用这种自注意机制来扩充卷积算子,并验证这种方法相对于其他注意机制的优越性。大量的实验表明,注意力增强可以在广泛的架构和计算环境中系统地改进图像分类和目标检测任务。
这项工作还有几个悬而未决的问题。在未来的工作中,我们将关注完全注意机制,并探索不同的注意机制如何权衡计算效率和表征能力。例如,识别局部注意机制可能会产生一种高效且可扩展的计算机制,该机制可以防止使用平均池进行下采样[34]。此外,当完全依赖于卷积时非常适合的架构设计选择在使用自注意机制时是次优的,这是合理的。因此,有趣的是,如果在自动化架构搜索过程中使用注意增强作为原语,发现比之前在图像分类[55]、对象检测[12]、图像分割[6]和其他领域[5,1,35,8]中发现的模型更好的模型是否有用。最后,我们可以问,在多大程度上,完全注意模型可以取代视觉任务中的卷积网络。
A.附录
A.1。实验细节
调谐
除非另有规定,否则我们使用参考基线代码库中的默认超参数,无需调优。在{0.1,0.2,0.5}中搜索κ,在{0.0,0.1,0.25,0.5,0.75,1.0}中搜索Γ,并根据内存限制选择注意头数(从8开始,必要时减少)。我们报告每次运行的最终精度,而不提前停止。
CIFAR-100
鉴于CIFAR-100图像的分辨率较低,我们不会在注意操作之前减少特征图的采样,而是采用较小的批量。我们使用动量为0.9的同步SGD(分布在8个特斯拉V100 GPU上)对500个时代的所有网络进行培训。对于前5%的训练周期,学习率从0线性扩展到0.2B/256,其中B是总批量,然后用余弦衰减进行退火[30]。我们使用标准的CIFAR预处理:平均归一化、随机翻转和裁剪[55,10,48]。非增广架构的训练批量为1024,权重衰减为2e-4。扩充架构的训练批量为256,权重衰减为5e-4。
基于ResNet的ImageNet分类
我们使用同步SGD,在8个特斯拉V100 GPU上的动量为0.9,重量衰减为1e-4,为100个时代培训所有ResNet架构。我们使用每个工人B的最大批量∈ {32,64,128,256}适合小批量的。初始学习率根据总批次大小线性调整,总批次大小为256,基本学习率为0.128。在培训期间,我们在前5%的培训阶段将学习率从0线性调整为该值,并在第30、60、80和90阶段将其除以10。我们使用[41]中所述的标准初始数据扩充。
基于MnasNet的ImageNet分类
我们遵循[42]中所述的训练设置,使用RMSProp优化器,使用指数学习率衰减,训练350个时代的所有网络。在训练我们的增强MNAS网络时,我们将学习率除以2,并调整学习率衰减,以便最终学习率保持不变。
基于COCO数据集的目标检测
我们遵循[26,11]中所述的设置,从头开始训练RetinaNet150个时代,而不使用针对ResNet主干的ImageNet预训练。
A.2。计算和内存成本
表9提供了每幅图像与自注意相关的计算成本明细。在每一层中存储注意图会导致Nh(HW)2 bfloat16的内存开销。由此推断,存储注意图的内存成本仅为存储模型参数所需内存(49MB)的1.2%。
表9图5和图6显示了我们的注意力增强网络在FLOPS计数中的准确性,它与硬件平台上的运行时间相关。
图5 图6A.3。二维相对自注意实现
虽然我们的方法很简单,只需要矩阵乘法、加法和softmax运算(方程式3和4),但我们的实现依赖于非平凡运算(例如平铺、转置和重塑),因为目前硬件平台上没有低级别内核。未来的工作可能会像以前对卷积所做的那样开发专门的内核。因此,我们认为当前的延迟时间(表2)反映了所提议的方法缺乏专门的工程,而不是效率低下。
图7 图8A.4。注意力可视化。
在图10中,我们展示了图9所示的输入图像的注意力地图可视化。我们看到,注意力集中的人学会了专注于不同的内容,特别是能够描绘物体的边界。
图9 图10