Transformer 中位置嵌入的一个关键性质

论文 On Position Embeddings in BERT 中的公式 (1) 描述了位置嵌入 (position embedding) 的一个性质 (preservation of the order of distances). 这里对其进行了一些变化, 表示如下:

$$|x - y| \le |x -z| \Rightarrow \|\vec{x}- \vec{y}\| \le \|\vec{x}- \vec{z}\| \tag{1}$$

当且仅当左式等号成立时, 右式等号成立 (下同). 式中 $x, y, z$ 是位置, $\vec{x}, \vec{y}, \vec{z}$ 是相应的位置嵌入.

但送入 attention 的实际上是词嵌入和位置嵌入的和, attention 内部执行的是内积运算 (而不是距离运算), 所以我们期望位置嵌入应该具有如下的性质:

$$|x - y| \le |x -z| \Rightarrow \langle \vec{f} + \vec{x}, \vec{f} + \vec{y}\rangle \ge \langle \vec{f} + \vec{x}, \vec{f} + \vec{z}\rangle \tag{2}$$

如果采用固定的位置嵌入, 由于词嵌入 $\vec{f}$ 未知, 我们很难构造这样的位置嵌入. 因此尝试消除 $\vec{f}$.

对公式 (2) 的右式做如下变换
$$\begin{aligned}\langle \vec{f} + \vec{x}, \vec{f} + \vec{y}\rangle &\ge \langle \vec{f} + \vec{x}, \vec{f} + \vec{z}\rangle\\ \langle \vec{f}, \vec{f}\rangle + \langle \vec{f}, \vec{y}\rangle + \langle \vec{x}, \vec{f}\rangle + \langle \vec{x}, \vec{y}\rangle &\ge \langle \vec{f}, \vec{f}\rangle + \langle \vec{f}, \vec{z}\rangle + \langle \vec{x}, \vec{f}\rangle + \langle \vec{x}, \vec{z}\rangle \\ \langle \vec{f}, \vec{y}\rangle + \langle \vec{x}, \vec{y}\rangle &\ge \langle \vec{f}, \vec{z}\rangle + \langle \vec{x}, \vec{z}\rangle \end{aligned}$$

由于 $\vec{x}, \vec{y}, \vec{z}, \vec{f}$ 的任意性, 所以公式 (2) 等效为:

$$|x - y| \le |x -z| \Rightarrow \begin{cases}\langle \vec{x}, \vec{y}\rangle \ge \langle \vec{x}, \vec{z}\rangle \\ \langle \vec{f}, \vec{y}\rangle = \langle \vec{f}, \vec{z}\rangle = 0 \end{cases} \tag{3}$$

$\langle \vec{f}, \vec{y}\rangle = \langle \vec{f}, \vec{z}\rangle$ = 0, 即词嵌入和位置嵌入正交,这在高维空间中很容易成立 (随机生成的两个高维向量大概率是正交的). 所以通常情况下, 只需要使位置嵌入满足下面的性质即可:

$$|x - y| \le |x -z| \Rightarrow \langle \vec{x}, \vec{y}\rangle \ge \langle \vec{x}, \vec{z}\rangle \tag{4}$$

修改历史

  • 20240418 推导公式并发布

版权声明

署名-非商业性使用-相同方式共享 4.0 国际许可协议

版权归属: 采石工
本文链接: https://quarryman.cn/article/20240418
版权声明: 除特别声明外, 文章采用《署名-非商业性使用-相同方式共享 4.0 国际》许可协议.