论文地址:
整体思路以及计算方式
之前像RFA和Performer(后续统称为RFA)都是exp(q⊤v)的无偏估计,但并不是exp(q⊤v)/(∑vexp(q⊤v))的无偏估计,这偏论文的主要出发点就是解决这点,论文的整体思路如下:
指出RFA不是无偏估计,通过重要度抽样引入RA(Randomized Attention);
指出RA的计算复杂度太高,作为一个折中方案,引入LARA(Linear Randomized Attention);
RFA和重要度抽样
RFA:
如果有:
exp(x⊤y)=Eω∼N(ω;0,I)[ξ(x,ω)⊤ξ(y,ω)](1) 那么:
∑m′=1Mexp(qn⊤km′)∑m=1Mexp(qn⊤km)vm⊤≈∑m′=1M∑s=1Sξ(qn,ωs)⊤ξ(km′,ωs)∑m=1M∑s=1Sξ(qn,ωs)⊤ξ(km,ωs)vm⊤=∑s=1Sξ(qn,ωs)⊤∑m′=1Mξ(km′,ωs)∑s=1Sξ(qn,ωs)⊤∑m=1Mξ(km,ωs)vm⊤:=RFA(qn,K,V) 这也是本文的主要出发点,注意到公式(2)涉及到分母,这一点是比较难处理的,因此,作者引入了重要度抽样的方法:
那么:
RA
将之前的内容结合,最终作者得到如下结论:
其中:
LARA
首先引出MIS(multiple importance sampling):
最终的计算式:
时间复杂度
训练以及loss
不变。
代码
暂无,详细的伪代码可以参考原论文。
实验以及适用场景
论文主要测试了Encoder,效果还不错,Decoder还没进行测试。
细节
实现的时候应该有不少技巧,等后续复现的时候进行讨论。
简评
理论性很强的一篇文章,但是写的很容易懂,出发点也比较明确,个人感觉比Performer这篇更值得关注。