A Simple and Effective Positional Encoding for Transformers
论文地址:
整体思路以及计算方式
作者提出加性位置编码会增加矩阵的秩,具体来说,定义
AaAr=(X+P)WQWK⊤(X+P)⊤=XWQWK⊤X⊤+P^P^⊤ 那么
inf(rank(Ar))>rank(Aa) 作者默认秩越大,性能越好,于是定义了两种位置编码方式:
Ai,jABSAi,jRELES(S(i),S(j))=(Xi:WQ)(Xj:WK)⊤/d+(PQPK⊤)i,j+ES(S(i),S(j))=(Xi:WQ)(Xj:WK)⊤/d+Ri−j+ES(S(i),S(j))=Si^,j^ 其中S为映射函数,S为可学习的矩阵。
时间复杂度
理论复杂度不变,实际增加的计算开销微乎其微。
训练以及loss
不变。
代码
暂无,但是很好实现。
实验以及适用场景
适用于所有场景,可以带来一定提升,但是并不明显。
细节
暂无。
简评
个人感觉,本文的先验假设:过Softmax之前的矩阵秩越大,模型性能就越好这点站不住脚,因为即使是秩很小的矩阵,过完Softmax之后一般秩也会增加。