Peter Shaw, Jakob Uszkoreit, and Ashish Vaswani. 2018. Self-Attention with Relative Position Representations. In Proceedings of HLT-NAACL. New Orleans, Louisiana, 464–468.
https://doi.org/10.18653/v1/N18-2074
\url{https://doi.org/10.18653/v1/N18-2074}
https://doi.org/10.18653/v1/N18-2074
Transformer 的输入是 文字嵌入 和位置嵌入的矩阵和. 第 i 个文字的输入为
x
i
:
=
x
i
+
e
i
x_i:=x_i +e_i
xi:=xi+ei.
如果单独考虑位置信息, 在初始 Q,K,V 中 不考虑 位置信息. 在注意力机制中 所有的运算都和位置有关系. 我们注意到 位置信息主要是在 点积和 输出投影
z
i
:
=
∑
k
a
^
i
,
k
v
k
z_i:=\sum_k\hat{a}_{i,k}v_k
zi:=∑ka^i,kvk 中起作用.
我们假定 第 i 个位置受第 j 个位置的影响为
a
i
,
j
∈
R
d
a_{i,j} \in \mathbb{R}^d
ai,j∈Rd.
比较明显的是
z
i
=
∑
k
a
^
i
,
k
(
v
k
+
a
i
,
k
)
z_i= \sum_k\hat{a}_{i,k}(v_k+a_{i,k})
zi=∑ka^i,k(vk+ai,k).
在点积中
(
q
i
′
+
q
i
′
′
)
(
k
j
′
+
k
j
′
′
)
T
:
=
(
x
i
+
e
i
)
W
Q
(
(
x
j
+
e
j
)
W
K
)
T
=
q
i
′
k
j
′
+
q
i
′
′
(
k
j
′
+
k
j
′
′
)
T
+
q
i
′
k
j
′
′
(q'_i+q''_i)(k'_j+k''_j)^T:=(x_i +e_i)W^Q ((x_j +e_j)W^K)^T=q'_ik'_j +q''_i(k'_j+k''_j )^T +q'_ik''_j
(qi′+qi′′)(kj′+kj′′)T:=(xi+ei)WQ((xj+ej)WK)T=qi′kj′+qi′′(kj′+kj′′)T+qi′kj′′.
观察上式, 第一项与位置无关, 后两项与位置相关. 考虑做一点改动, 不去考虑 Q 的位置信息, 只考虑 K 的位置信息. 修改后的公式变为
q
i
′
(
k
j
′
+
a
i
,
j
)
T
q'_i(k'_j + a_{i,j})^T
qi′(kj′+ai,j)T.
出于效果上的考虑, 这里的
a
i
,
j
a_{i,j}
ai,j 和前面的
a
i
,
j
a_{i,j}
ai,j 不能等同. 我们用 所在的环境将之分别记作
a
i
,
j
K
a_{i,j}^K
ai,jK,
a
i
,
j
V
a_{i,j}^V
ai,jV.
位置相距过远, 其干扰性可以忽略, 我们考虑使用阶段距离 k. a i , j a_{i,j} ai,j 超出部分 用 a i , i + k a_{i,i+k} ai,i+k 或 a i , i − k a_{i,i-k} ai,i−k 替代. 如是 总共有 2 k + 1 2k+1 2k+1 个向量需要学习.
( ⋮ x i − k ⋮ x i ⋮ x j ⋮ x i + k ⋮ ) \left( \begin{array}{c} \vdots \\ x_{i-k}\\ \vdots \\ x_{i}\\ \vdots\\ x_j\\ \vdots\\ x_{i+k}\\ \vdots \end{array} \right) ⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛⋮xi−k⋮xi⋮xj⋮xi+k⋮⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞