【初理解】Transformer中的Positional Encoding_深度学习

文章目录


首先,给出文章中的公式解读:

【初理解】Transformer中的Positional Encoding_transformer_02

【初理解】Transformer中的Positional Encoding_人工智能_03

泰勒展开


假设我们的模型为 【初理解】Transformer中的Positional Encoding_位置编码_04, 其中标记出来的 【初理解】Transformer中的Positional Encoding_位置编码_05 分别表示第 【初理解】Transformer中的Positional Encoding_深度学习_06 个输入。 像 Transformer 这样的纯 Attention 模型,它是全对称的,即对于任意的 【初理解】Transformer中的Positional Encoding_深度学习_06, 都有

【初理解】Transformer中的Positional Encoding_人工智能_08

这就是我们说 Transformer 无法识别位置的原因 一一全对称性,简单来说就是函数天然满足恒等式 【初理解】Transformer中的Positional Encoding_显式_09 , 以至于我们无法从结果上区分输入到底是 【初理解】Transformer中的Positional Encoding_位置编码_10 还是 【初理解】Transformer中的Positional Encoding_深度学习_11

因此,我们要做的事情, 就是打破伩种对称性,比如在每个位置都加上一个不同的编码向量:

【初理解】Transformer中的Positional Encoding_深度学习_12

一般来说,只要每个位置的编码向量不同, 那么这种全对称性就被打破了,即可以用 【初理解】Transformer中的Positional Encoding_深度学习_13 代替 【初理解】Transformer中的Positional Encoding_人工智能_14 来处理 有序的输入。但现在我们希望能进一步分析位置编码的性质,甚至得到一个显式解
为了简化问题,我们先只考虑 【初理解】Transformer中的Positional Encoding_深度学习_06

【初理解】Transformer中的Positional Encoding_深度学习_16

可以看到,第 1 项与位置无关,第 2 项到第 5 项都只依赖于单一位置,它们都是存粹的绝对位置信 息,第 6 项是第一个同时包含 【初理解】Transformer中的Positional Encoding_位置编码_17 的交互项,我们将它记为 【初理解】Transformer中的Positional Encoding_深度学习_18

补充一下二元函数泰勒展开知识:

【初理解】Transformer中的Positional Encoding_人工智能_19

其实位置编码就是引入了不同位置的相对关系,离得近的点积之后值大,离得越远衰减越厉害

为什么会出现衰减?

这源于高频振荡积分的渐近趋零性。

【初理解】Transformer中的Positional Encoding_transformer_20

具体数学推导参考​​https://www.spaces.ac.cn/archives/8231​

浅显解读


【初理解】Transformer中的Positional Encoding_transformer_21

位置编码公式,开头已经给出

【初理解】Transformer中的Positional Encoding_显式_22

【初理解】Transformer中的Positional Encoding_深度学习_23

引申一下为什么位置嵌入会有用

借助上述公式, 我们可以得到一个特定位置的 【初理解】Transformer中的Positional Encoding_transformer_24

【初理解】Transformer中的Positional Encoding_位置编码_25

我们可以得到:

【初理解】Transformer中的Positional Encoding_transformer_26

可以看出,对于 pos 【初理解】Transformer中的Positional Encoding_位置编码_27 位置的位置向量某一维 【初理解】Transformer中的Positional Encoding_人工智能_28【初理解】Transformer中的Positional Encoding_深度学习_29 而言, 可以表示为, pos 位置与 【初理解】Transformer中的Positional Encoding_位置编码_30 位 置的位置向量的 【初理解】Transformer中的Positional Encoding_人工智能_28【初理解】Transformer中的Positional Encoding_深度学习_29