美文网首页
空间注意力的实验研究

空间注意力的实验研究

作者: Valar_Morghulis | 来源:发表于2021-12-27 18:09 被阅读0次

    编者注:本文介绍一篇2019年4月份来自MSRA的关于空间注意力的实验研究

    An Empirical Study of Spatial Attention Mechanisms in Deep Networks

    ★★★★★

    https://arxiv.org/abs/1904.05873            April 2019.

    https://readpaper.com/paper/2987761193

    https://arxiv.org/search/?query=Xizhou+Zhu&searchtype=all&source=header

    重点看图3和4.2节的分析。

    4.2节中的“0110”配置和LambdaNet(Bello,2021)有异曲同工之处,由于这篇工作发表更早,不知道LambdaNet是否受到这篇工作的影响。

    代码:https://github.com/open-mmlab/mmcv/blob/master/mmcv/cnn/bricks/generalized_attention.py

    https://github.com/open-mmlab/mmdetection/tree/master/configs/empirical_attention

    * Equal contribution. †This work is done when Xizhou Zhu and DazhiCheng are interns at Microsoft Research Asia.

    摘要:注意机制已经成为深层神经网络中一个流行的组成部分,但是很少有人研究不同的影响因素和从这些因素计算注意的方法如何影响性能。为了更好地理解注意机制,我们进行了一项实证研究,在一个广义注意公式中消冗各种空间注意元素,包括占主导地位的Transformer注意以及流行的变形卷积和动态卷积模块。这项研究在各种应用中进行,得出了关于深层网络中空间注意的重要发现,其中一些与传统理解背道而驰。例如,我们发现Transformer attention中的查询和键内容的比较对于自注意来说是可以忽略的,但是对于编码器-解码器注意来说却是至关重要的。变形卷积与仅键内容显著性的适当组合可以在自注意中实现最佳的准确性和效率权衡。我们的研究结果表明,在注意机制的设计上存在很大的改进空间。

    1.引言

    注意机制使神经网络能够更多地注意输入的相关元素,而不是不相关的部分。他们首先研究自然语言处理(NLP),其中编码器解码器注意力模块被开发来促进神经机器翻译[2, 31, 16 ]。在计算给定查询元素(例如,输出句子中的目标词)的输出时,根据查询对某些键元素(例如,输入句子中的源词)进行优先级排序。后来,提出了自注意模块来模拟句子内关系[7,29,33,34,41],其中键和查询都来自同一组元素。在一篇里程碑式的论文[41]中,介绍了Transformer attention模块,它取代了过去的工作,并大大超过了它们的性能。NLP中注意力建模的成功导致了它在计算机视觉中的应用,在计算机视觉中,不同类型的Transformer注意被应用于识别任务,如对象检测和语义分割[22、43、19、24、51、15],其中查询和键是视觉元素,如图像像素或感兴趣区域。

    对于给定的查询,为了确定某个键的注意权重,通常只考虑输入的几个属性。一个是查询的内容。对于自注意的情况,查询内容可以是图像中查询像素处的特征,或者是句子中单词的特征。另一个是键的内容,其中键可以是查询的局部邻域内的像素,或者是句子中的另一个单词。第三个是查询和键的相对位置。

    基于这些输入属性,有四个可能的注意因素,根据这些因素确定键相对于查询的注意权重,因为这些因素必须考虑有键的信息。具体来说,这些因素是(1)查询和键内容,(2)查询内容和相对位置,(3)仅键内容,以及(4)仅相对位置。在Transformer attention的最新版本[11](Transformer-XL)中,注意权重表示为四个项(E1、E2、E3、E4)的总和,如图1所示,每个项对应一个注意因素。这些术语所涉及的依赖关系的性质各不相同。例如,前两个(E1、E2)对查询内容敏感。然而,后两种(E3、E4)不考虑查询内容,而是分别主要捕获显著的键元素和利用全局位置偏差。虽然注意权重可以根据这些因素分解成项,但它们在各种推理问题中的相对重要性尚未在文献中得到仔细研究。此外,像可变形卷积[10,52]和动态卷积[44]这样的流行模块,虽然看起来与Transformer注意正交,但也采用了聚焦于输入的某些部分的机制。这些模块是否都可以从一个统一的角度来看待,以及它们的运作机制如何不同,也没有得到探讨。

    图1。不同注意项的说明。采样点上方的颜色栏表示其内容特征。内容特征和/或相对位置的存在与否表明该项将内容和相对位置是否用于注意力权重计算。

    在这项工作中,我们将Transformer 注意、变形卷积和动态卷积模块视为空间注意的各种实例,涉及不同的注意因素子集,并以不同的方式解释这些因素。为了理清不同注意因素和机制的影响,我们对空间注意进行了实证研究,其中注意机制的各种元素在广义注意公式中被消冗。这项研究是在各种应用,即神经机器翻译,语义分割,和对象检测。通过本研究,我们发现:1)在Transformer注意模块中,对查询敏感的项( query-sensitive terms),尤其是查询-键内容项,对自注意的影响较小。但在编解码器中,查询-键内容项是至关重要的。2) 虽然变形卷积利用了一种仅基于查询内容和相对位置项的注意机制,但它在图像识别上比对应的注意机制更有效。3) 在自注意中,查询内容&相对位置,以及仅仅只有键内容项,是最重要的。与Transformer attention模块相比,Transformer attention模块中的可变形卷积和仅键内容项的适当组合提供了更高的准确度,并且图像识别任务的计算开销大大降低。

    本文的观察结果挑战了对当前空间注意机制的传统理解。例如,人们普遍认为它们的成功主要归功于对查询敏感的注意,尤其是查询和键内容项。这种理解可能源于神经机器翻译中的编码器-解码器注意模块的最初成功。因此,在最近的一些变体[43,24,48,15]中,如非局部块[43]和交叉注意模块[24],只保留查询和键内容项,而删除所有其他项。这些模块在自注意应用程序中仍能很好地发挥作用,从而强化了这种认知。然而,我们的研究表明,这种理解是不正确的。我们发现,只对查询敏感的项的注意模块实际上和那些与查询无关的项表现相当。我们的研究进一步表明,这种退化可能是由于注意模块的设计,而不是自注意的固有特征,因为变形卷积被发现可以在图像识别任务中有效地利用查询内容和相对位置。

    这一实证分析表明,深度网络中空间注意机制的设计还有很大的改进空间。本文利用其研究结果在这方面取得了一些初步进展,希望这项研究能够推动进一步研究空间注意建模的运作机制。

    2.相关工作

    开发和应用基于注意力的模块。

    近年来,NLP领域的注意力机制稳步发展[2,31,16,41,38,11]。从神经机器翻译中的注意力模块(2)的引入出发,使用了基于这些因素的各种注意因素和权重分配函数。在[31]中,建议使用向量编码查询和键内容的内积来计算注意权重,并将绝对空间位置合并为注意因子。在[16]中,权重分配还考虑了在高维向量中编码的空间位置的内积。Transformer[41]的里程碑式工作确立了一个新的标准,其最新变体使用相对位置而不是绝对位置,以提高泛化能力[38,11]。在本文中,我们对这一系列作品中Transformer注意的最新实例[11]进行了实证研究。

    由于注意机制在NLP任务[2,31,16,7,29,33,34,41]中的成功,它们也被应用于计算机视觉应用中,如对象之间的关系推理[3,37]、图像字幕[46]、图像生成[50,47]、图像识别[22,43,19,24,51,15]和视频识别[53,45]。在视觉中,键和查询指的是视觉元素,但除此之外,这些作品中的大多数都使用了类似于Transformer注意的公式。由于不同注意力模块元素的作用可能随着目标应用的不同而变化,因此我们对注意力建模中的三个不同的任务进行了实证研究,即NLP中的神经机器翻译,以及计算机视觉中的目标检测和语义分割。

    除了Transformer注意,还有卷积的变体,如变形卷积[10,52]和动态卷积[44],也可以被视为注意机制的类型,使用不同的注意权重函数对注意因子(编者注:上文译成注意因素)的子集进行操作。他们也被纳入研究以供检查。

    值得一提的是一种双重形式的空间注意,称为通道特征注意[42,49,23,15]。由于不同的特征通道编码不同的语义概念,这些工作试图通过激活/抑制某些通道来捕获这些概念之间的相关性。同时,在空间域中,对不同空间位置的元素之间的关系进行建模,将特征通道的相同的注意权重分配给相关空间位置。通道特征注意的发展主要集中在某些图像识别任务上,如语义分割和图像分类。在本文中,我们的实证研究专门考察了空间注意机制的广泛应用。

    空间注意机制分析。

    尽管空间注意机制普遍存在于深层网络中,但对其进行的分析相对较少。这项研究主要是通过可视化或分析整个注意力模块在NLP任务中学习到的注意力权重来进行的[17,40,18,25]。许多研究[17,40,18]表明,编码器-解码器注意中的注意权重分配与传统方法[1,8,30,6]中的单词对齐类似。这些工作中隐含的基本假设是,给予高度注意权重的输入元素负责模型的输出。然而,最近的研究对这一假设提出了质疑[25],发现注意权重与特征重要性度量没有很好的相关性,并且反事实的注意权重配置不会在预测中产生相应的变化。

    (编者注,文献25是:S. Jain and B. Wallace. Attention is not explanation. arXiv preprint arXiv:1902.10186, 2019. 3)

    在本文中,我们对NLP和计算机视觉任务中的空间注意模块元素进行了首次全面的实证研究。不同的注意因素和权重分配函数被仔细地分解,它们的效果直接由这些任务的最终表现来衡量。

    3. 空间注意机制研究

    为了便于我们的研究,我们开发了一个广义注意公式,它能够表示各种模块设计。然后,我们展示了如何在这个公式中表示主要的注意机制,以及如何使用这个公式针对不同的注意模块元素进行烧蚀。

    广义注意公式

    给定一个查询元素和一组键元素,注意函数根据注意权重自适应地聚合键内容,注意权重度量的是查询-键对兼容性。为了使模型能够关注来自不同表示子空间和不同位置的键内容,多个注意函数(头部)的输出通过可学习权重线性聚合。令q索引一个内容为z_{q} 的查询元素,k索引一个内容为x_{k} 的键元素。然后,多头注意特征y_q计算为:

    y_q=\sum_{m=1}^M W_{m} [\sum_{k\in \Omega _{q} } A_{m}(q,k,z_{q} ,x_{k} ) \odot W’_{m} x_{k} ]    (1)

    其中m表示注意头, \Omega _{q}指定了对这个查询支持的键区域,A_{m}(q,k,z_{q} ,x_{k} ) 表示第m个注意头中的注意权重,W_{m} W’_{m}是可学习的权重。通常情况下,注意力权重在 \Omega _{q}内归一化,即 \sum\nolimits_{k\in \Omega _{q} }A_{m}(q,k,z_{q} ,x_{k} ) =1 。

    在编码器-解码器中,键和查询来自两组不同的元素,在大多数应用中,这两组元素需要正确对齐。例如,在编码器-解码器注意神经机器翻译时,键和查询元素分别对应于输入和输出句子中的单词,其中正确对齐是正确翻译所必需的。同时,在自注意中,键和查询来自同一组元素。例如,键和查询都是输入或输出句子中的单词。在这样的场景中,自注意机制被期望捕获元素之间的内部关系,并且通常查询和键内容由相同的特征集建模,即x=z

    Transformer注意

    在Transformer attention模块[11]的最新实例中,每个查询键对的注意权重计算为基于不同注意因子的四个项\left\{ E_{j} \right\} _{j=1}^4的总和,如下所示:

    A_{m}^{Trans}(q,k,z_{q} ,x_{k} )\propto exp(\sum_{j=1}^4 E_{j} )    (2)

    归一化为 \sum\nolimits_{k\in \Omega _{q} }A_{m}^{Trans}(q,k,z_{q} ,x_{k} ) =1,其中支持的键区域 \Omega _{q}跨越键元素(例如,整个输入句子)。默认情况下,本文使用了8个注意头。

    E1和E2术语对查询内容敏感。

    E1项度量查询-键内容的兼容性,如E_{1} =z_{q}^{\mathrm{T}}U_{m}^{\mathrm{T}}V_{m}^{\mathrm{C}}x_{k} ,其中U_{m}^{\mathrm{T}},V_{m}^{\mathrm{C}}分别是查询和键内容的可学习嵌入矩阵。它使网络能够更加注意与查询内容兼容的键。一种可能的结果是类似查询和键元素之间的对应关系,如图1(a)所示。

    对于E2,它基于查询内容和相对位置,如E_{2} =z_{q}^{\mathrm{T}}U_{m}^{\mathrm{T}}V_{m}^{\mathrm{R}}R_{k-q} ,其中R_{k-q} 编码相对位置,其通过计算不同波长的正弦和余弦函数将相对位置投影到高维表示[41]。注释:对于二维图像数据,我们分别编码x轴相对位置R_{k-q} ^X和y轴相对位置R_{k-q} ^Y,然后将两者拼接得到最终的位置编码R_{k-q}=[R_{k-q} ^X,R_{k-q} ^Y]V_{m}^{\mathrm{R}}是编码的相对位置R_{k-q} ^X的可学习嵌入矩阵。 该项允许网络基于查询内容自适应地确定在何处分配高注意权重。如图1(b)所示,它可能有助于将图像识别的空间变换中将外观分离出来。(help to disentangle appearance from spatial transformations in image recognition)

    E3和E4术语与查询内容无关。

    E3术语仅涉及键内容,如E_{3} =u_{m}^{\mathrm{T}}V_{m}^{\mathrm{C}}x_{k} ,其中u_{m}^{\mathrm{T}}是可学习的向量。它捕获任务应该注意的显著键内容,与查询无关。如图1(c)所示。

    至于E4项,它只涉及相对位置,E_{4} =v_{m}^{\mathrm{T}}V_{m}^{\mathrm{R}}R_{k-q}其中v_m是一个可学习的向量。它捕获键和查询元素之间的全局位置偏置,如图1(d)所示。

    人们普遍认为,对查询敏感的优先级排序,特别是查询和键内容兼容性项E1,是Transformer attention成功的关键。因此,在最近的一些变体[43,24,48,15]中,仅保留E1,而其他项均被删除。

    在Transformer注意中,等式(1)中的W_{m}W’_{m}都是可以学习的。W’_{m}x_k的特征投影到相对较低的维度以减少计算开销,而W_{m}将聚合的特征投影回与y_q相同的维度。

    规则卷积与可变形卷积

    规则卷积和可变形卷积可以看作是空间注意机制的特殊实例,其中涉及注意因子的子集。

    在规则卷积中,给定查询元素,根据相对于查询的预定位置偏移,对固定数量的键元素(例如,3×3)进行采样。从式(1)的角度来看,规则卷积的注意权重可以表示为:

    A_{m}^{regular}(q,k)= 1\ \ \ \ if  \ k=q+p_m 

    =0 \  \  \  \ else.    (3)

    其中,每个采样的键元素是一个单独的注意头(例如,3×3规则卷积对应于9个注意头),并且p_m表示第m个采样位置的偏移。此外,等式(1)中的权重W’_{m}被固定为恒等映射,W_{m}是可学习的。在规则卷积中,只涉及相对位置,而不涉及使注意力适应内容的可学习参数。支撑的键区域Ωq被限制在一个以查询位置为中心的局部窗口内,窗口由卷积核大小决定。

    在可变形卷积[10,52]中,添加可学习的偏移量以调整键元素的采样位置,从而捕获空间变换。可学习的偏移量是基于查询内容预测的,因此对输入是动态的。键和查询元素来自同一个集合。它也可以作为自注意的一个特殊实例纳入广义注意公式,其中注意权重为

    A_{m}^{deform}(q,k,x_q)= G(k,q+p_m+w_{m}^{\mathrm{T}}x_{q} )    (4)

    其中p_m还表示预定偏移,并且w_{m}^{\mathrm{T}}x_{q} 根据可学习向量w_m将查询内容x_q投影到可变形偏移。注释2:following[10],w_m的学习率是其它参数学习率的0.1倍,以稳定训练。G(a,b)是N-d空间中的双线性插值核,可分解为一维双线性插值,G(a,b)=\prod\nolimits_{n=1}^Ng(a_n,b_n) ,其中an和bn分别表示a和b的第N维,g(a_n,b_n) =max(0,1-\vert a_n-b_n \vert )。与常规卷积类似,等式(1)中的权重W’_{m}固定为恒等映射。

    在可变形卷积中,注意的因素是查询内容和相对位置。支撑的键区域Ω_q由于引入了可学习的偏移,可以跨越所有输入元素,而非零权重被分配稀疏键元素集,在这里用到了双线性插值。

    动态卷积

    动态卷积[44]最近被提出用来取代自注意中的Transformer注意模块,据称它更简单、更有效。它建立在深度可分离卷积[21]的基础上,具有共享的动态核权重,该权重根据查询内容进行预测。在深度可分离卷积中,标准卷积分解为深度卷积和称为点卷积的1×1卷积,以减少计算量和模型大小。在深度卷积中,对每个输入通道应用单个滤波器,该滤波器对所有位置都是固定的。在动态卷积中,根据输入特征动态预测深度卷积的核权重,然后进行Softmax归一化。为了节省计算量,输入通道被分成若干组,每组共享相同的动态核权重。在[44]的系统中,称为选通线性单元(GLU)[12]的正交模块应用于动态卷积模块之前,以提高精度。我们加入GLU以尊重原始设计。

    动态卷积也可以并入等式(1)中的广义注意公式中,只需稍加修改,其中每个输入特征通道都有一个单独的注意头。它可以表示为:

    y_q=\sum_{c=1}^{C_{in}}  W_{c} [\sum_{k\in \Omega _{q} } A_{c}^{dynamic}(q,k,x_{q}  ) \cdot  x_{k,c} ]    (5)

    其中c枚举输入特征的通道(总共C_{in}通道),x_{k,c} 表示x_k的第c通道处的特征,W_c为1×1逐点卷积。A_{c}^{dynamic}(q,k,x_{q}  )是深度卷积动态核指定的注意权重,写为:

    A_{c}^{dynamic}(q,k,x_{q}  )=K_{j,c}  \ \ \ \ if  \ k=q+p_j

    =0 \  \  \  \ else.    (6)

    其中p_j表示动态核中的第j个采样位置,K_{j,c} 表示相应的核权重。零注意权重分配给核之外的键。根据输入特征预测核权重K_{j,c} ,并在同一组中的通道之间共享,如下所示:

    K_{j,c} =K_{j,g} ^{share} \propto exp({d_{j,g} ^\mathrm{T}}x_{q} )g=\lceil \frac{c}{C_{in}/N_g} \rceil     (7)

    输入特征分为Ng组(默认情况下Ng=16)。K_{j,g} ^{share}表示第g组的动态核权重,d_{j,g} 表示相应的可学习权重向量。K_{j,g} ^{share}归一化为\sum\nolimits_{j=1}^{N_{k}}  K_{j,g} ^{share}=1,其中Nk表示动态核中的元素数。

    在动态卷积中,注意分配基于查询内容和相对位置因子。支持的键区域Ωq被限制在动态核覆盖的查询位置周围的局部窗口中。

    注意机制的比较

    表1比较了上述三种注意机制。Transformer attention利用来自查询和键的全面的内容和位置信息。E1、E2和E4项需要的计算量与查询元素数量和键元素数量的乘积成正比,因为它们涉及遍历每个查询-键对。E3项仅捕获键内容,因此其计算量与键元素数量成线性关系。在神经机器翻译中,键和查询元素通常是一个句子中的几十个单词,所以E1、E2和E4的计算开销与E3相当。在图像识别中,键和查询元素由图像中的许多像素组成。因此,E1、E2和E4的计算开销比E3大得多。请注意,当这四项放在一起时,它们之间可以共享一些计算开销。

    表1。不同注意机制的比较。 Ns表示空间元素的数量,即图像的宽度乘高度,以及文本的token数量;C表示表示维度; Nk表示卷积的核大小(默认情况下,图像为Nk=3×3,文本为Nk=3); Ng表示动态卷积中的特征组数。

    与E2项类似,可变形卷积也基于查询内容和相对位置。但可变形卷积对每个查询只采样一组稀疏的键元素,其复杂性与查询元素数成线性关系。因此,对于图像识别,可变形卷积的计算速度比E2快得多,并且在速度上与机器翻译的E2相当。

    动态卷积也依赖于查询内容和相对位置。动态卷积核根据查询内容分配键元素的注意权重。非零注意权只存在于动态核覆盖的局部范围内。计算开销与核大小和查询元素数的乘积成正比。与E2项相比,如果核大小远小于键元素数,则计算开销可以大大降低。

    我们试图进一步理清不同注意因素的影响,并促进与使用这些因素子集的其他空间注意实例的比较。因此,Transformer注意模块中引入了手动开关( manual switches),使我们能够手动激活/停用特定术语。这被表示为

    {\hat{A}} _{m}^{Trans}(q,k,z_{q} ,x_{k} )\propto exp(\sum_{j=1}^4 {\beta } _{j}^{Trans}E_{j} ) (8)

    其中{\beta } _{j}^{Trans}取{0,1}中的值来控制相应项的激活,{\hat{A}} _{m}^{Trans}(q,k,z_{q} ,x_{k} )归一化为 \sum\nolimits_{k\in \Omega _{q} }{\hat{A}} _{m}^{Trans}(q,k,z_{q} ,x_{k} )=1

    将注意力模块整合到深度网络

    我们将各种注意机制整合到深层网络中,以研究它们的影响。插入模块时有不同的设计选择,例如,是串联还是并联,以及在主干网中放置模块的位置。我们根据经验观察到,对于不同的经过深思熟虑的设计,结果非常相似。在本文中,我们选择图2中的设计选项。

    图2 蓝色的是新增加的

    对于目标检测和语义分割任务,选择ResNet-50[20]作为主干,区别就是包含了自注意机制。Transformer注意模块的整合是通过,将其用在残差块的3×3卷积输出上。为了整合进一个已经预训练的模型而不破坏预训练的好处,Transformer attention模块包括一个残差连接,其输出乘以初始化为零的可学习标量,如[43]所示。合并动态卷积的方式是相同的。为了开发可变形卷积,将残差块中的3×3正则卷积替换为其可变形对应块。由此产生的架构被称为“注意残差块”,如图2(a)所示。

    在神经机器翻译(NMT)任务中,网络结构遵循Transformer基础模型[41],其中涉及自注意和编码器-解码器注意机制。与原论文不同,我们使用最新的相对位置版本[11]更新了Transformer注意模块中嵌入的绝对位置,如公式2所示。因为可变形卷积和动态卷积都捕获了自注意,所以它们只添加到Transformer中捕获自注意的块中。对于动态卷积,我们直接用动态卷积替换Transformer注意模块,如[44]所示。该架构如图2(b)所示。对于可变形卷积,由于Transformer模型不使用任何空间卷积(内核大小大于1),因此我们在Transformer注意模块的输入之前插入可变形卷积单元(内核大小为3)。由此产生的结构称为“Transformer+可变形”,如图2(c)所示。

    4.实验与分析

    4.1. 实验装置

    图像目标检测

    模型根据COCO 2017[28]训练组的118k图像进行训练。对COCO 2017验证集的5k图像进行评估。准确度通过不同条件下的标准平均AP分数(mAP)来衡量。

    选择具有特征金字塔网络(FPN)[27]的更快的R-CNN[36]作为基线系统。ImageNet[13]预训练的ResNet-50用作主干网。在ResNet-50的最后两个阶段(conv4和conv5阶段)中应用图2(a)中的注意残差块。在Transformer attention中,相对位置编码与内容特征嵌入的维度相同,特别是在conv4和conv5阶段分别为256-d和512-d。

    实验是基于开源mmdetection[5]代码库实现的。超参数设置严格遵循FPN[27]。使用5个比例和3个长宽比的锚。在训练和推理时,分别以0.7的非最大抑制阈值生成2k和1k区域建议。在SGD训练中,对256个锚框(正负比为1:1)和512个区域建议(正负比为1:3)进行采样,以反向传播其梯度。在我们的实验中,网络在8个GPU上训练,每个GPU有2个图像,持续12个epoch。学习率初始化为0.02,并在第8个和第11个阶段除以10。权重衰减和动量参数分别设置为10e-4和0.9。

    图像语义分割

    模型在5000张城市景观[9]训练组的精细注释图像上进行训练。对验证集的500个图像进行评估。标准平均IoU分数(mIoU)用于衡量语义切分的准确性。

    使用CCNet[24]进行语义分割,使用ImageNet预先训练的ResNet-50,而不使用[24]中提出的交叉注意模块,这是Transformer注意的一种变体。如针对对象检测所做的,在最后两个阶段中应用图2(a)中的注意残差块。按照[24]中的实践,在ResNet-50输出后放置额外的Transformer注意/动态卷积模块,以提高性能。

    超参数设置严格遵循CCNet文件[24]中的设置。在SGD训练中,通过随机缩放(从0.7到2.0)、随机裁剪(大小为769×769像素)和随机水平翻转来增强训练图像。在我们的实验中,网络在8个GPU上训练,每个GPU 1个图像,迭代60k次。采用“Poly”学习速率策略,初始学习速率设置为0.005,并乘以{(1-\frac{ iter }{iter \ max} )}^{0.9}。同步批标准化[35]放置在每个新添加的层之后,具有可学习的权重。权重衰减和动量参数分别设置为10e-4和0.9。

    神经机器翻译(NMT)

    模型训练是在标准WMT 2014英德数据集上进行的,该数据集由大约450万个句子对组成。句子使用字节对编码[4]进行编码,共享的源-目标词汇表大约有37k个标记。评估基于英语到德语的新stest2014套件。准确度由标准双语评估替补(BLEU)分数衡量[32]。

    使用具有相对位置编码[11]的Transformer基础模型[41]作为主干。实验是基于开源fairseq[14]代码库实现的。超参数遵循[41]中的原始设置。我们使用了Adam优化器[26],其中β1=0.9,β2=0.98和\epsilon = 10−9 . 在我们的实验中,网络在8GPU上训练100k次迭代。每个训练批次包含一组句子对,其中包含大约30k个源标记和30k个目标标记。初始学习速率设置为10e-7,并在iter_warmup=4000次迭代后线性增长到0.001,然后乘以{\frac{ iter}{ iter \ max } }^{-0.5} 。 不采用权重衰减。在训练期间,使用值为0.1的标签平滑[39]。

    4.2. 不同注意模块的效果

    Transformer注意的解耦

    我们首先试图解开Transformer注意模块中四个项的影响。这是通过手动设置公式(8)中的 \left\{ {\beta } _{j}^{Trans} \right\}_{j=1}^4的值来实现的,以控制单个项的激活/失活。网络针对 \left\{ {\beta } _{j}^{Trans} \right\}_{j=1}^4的所有16种可能构型进行训练和测试。在这组实验中,没有涉及其他注意机制。因此,对于对象检测和语义分割任务,在图2(a)的网络中,3×3卷积就是图2(a)中的常规卷积。对于NMT任务,使用图2(b)中的网络架构。Transformer注意被使用,可选的有图2(a)和(b)中的“Transformer注意/动态卷积”。( Transformer attention is used in the choices of “Transformer attention / Dynamic convolution” in Fig. 2 (a) and (b).)。注意,对于NMT任务,Transformer attention模块用于自注意和编码器-解码器注意。为了降低实验复杂性,在我们研究自注意时,编码器-解码器注意中的Transformer注意模块保持为其完整版本({\beta } _{j}^{Trans}=1,j=1…4,这里缩写为配置“1111”)。

    图3 因为编码器-解码器注意机制对于NMT是必不可少的,所以(d)中没有“w/o”设置。某些配置的结果在图中重叠,因为它们具有相同的精度和计算开销。研究中的关键配置以红色突出显示。表格2中推荐的用于自注意的“0010+可变形”配置,在这里也画了。

    图3绘制了不同 \left\{ {\beta } _{j}^{Trans} \right\}_{j=1}^4配置的精度效率折衷,其中精度效率包络线由连接的线段表示。请注意,此处仅计算研究中Transformer注意模块的计算开销,而不计算网络其他部分的开销。从图中,我们得出以下结论:

    (1) 在自注意中,相比查询无关项,查询敏感项作用很小。特别是,查询-键内容项对准确性的影响可以忽略不计,而在图像识别任务中计算量很大。总的来说,Transformer注意模块带来的精度增益很大,来自于移除Transformer attention模块(“w/o”),以使用Transformer注意完整版本(“1111”)的配置。可以看出,查询无关项(从配置“w/o”到“0011”)带来的收益远远大于查询敏感项(从配置“0011”到“1111”)带来的收益。特别是,查询-键内容项(由{\beta } _{1}^{Trans}控制)带来的性能增益可以忽略不计。删除它(从配置“1111”到“0111”)只会导致精度的微小下降,同时大大减少了图像识别任务中的计算开销。

    (2) 在编-解码器中,查询和键内容项是至关重要的。停用它(由{\beta } _{1}^{Trans}控制)会导致准确度明显下降,而仅使用查询-键内容项(配置“1000”)可提供与完整版本(配置“1111”)几乎相同的准确度。这是因为NMT的键步骤是将源句和目标句中的单词对齐。对查询和键内容的遍历对于这种对齐至关重要。

    (3) 在自注意中,查询内容-相对位置项,以及仅键内容项是最重要的。相应的配置“0110”提供了非常接近完整版本(配置“1111”)的精度,同时在图像识别任务中节省了大量的计算开销。还值得注意的是,捕获显著性信息的仅键内容项可以有效地提高性能,而无需额外的开销。

    一种广泛认同的观点是,查询敏感项,尤其是查询-键内容项,是Transformer注意力的成功的关键。我们的发现与这种观点相矛盾。实验结果表明,上述广泛传播的观点仅适用于编码器-解码器注意场景。在自注意场景中,查询-键内容项甚至可以移除。

    可变形卷积 vs. Transformer注意的E2项

    在这里,我们比较了可变形卷积和等式(2)中的E2项。由于可变形卷积是为捕捉自注意而设计的,因此我们将实验仅限于自注意场景。注意,当在NMT任务中使用可变形卷积时,网络架构为图2(c)中的“Transformer+可变形”。

    表2。可变形卷积与E2,两者都利用查询内容和相对位置信息。推荐采用带下划线的“0010+可变形”配置,以实现最佳的精度和效率权衡

    表2比较了各种设置下的可变形卷积和E2项。我们发现:

    (1) 对于目标检测和语义分割,可变形卷积在准确性和效率上都大大超过E2项。而对于NMT,变形卷积与E2项在精度和效率上都是一致的。就效率而言,可变形卷积不需要遍历所有键元素。这一优势在涉及大量像素的图像上非常明显。在精度方面,变形卷积中的双线性采样基于特征映射的局部线性假设。这一假设适用于局部图像内容逐渐变化的图像,而不是词汇突然变化的语言。

    (2) 可变形卷积和仅键内容术语(“0010+可变形”)的组合提供了最佳的精度和效率折衷。精度与使用可变形卷积和整个注意力模块(“1111 +可变形”)一致,而开销仅略高于可变形卷积(“W/O+可变形”)。这一发现与调查结果一致

    (3) “Transformer注意中的解开”。它进一步表明了查询内容的重要性&相对位置和仅键内容因素在自注意中的重要性。配置“0010+可变形”也绘制在图3中。

    Transformer中的动态卷积与E2

    我们在自注意场景中比较这两个实例。网络架构如图2(a)所示用于图像识别任务,如图2(b)所示用于NMT,其中仅使用E2(配置“0100”)或动态卷积。

    表3  动态卷积和E2,它们都挖掘查询内容和相对位置信息。动态卷积的核大小N_k在图像识别中是n_{k}^2,在NMT中是n_k。Transformer注意的空间范围也被限制为动态卷积的核大小,以控制变量。

    表3给出了结果。我们可以发现,对于NMT,动态卷积实现精度与E2项相当,以减少的计算量(We can find that for NMT,dynamic convolution achieves accuracy on par with the E2 term at reduced computational cost.)。然而,动态卷积在目标检测和语义分割方面并不有效,其精度相当低。为了进一步研究动态卷积中核大小的影响,我们还将E2项的空间范围限制为与动态卷积中的相同。随着动态卷积和E2项的空间范围缩小,精度下降。但值得注意的是,在图像识别任务中,E2项在相同的空间范围内仍优于动态卷积,计算开销更小。在图像识别任务中,动态卷积的精确度较低可能是因为动态卷积最初是为NMT设计的,并且一些设计选择可能不适合图像识别。

    相关文章

      网友评论

          本文标题:空间注意力的实验研究

          本文链接:https://www.haomeiwen.com/subject/vasyqrtx.html