2022-02-18
在“关注是你所需要的全部”这篇文章中,位置编码方法基本上只是被一笔带过,没有详细解释为什么要在自我关注中加入位置编码以及文章中编码方法的好处。
本文的编码方法如上式所述,其中编码向量的第一个分量是向量的维数。
对于诸如“它是如何出现的”和“它必须是这种形式吗?”这样的基本问题,仍然没有很好的答案
对于自我关注模型,是= =对称= =。假设模型是,什么是对称模型,即对于任意m和n个输入,
这就是所谓的对称性,也是transformer无法识别位置信息的原因-= =对称= =。简单来说,函数自然满足恒等式。
我们现在需要做的是打破这种对称性,并考虑位置信息,例如,为每个位置添加不同的偏移向量:
只要每个位置的编码向量不同,这种对称性就会被打破,可以用它来代替处理有序输入(它结合了每个记号的位置信息)。
目前只考虑M和N的位置码作为扰动项,泰勒展开(二阶):
根据泰勒展开,我们可以看到第一项与位置信息无关,第二到第五项都依赖于单一的位置信息(= =绝对位置信息= =)。第六项同时包含M和N的信息,是它们之间的交互项。希望能代表某个= =相对位置信息= =。
根据公式(3)可以看出,展开式的最后一位是= =两个位置的交互项,隐含了两个位置的相对位置信息,那么为什么能表示相对位置信息呢?
假设单位矩阵,这次是= =两个码的内积= =,我们希望这一项表示两个位置的相对位置信息,即= =有一个函数= =使得。
在transformer体系结构中,位置编码为序列中不同位置的元素的依赖性建模提供监督信息。本文在基于变压器的语言模型中研究了各种位置编码方法,并提出了一种新的编码方法——旋转位置嵌入法。这种方法使用旋转矩阵对绝对位置信息进行编码,并在自我注意公式中自然包含相对位置依赖。
RoPE具有一些有价值的特性,比如能够灵活扩展到任意长度序列,token之间的依赖会随着相对距离的增加而逐渐降低,能够为线性自我注意配备相对位置信息。
因此,本文的实验表明,具有旋转位置矩阵的改进变换器(简称RoFormer)在各种语言模型任务上取得了更好的性能。
序列的词序在自然语言中起着重要的作用。RNNs沿着时间步长循环计算隐藏状态码的词序信息。CNN通常不考虑词序信息,但最近的研究表明,可以通过使用一般的填充操作来隐含地学习位置信息。
近年来,transformer-base模型的有效性在各种NLP任务中被证明是有效的,提供了比RNNs更好的并行化能力,并且该模型可以比CNN更好地处理长令牌之间的关系。
考虑到《变形金刚》中没有使用RNN和CNN,并且证明了自注意结构没有位置信息,因此提出了许多不同的方法将位置信息插入到模型中。
在本文的工作中。
本文= =投稿= =: