论文链接:https://arxiv.org/abs/1904.05873
国内镜像:https://xxx.itp.ac.cn/abs/1904.05873


注意力机制使神经网络能够更多地关注输入的相关元素,而不是不相关的部分。
在计算给定query(例如,输出句子中的目标单词)的输出时,某些key(例如,输入句子中的源单词)将根据query按优先级排序。

在确定分配给给定query的某个key的注意权重时,通常只考虑输入的几个属性:

  1. query 的内容。对于self-attention的情况,query内容可以是图像中query像素处的特征,也可以是一个句子中的一个单词的特征
  2. key 的内容。其中key可以是query的本地邻域中的一个像素,也可以是句子中的另一个单词
  3. query 和 key 的相对位置

根据这些输入属性,有四种可能的 attention factors,可以从中确定key相对于query的注意权重:
ε1:the query and key content
ε2:the query content and relative position
ε3:the key content only
ε4:the relative position only
【文献阅读】An Empirical Study of Spatial Attention Mechanisms in Deep Networks
在这篇paper中,将Transformer attentiondeformable convolutiondynamic convolution看作是空间注意力的各种实例化,涉及到 attention factors 的不同子集,并以不同的方式对这些因素进行解释。


广义注意力公式:

给定一个query和一组key,一个注意力函数根据衡量query-key的兼容性得到注意力权重,自适应的聚合key的内容。
yq=m=1MWm[kΩqAm(q,k,zq,xk)Wmxk] 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} ]
MM是注意力头数,Ωq\Omega_{q}指定key的区域,Am(q,k,zq,xk)A_{m}(q, k, z_{q}, x_{k})是第m头的注意力权重,qq是有内容zqz_{q}query的索引,kk是有内容xkx_{k}key的索引,WmW_{m}WmW_{m}^{'}是可学习的权重。
归一化限制:kΩqAm(q,k,zq,xk)=1\sum_{k \in \Omega_{q}} A_{m}(q, k, z_{q}, x_{k})=1

encoder-decoder attention 中,keyquery来自两个不同的元素集。在大多数应用中,这两个元素集需要正确对齐。
self-attention 中,keyquery来自同一组元素集。


Transformer attentiondeformable convolutiondynamic convolution看作是广义注意力公式的各种实例化

1.Transformer attention:

AmTrans(q,k,zq,xk)exp(j=14ϵj)A_{m}^{Trans}(q, k, z_{q}, x_{k}) \propto exp(\sum_{j=1}^{4}\epsilon_{j})

ε1:

ε1衡量的是querykey内容的相似度:
ϵ1=(Umzq)T(VmCxk)\epsilon1=(U_{m} z_{q})^T (V_{m}^C x_{k})
其中,UmU_{m}VmCV_m^C分别是querykey内容的可学习的嵌入矩阵。
一个可能的结果是相似的querykey之间的一致性。

ε2:

ε2取决于query的内容和相对位置:
ϵ1=(Umzq)T(VmRRkq)\epsilon1=(U_{m} z_{q})^T (V_{m}^R R_{k-q})
其中,RkqR_{k-q}通过计算不同波长的正弦和余弦函数,将kqk−q投射到高维空间中,从而对相对位置kqk−q进行编码。
这可能有助于从图像识别的空间变换中分离出外观。

ε3:

ε3只取决于key的内容:
ϵ3=umTVmCxk\epsilon3=u_{m}^T V_{m}^C x_{k}
它捕获了任务应该关注的显著的key的内容,而与query无关。

ε4:

ε4只与相对位置有关:
ϵ4=vmTVmRRkq\epsilon4=v_{m}^T V_{m}^R R_{k-q}
它捕获keyquery之间的全局位置偏差。

transformer attention中,WmW_{m}WmW_{m}^{'}都是可学习的。WmW_{m}^{'}xkx_{k}的特征映射到一个较低的维度以减少计算量;WmW_{m}将聚合的特征重新映射回与yqy_{q}相同的维度。

2.Regular and deformable convolution:

regular convolutiondeformable convolution可以看作是空间注意力机制的特殊实例,是attention factors的子集。

regular convolution:

给定一个query,根据预先确定的相对于key的位置偏移量,对固定数量的key(例如,3×3)进行采样。
Amregular(q,k)={1,k=q+pm0,else A_{m}^{regular}(q, k)= \left\{ \begin{aligned} 1, k = q+p_{m}\\ 0,else \end{aligned} \right.
其中,pmp_{m}表示第mm个采样位置的偏移量。WmW_{m}^{'}固定为恒等式,WmW_{m}是可学习的。
key的范围Ωq\Omega_{q}被限制在一个以query位置为中心的局部窗口中,由卷积核大小决定。
regular convolution中,attention factors仅取决于相对位置。

deformable convolution:

加入了可学习的偏移量来调整key的采样位置,从而捕获空间变换。可学习的偏移量是基于query内容进行预测的,因此对于输入是动态的。
keyquery元素来自同一集合。它也可以作为self-attention的一个特殊实例。
Amdeform(q,k,xq)=G(k,q+pm+wmTxq)A_{m}^{deform}(q, k, x_{q})=G(k, q+p_{m}+w_{m}^{T}x_{q})
其中,pmp_{m}是预先确定的偏移量;wmTxqw_{m}^{T}x_{q}根据可学习的向量wmw_{m},投射query的内容xqx_{q}到可变形的偏移;G(a,b)G(a,b)NN维空间的双线性插值核,可以分解为11维空间的双线性插值,G(a,b)=n=1Ng(an,bn)G(a,b)=\begin{matrix} \prod_{n=1}^N g(a_{n}, b_{n}) \end{matrix}ana_{n}bnb_{n}aabb分别的第nn维,g(an,bn)=max(0,1anbn)g(a_{n}, b_{n})=max(0, 1-|a_{n}-b_{n}|)
regular convolution相似,WmW_{m}^{'}也是恒等的。
deformable convolution中,attention factorsquery的内容和相对位置。

3.Dynamic convolution

它是建立在深度可分离的卷积与共享的动态内核权值的基础上,这些权值是基于query内容进行预测的。
在深度可分离卷积中,标准卷积被分解为深度卷积和1×1卷积,以减少计算量和模型大小。
dynamic convolution中,根据输入特征动态预测深度卷积的核权值,然后进行Softmax归一化。
每个输入特征通道都有一个单独的注意力头:
yq=c=1CinWc[kΩqAcdynamic(q,k,xq)xk,c]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}]
其中,cc是输入特征的通道,xk,cx_{k,c}是在cc通道上的特征值xkx_{k}WcW_{c}是1x1的卷积。
Acdynamic(q,k,xq)={Kj,c,k=q+pj0,else A_{c}^{dynamic}(q, k, x_{q}) = \left\{ \begin{aligned} K_{j, c}, k = q+p_{j}\\ 0,else \end{aligned} \right.
其中,pjp_{j}是第jj个采样位置;Kj,cK_{j, c}是相应的核权值,由输入特征预测,并由同一组的通道共享。
Kj,c=Kj,gshareexp(dj,gTxq),g=cCin/NgK_{j,c}=K_{j,g}^{share} \propto exp(d_{j,g}^{T}x_{q}),g=\left \lceil \frac{c}{C_{in}/N_{g}} \right \rceil
输入特征被分为了NgN_{g}组(NgN_{g}默认为16),Kj,gshareK_{j,g}^{share}是第gg组的动态核权值,dj,gd_{j,g}是对应的可学习的权向量。
归一化:j=1NkKj,gshare=1\sum_{j=1}^{N_{k}}K_{j,g}^{share}=1NkN_{k}是动态核中的元素数量。
dynamic convolution中,注意力分配是基于query内容和相对位置的。Ωq\Omega_{q}是被动态核覆盖的query位置的一个局部窗口。


实验及分析:

复杂度:

在神经机器翻译中,keyquery通常是一个句子中的几十个单词,因此ε1、ε2和ε4的计算开销与ε3相当。
在图像识别中,keyquery由图像中的大量像素组成。因此,ε1、ε2和ε4的计算开销比ε3大得多。

与ε2相似,可变形卷积也是取决于query的内容和相对位置。但是可变形卷积仅对每个query的key的稀疏集进行采样,复杂度与query的数量成线性关系。因此,对于图像识别而言,可变形卷积的计算速度要比ε2快得多,并且在速度上与机器翻译的ε2相当。

动态卷积也是取决于query的内容和相对位置。计算开销与kernel size和query数的乘积成正比。与ε2项相比,如果kernel size比key数小得多,则计算开销可以大大降低。
【文献阅读】An Empirical Study of Spatial Attention Mechanisms in Deep Networks
表中,NsN_{s}表示空间元素的数量(图像中的长x宽,文本中的字符数),CC表示维度,NkN_{k}是kernel size(默认图像中NkN_{k}= 3 x 3,文本中NkN_{k}= 3),NgN_{g}表示动态卷积中特征组的数量。

实验网络设计:

【文献阅读】An Empirical Study of Spatial Attention Mechanisms in Deep Networks

实验结果:

【文献阅读】An Empirical Study of Spatial Attention Mechanisms in Deep Networks
【文献阅读】An Empirical Study of Spatial Attention Mechanisms in Deep Networks
【文献阅读】An Empirical Study of Spatial Attention Mechanisms in Deep Networks

实验结论:
Transformer attention
  • self-attention中,与query无关相比,query敏感的作用较小。特别是querykey内容项对精度的影响很小,而在图像识别任务中计算量较大。删除它(从配置“1111”到“0111”)只会导致精度有微小的下降,同时大大减少了图像识别任务中的计算开销
  • encoder-decoder attention中,querykey内容项是至关重要的。仅使用query和key内容项(配置“1000”)能提供几乎与完整版本(配置“1111”)相同的准确性
  • self-attention中,attention factors是①query内容
    与相对位置,②仅key内容是最重要的。相应的配置“0110”提供的精度非常接近完整版本(配置“1111”),同时在图像识别任务中节省了大量的计算开销。同样值得注意的是,只包含key内容(它捕获显著性信息)可以有效地提高性能,而不需要额外的开销
Deformable convolution vs. ε2 in Transformer attention
  • 在目标检测和语义分割中,可变形卷积在精度和效率上都大大超过了ε2项。在效率方面,可变形卷积不需要遍历所有的key。在精度方面,可变形卷积的双线性采样基于特征映射的局部线性假设。这种假设在局部图像内容逐渐变化的图像上比在文字突然变化的语言上更适用。
  • 可变形卷积和key内容项(“0010 +可变形”)的组合提供了最佳的精度和效率的权衡
Dynamic convolution vs. ε2 in Transformer attention
  • 动态卷积在目标检测和语义分割方面效果不佳,其精度较低。在图像识别任务中,ε2项仍然在相同的空间范围内超过了动态卷积,并且计算量更小。

相关文章: