Self-Attention with Relative Position Representations 带相对位置编码的注意力
Self-Attention with Relative Position Representations
* Authors: [[Peter Shaw]], [[Jakob Uszkoreit]], [[Ashish Vaswani]]
初读印象
comment:: (相对位置编码)提出了两个元素间的相对位置编码并将其运用到注意力机制中。
动机
attention是没有位置信息的,在transformer中使用的方法是将位置的绝对编码加到对应元素的特征表示上去。本文提出了一种扩展方法,使用的是两个元素间的相对编码,并且不采用直接相加的方式嵌入位置信息,而是将位置信息融合到注意力计算的过程中去。
方法
关系感知的自注意力(Relation-aware Self-Attention)
研究两个点之间的关系,将整张图建模为一个带标签的有向全连接图。
-
元素\(x_i\)和\(x_j\)之间的边由两个向量表示:
其中\(d_a=d_z\),W将其他向量都转成\(d_z\)长度。* 注意力中的\(Av^T\)计算可修改为:
-
\(q^Tk\)的算过程可改为:计
也就是
相对位置表示 (Relative Position Representations)
元素\(x_i\)和\(x_j\)之间的距离为\(j-i\), 当距离超过k时就会被裁剪(见假设)。\(a_{ij}\)表示如下:
其中\(\omega^{K}\)和\(\omega^{V}\)都映射到一个长度为\(2k+1\)的向量空间,即
其中\(\omega^K_{n}\)和\(\omega^V_{n}\)都是长度为\(d_z\)的向量。
如果使用多头注意力,这些位置编码在不同头的注意力中都是共享的。
假设
在编码两个点之间的相对关系时,假设这两个点之间的距离超过k了之后,他们之间的相对位置信息就失效了。
输入输出
本文是以机器翻译为任务引出相对位置编码的。
表现
在机器翻译任务中,使用相对位置编码的效果好于绝对编码。
缺点
本文没有提出对于固定相对位置,具体编码的方法。
启发
有别于绝对编码的直接相加,可以将相对位置编码融合进注意力的计算过程中。