出发点:“通过绝对位置编码的方式实现相对位置编码”
操作步骤
1.假设一个函数f()通过他能让q,k带上绝对位置信息
对q,k进行操作(f())使得他们带上位置m,n的绝对位置信息,
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/abe080e23ce852363117adbeaa4d264c.png)
通过内积后,希望结果带上相对位置信息,因此假设存在下列恒等关系
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/37518830e9f9860698e337b7e2bc8d04.png)
2.根据以上的恒等式求出f()
假设f(q,0)=q 和f(k,0)=k
先求出在二维情景下的情况,在推广到高纬度
借助复数来求解。在复数中有⟨q,k⟩=Re[qk∗],Re[] 代表复数的实部,所以我们有
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/45bb75d6543921c3ff3b8831800ec515.png)
简单起见,我们假设存在复数g(q,k,m−n),使得f(q,m)f∗(k,n)=g(q,k,m−n),然后我们用复数的指数形式,设