
注意力增强的卷积网络
引用
Bello I, Zoph B, Vaswani A, et al. Attention augmented convolutional networks[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019: 3286-3295.
摘要
卷积网络一直是许多计算机视觉应用中的首选范式。然而,卷积操作存在一个明显的弱点,即它只对局部邻域进行操作,因此缺少全局信息。另一方面,自注意力已经成为捕捉长距离相互作用的方法,但大多被应用于序列建模和生成式建模任务。本文中,我们考虑将自注意力用于判别视觉任务,将其作为卷积的替代方法。我们引入了一种新颖的二维相对自注意力机制,该机制被证明在取代卷积作为图像分类的独立计算单元方面具有竞争力。我们在控制实验中发现,把卷积和自注意力结合起来时可以得到最好的效果。因此,我们建议使用这种自注意力机制来增强卷积算子,将卷积特征图与通过自注意力产生的一组特征图连接起来。广泛的实验表明,注意力增强可在参数个数保持基本相似的情况下,使ImageNet上的图像分类和COCO上的物体检测在许多不同的模型和规模上有一致的效果提升,其中也包括了ResNets和最先进的移动受限网络。特别的,我们的方法在ImageNet分类上比ResNet50基线提高了1.3%的top-1准确率,并超过了其他图像的注意力机制,如Squeeze-and-Excitation。在COCO物体检测中,其相较RetinaNet基线上取得了1.4mAP的提升。
介绍
卷积神经网络在许多计算机视觉应用中取得了巨大的成功,特别是在图像分类方面。卷积层的设计规定1)通过有限感受野实现局部性;2)通过权重共享实现转换的等变性。在设计对图像进行操作的模型时,这些特征被证明是至关重要的归纳偏置。然而,卷积核的局部性使其无法捕捉到图像中的全局背景,而这往往是更好地识别图片中物体所必需的。
另一方面,自注意力是最近出现的一种捕捉长距离相互作用的进步技术,但其大多都被应用于序列建模和生成式建模任务。自注意力的关键思想是产生一个由隐藏单元计算出的数值的加权平均值。与池化或卷积运算不同,加权平均计算中使用的权重是通过隐藏单元之间的相似度函数动态产生的。因此,输入信号之间的相互作用取决于信号本身,而非像卷积那样由它们的相对位置预先确定。特别的,这使得自注意力能够在不增加参数数量的情况下捕捉长距离的相互作用。
图1 注意力增强系统地改善了各种不同规模的网络的图像分类。ImageNet与基线模型(ResNet)、逐通道式注意力增强模型(SE-ResNet)和我们提出的架构(AA-ResNet)的参数数量与分类准确率的比较。
本文中,我们考虑将自注意力应用于判别视觉任务中,将其作为卷积的替代方法。我们开发了一种新颖的二维相对自注意力机制,该机制在保持平移等变性的同时注入了相对位置信息,使其很适合于图像。我们的自注意力机制被证明在完全取代卷积方面具有竞争力,但我们在对照实验中发现,最好的结果是结合两者使用时获得的。因此,我们并没有完全放弃卷积的想法,而是建议用这种自注意力机制来增强卷积。这是通过将卷积特征图(其可加强局部性)与能对长范围依赖关系进行建模的自注意力特征图连接起来而实现的(参见图2)。
图2 注意力增强卷积:对于每个空间位置 (h, w),图像的Nh注意力图从检索和键计算而得。这些注意力图用于计算值V的Nh加权平均值。在这之后,将结果拼接起来,重构矩阵形状以匹配原始体积的空间维度,并与逐点卷积混合。多头注意力与标准卷积操作并行应用,并且输出是连接在一起的。
我们在CIFAR-100和ImageNet分类、COCO对象检测任务上测试我们的方法,其涵盖了大量不同计算力的架构,包括了最先进的资源受限架构。
注意力增强以最小额外计算代价产生了系统性的改进,并且在所有实验中明显优于流行的Squeeze-and-Excitation逐通道注意力方法。特别的,在ResNet50基线的基础上,注意力增强实现了ImageNet 1.3%的top-1准确率的提升,在RetinaNet基线的基础上实现了1.4 mAP 的 COCO 对象检测提升。令人惊讶的是,实验还表明,完全自注意力模型(注意力增强的一种特殊情况)在ImageNet上的表现只比完全卷积模型稍差,这表明自注意力是一个强大且独立的图像分类计算单元。
方法
我们使用以下命名约定:H、W 和 Fin 指的是激活图的输入过滤器的高度、宽度和数量。Nh、dv和dk分别表示多头注意力(MHA)中的头数、值的深度以及查询和键的深度。我们进一步假设Nh将dv和dk平均划分,并使用表示值的深度和每个注意力头的检索/键深度。
图像上的自注意力
给定形状为(H,W,Fin)的输入张量,我们将其展平为矩阵,并按照Transformer架构中的建议使用多头注意力方法。单个头h的自注意力机制的输出可以表示为:
其中是所学习的线性变换,其映射输入X到检索Q=XWq,键K=XWk和值V=XWv上。然后将所有头的输出连接并再次投影,如下所示:
其中,的内存成本,因为它需要为每个头存储注意力图。
二维位置嵌入
在没有关于位置的明确信息的情况下,自注意力是置换等变的:
对于像素位置的任何排列π,其无法对高度结构化的数据(例如图像)进行建模。为了缓解相关问题,人们提出了多种位置编码,用明确的空间信息增强激活图。特别的,Image Transformer将最初的Transformer中引入正弦波,以扩展二维输入,CoordConv将位置通道连接到激活图中。
然而,这些编码对我们的图像分类和目标检测实验并无帮助。我们假设这是因为这样的位置编码虽然不是置换等变的,但其亦不满足平移等变(其是处理图像时的理想属性)。作为一种解决方案,我们建议将相对位置编码的使用扩展到二维,并提出基于Music Transformer的内存高效实现。
相对位置嵌入:相对自注意力通过相对位置嵌入增强了自注意力,并在防止置换等变的同时实现转换等变。我们通过独立添加相对高度信息和相对宽度信息来实现二维的相对自注意力。有多少像素i=(ix,iy)关注像素j=(jx,jy)的注意力对数计算如下:
其中qi是像素i的检索向量(Q的第i行),kj是像素j的键向量(K的第j行),分别是相对宽度jx−ix和相对高度jy−iy的学习嵌入。现在头h的输出变为:
其中 是沿高度和宽度维度的相对位置对数矩阵,满足。
我们将之前的研究者所提出的高效内存的相对遮罩注意力算法扩展到二维输入的无遮罩相对自注意力上。我们实现的内存占用最终为参数来模拟沿高度和宽度的相对距离。
注意力增强卷积
多个先前提出的对图像的注意力机制表明,卷积算子受到其局部性和缺乏对全局背景的理解的限制。这些方法通过重新校准卷积特征图来捕捉长距离的依赖关系。与前人方法相比,我们1)使用一种注意力机制,可以共同关注空间和特征子空间(每个头对应一个特征子空间);2)引入额外的特征图而不是细化它们。图2总结了我们提出的增强卷积。
连接卷积和注意力特征图:考虑核大小为k、输入过滤器为Fin、核输出过滤器为Fout的卷积算子。相应的注意力增强卷积可以写成:
我们用表示键深度与原始输出过滤器数量的比例。与卷积类似,所提出的注意力增强卷积1)与平移等变;2)易对不同空间维度的输入进行操作。
对参数数量的影响:多头注意力引入了一个带有 Fin 输入过滤器和输入和输出过滤器,以混合不同头的贡献。考虑到卷积部分过滤器的减少,这会导致参数发生以下变化:
其中,为了简单起见,我们忽略了相对位置嵌入所引入的参数,因为这些参数可以忽略不计。在实践中,取代3x3卷积时,会导致参数的轻微减少,而取代1x1卷积时,参数会轻微增加。有趣的是,我们在实验中发现,注意力增强的网络仍然明显优于完全卷积的对应网络,而使用的参数更少。
注意力增强卷积架构:在我们所有的实验中,增强卷积之后是一个批量归一化层,它可以学习缩放卷积特征图和注意力特征图的贡献。我们对每个残差块应用一次增强卷积,并在内存允许的情况下沿整个架构应用。
由于内存成本对于大空间维度可能过高,我们从最后一层(具有最小空间维度)开始使用注意力增强卷积,直到我们遇到内存限制。为了减少增强网络的内存占用,我们通常采用较小的批处理规模,有时还对应用最大空间维度的层中的自注意力的输入进行下采样。下采样是通过应用步长为2的3x3平均池化来进行的,而之后的上采样(连接所需)是通过双线性插值获得的。
实验
我们在CIFAR100、ImageNet和COCO数据集上测试了标准计算机视觉架构,例如ResNets和MnasNet的注意力增强。我们的实验表明,注意力增强可以在广泛的体系结构和计算需求中对图像分类和对象检测任务进行系统改进。我们验证了所提出的二维相对注意力机制在消融实验中的实用性。在所有实验中,我们用自注意力特征图代替卷积特征图,因为它可以更容易地与基线模型进行比较。除非另有说明,所有结果都对应于我们的二维相对自注意力机制。
CIFAR-100 图像分类
我们首先使用 Wide ResNet架构研究注意力增强如何在CIFAR-100(低分辨率图像的标准基准)上执行。表1展示了注意力增强在相似的参数和复杂性成本下提高了基线网络和Squeeze-and-Excitation的性能。
表1 使用 Wide-ResNet 28-10架构在CIFAR-100数据集上进行图像分类。
使用 ResNet 进行ImageNet图像分类
表 2 在 ResNet50 架构上对通道和空间注意力机制 BAM、CBAM和 GALA的注意力增强进行基准测试,通道缩减率 σ = 16。与先前提出的注意力机制相比,注意力增强提供了具有竞争力的准确性/计算权衡。表3比较了不同网络规模的非增强网络和 Squeeze-and-Excitation (SE)。在所有实验中,注意力增强显着提高了非增强基线的性能,并且明显优于 Squeeze-and-Excitation。值得注意的是,我们的 AA-ResNet-50 与基线 ResNet-101 的表现相当,我们的 AA-ResNet-101 优于基线 ResNet-152。这些结果表明,注意力增强比简单地把网络做得更深而言更可取。
表2 不同注意力机制在 ImageNet 数据集上的图像分类性能。 ∆指的是在单个Tesla V100 GPU上使用Tensorflow的批处理量为128时的ResNet50相比,所增加的延迟时间。为了公平比较,我们还包含了 top-1 结果(在括号中),该结果是在ResNet50为基线、放缩网络宽度以匹配~25.6M的参数的情况下得到的。
表3 ImageNet数据集在一系列ResNet架构上的图像分类结果:ResNet-34、ResNet-50、Resnet-101和ResNet-152。
使用 MnasNet 进行 ImageNet 分类
在表 4 中,我们报告了基线MnasNet及其在不同宽度倍数下的注意力增强变体的ImageNet准确率。我们的实验表明,注意力增强在所有宽度倍数下都能提高准确性。使用相对自注意力增强MnasNet会导致参数略有增加,但是我们在图3中验证了准确率的提高不仅仅可以通过参数增加来解释。此外,我们注意到MnasNet架构在通过架构搜索最佳选择的位置时采用了 Squeeze-and-Excitation,这进一步表明了我们方法的好处。
表4 基线和注意力增强的MnasNet准确率,宽度倍数为0.75、1.0、1.25 和 1.4。
图3 在宽度倍数为0.75、1.0、1.25和1.4的情况下,MnasNet(黑色)和注意力增强MnasNet(红色)的ImageNet top-1准确率和参数数量的关系。
使用 COCO 数据集进行目标检测
如表 5 所示,我们的相对自注意力机制提高了RetinaNet在ResNet-50和ResNet101上的性能。此外,我们的实验表明,尽管在压缩率σ∈{4,8,16}上进行了网格搜索,在 RetinaNet 的骨干网络中添加 Squeeze-and-Excitation 算子会显著损害性能。
表5 使用具有不同主干结构的RetinaNet架构在 COCO 数据集上进行对象检测。我们报告了三个不同 IoU 值的平均准确率。
消融研究
全注意力视觉模型:本节中,我们研究了注意力增强的性能与注意力通道的比例的关系。当我们把这个比例增加到100%时,我们开始用一个全注意力模型来取代ConvNet。表6列出了ResNet-50架构上注意力增强在不同比率κ=υ∈{0.25, 0.5, 0.75, 1.0}下的性能。结果表明,大部分情况下,采用注意力通道是很有竞争力的。
表6 具有不同注意力通道比例的注意力增强 ResNet-50。
这些实验还表明,我们提出的自注意力机制是一个强大的、独立的图像分类计算单元,且全注意力模型对于分辨性视觉任务是可行的。
位置编码的重要性:图4中,我们展示了提出的二维相对位置编码作为注意力通道分数的函数的效果。实验表明,随着架构采用更多注意力通道,我们的相对位置编码变得越来越重要。
图4 在我们的注意力增强的ResNet50上,随着注意力通道比例的增加,相对位置嵌入的效果。
我们另外将我们提出的二维相对位置编码与其他位置编码方案进行了比较。在表7和表8中,我们分别展示了各位置编码方案在ImageNet分类和COCO物体检测任务的结果。在这两项任务中,没有位置编码的注意力增强已经超越了完全卷积的非增强变体。我们的实验还表明,正弦编码和坐标卷积并不会提升对位置无感知版本的注意力增强效果。当使用我们的二维相对注意力时,我们获得了额外的提升,这证明了其可在防止置换等变的同时保留转换等变的效用。
表7 注意力增强中不同位置编码对ImageNet分类的影响。
表8 注意力增强中不同位置编码对使用RetinaNet AA-ResNet-50 骨架的COCO物体检测任务的影响。
讨论与今后工作
本项工作中,我们考虑把自注意力用于视觉模型,将其作为卷积的替代。我们为图像引入了一种新颖的二维相对自注意力机制,首次实现了在图像分类上训练有竞争力的完全自注意力的视觉模型。我们建议用这种自注意力机制来增强卷积算子,并验证了这种方法比其他注意力方案的优越性。广泛的实验表明,在各类的架构和计算环境下,注意力增强能提升图像分类和物体检测任务的系统效果。
这项工作还存在几个未解决问题。在未来的工作中,我们将专注于完全注意力制度,并探索不同的注意力机制是如何在计算效率与表示能力之间进行权衡的。此外,在使用自注意力机制时,完全依赖卷积的架构设计选择似乎是次优的,因此,尝试在自动架构搜索中使用注意力增强作为单元,以尝试找到比以前更好的图像分类、对象检测、图像分割等领域的模型是非常有趣的。最后,人们可以问:在视觉任务中,完全注意力模型在多大程度上能取代卷积网络?