文章目录
首先,给出文章中的公式解读:
泰勒展开
假设我们的模型为 , 其中标记出来的
分别表示第
个输入。 像 Transformer 这样的纯 Attention 模型,它是全对称的,即对于任意的
, 都有
这就是我们说 Transformer 无法识别位置的原因 一一全对称性,简单来说就是函数天然满足恒等式 , 以至于我们无法从结果上区分输入到底是
还是
因此,我们要做的事情, 就是打破伩种对称性,比如在每个位置都加上一个不同的编码向量:
一般来说,只要每个位置的编码向量不同, 那么这种全对称性就被打破了,即可以用 代替
来处理 有序的输入。但现在我们希望能进一步分析位置编码的性质,甚至得到一个显式解
为了简化问题,我们先只考虑
可以看到,第 1 项与位置无关,第 2 项到第 5 项都只依赖于单一位置,它们都是存粹的绝对位置信 息,第 6 项是第一个同时包含 的交互项,我们将它记为
补充一下二元函数泰勒展开知识:
其实位置编码就是引入了不同位置的相对关系,离得近的点积之后值大,离得越远衰减越厉害
为什么会出现衰减?
这源于高频振荡积分的渐近趋零性。
具体数学推导参考https://www.spaces.ac.cn/archives/8231
浅显解读
位置编码公式,开头已经给出
引申一下为什么位置嵌入会有用
借助上述公式, 我们可以得到一个特定位置的
我们可以得到:
可以看出,对于 pos
位置的位置向量某一维
或
而言, 可以表示为, pos 位置与
位 置的位置向量的
与