Translational Equivariance in Kernelizable Attention
论文地址:
整体思路以及计算方式
论文讨论的是在线性Attention中添加相对位置编码信息,整体思路如下。
首先回顾Attention计算方式,其中ei是word embedding,ui是position embedding:
A~i,j=⟨(ei+ui)Wq,(ej+uj)Wk⟩=(ei+ui)WqWk⊤(ej+uj)⊤=eiWqWk⊤ej⊤+eiWqWk⊤uj⊤+uiWqWk⊤ej⊤+uiWqWk⊤uj⊤ 论文的思路是对该计算方式进行重构,并且仍然能保持线性Attention的性质。
方案1:
A~i,j=eiWqWk⊤ej⊤+uiWqWk⊤uj⊤ 其中:
Wq∗Wk∗=blockdiag([α1−β1β1α1],…,[αm−βmβmαm])=I2m 该方案的特点是,如果位置编码的形式为:
ux=ϕ(x)=[sin(ω1x),cos(ω1x),…,sin(ωmx),cos(ωmx)] 那么满足如下性质:
⟨ui−uWq,uj−uWk⟩=⟨uiWq,ujWk⟩ 方案2:
A~ij=eiWq(ejWk+aij)⊤=eiWqWk⊤ej⊤+eiWqaij⊤ 其中
aijclip(x,k)=wclip(j−i,k)=max(−k,min(k,x)) clip函数的含义是将输入截断至[−k,k]之间。
如果使用普通的实现方式,那么时间复杂度为O(L2d),但是注意到:
j=1∑L⟨qi′,aij′⟩vj=⟨qi′,wk′⟩j=1∑Lvj+m∑⟨qi′,aim′⟩ 可以将时间复杂度降低为O(Ld2),其中d为embedding维度。
时间复杂度
和线性Attention一致,依然为O(Ld2)
训练以及loss
不变。
代码
实验以及适用场景
适用于所有场景,实验只测试了图像任务,但是效果一般。
细节
暂无。
简评
总体感觉新意尚可,但效果一般。