Rethinking Positional Encoding in Language Pre-training
论文地址:
整体思路以及计算方式
给出引入相对位置编码的一种方案,主要是将位置向量和词向量分开计算。
改进1,修改相似度计算函数:
αijαij=2d1(xilWQ,l)(xjlWK,l)⊤+2d1(piUQ)(pjUK)⊤=2d1(xilWQ,l)(xjlWK,l)⊤+2d1(piUQ)(pjUK)⊤+bj−i 改进2,CLS特殊处理:
resetθ(v,i,j)=⎩⎨⎧vijθ1θ2i=1,j=1,( not related to [CLS])i=1,( from [CLS] to others )i=1,j=1,( from others to [CLS]) 整体计算公式为:
αijTUPE−A=2d1(xilWQ,l)(xjlWK,l)⊤+resetθ(2d1(piUQ)(pjUK)⊤,i,j)αijTUPE−R=2d1(xilWQ,l)(xjlWK,l)⊤+resetθ(2d1(piUQ)(pjUK)⊤+bj−i,i,j) 时间复杂度
不变,关于序列长度还是二次。
训练以及loss
不变。
代码
实验以及适用场景
适用于Encoder,Decoder;论文测试了部分GLUE任务,提升比较明显。
细节
如果不单独考虑CLS,那么其实并没有提升。
简评
CLS单独考虑提供了一个新思路。