使用通用相对位置编码改进Transformer的通用近似性.
1. 相对位置编码的理论缺陷
位置编码是为Transformer的输入序列引入位置信息的重要手段。其中绝对位置编码是在输入中添加入绝对位置的表示。对应的完整自注意力机制运算如下
qi=(xi+pi)WQ,kj=(xj+pj)WK,vj=(xj+pj)WVαij=softmax{(xi+pi)WQ((xj+pj)WK)T}=softmax{xiWQ(WK)TxTj+xiWQ(WK)TpTj+piWQ(WK)TxTj+piWQ(WK)TpTj}zi=n∑j=1αij(xjWV+pjWV)qi=(xi+pi)WQ,kj=(xj+pj)WK,vj=(xj+pj)WVαij=softmax{(xi+pi)WQ((xj+pj)WK)T}=softmax{xiWQ(WK)TxTj+xiWQ(WK)TpTj+piWQ(WK)TxTj+piWQ(WK)TpTj}zi=n∑j=1αij(xjWV+pjWV)注意到绝对位置编码相当于在自注意力运算中引入了一系列piWQ,(pjWK)T,pjWVpiWQ,(pjWK)T,pjWV项。而相对位置编码通过将这些项调整为与相对位置(i,j)(i,j)有关的向量Ri,jRi,j,在一系列自然语言任务上取得更好的表现。
然而相对位置编码存在理论缺陷,会使得Transformer无法成为通用近似器。不妨构造一个简单的探针实验,以判断一个模型有没有足够的位置识别能力。对于一个有位置识别能力的模型,应该能准确实现如下映射:
输入:[0,0,⋯,0,0]→输出:[1,2,⋯,n−1,n]即输入全0序列,模型能有序地输出位置编号。绝对位置编码比较容易实现上述需求,而现有的相对位置编码却几乎都不能完成上述任务。
大部分相对位置编码都只修改了Softmax前的Attention矩阵,此时带有相对位置信息的Attention矩阵依然是一个按行的概率矩阵,位置信息由相对位置矩阵B引入:
αij=softmax{xiWQ(WK)TxTj+B}zi=n∑j=1αijxjWV对于相同的输入,每个xj都是相同的,此时有:
zi=n∑j=1αijxjWV=(n∑j=1αij)xWV=xWV此时模型的每个位置都输出相同的结果,无法输出不同的位置编号。上述结果表明相对位置编码会导致Transformer出现拟合能力缺陷问题。
2. URPE
为了保证使用相对位置编码的Transformer仍然是通用近似器,作者设计了通用相对位置编码(Universal RPE)。注意到上述问题出现在Attention矩阵是一个按行的概率矩阵,因此引入如下约束:
zi=n∑j=1αijcijxjWV其中C=[cij]是一个可训练的参数矩阵,它与Attention矩阵逐位相乘。为使模型包含相对位置信息,约束C为Toeplitz矩阵: cij=g(i−j)。
实验表明,上述URPE在预测位置编号和预测偶数位置等特殊任务上都能取得显著的表现。
Related Issues not found
Please contact @0809zheng to initialize the comment