论文地址:
https://arxiv.org/abs/2005.09561arrow-up-right
本文对MHA\mathrm{MHA}MHA中Softmax\mathrm{Softmax}Softmax归一化方式提出了疑问,通过理论,实验的方式证明了其他归一化方式也能达到相当的效果。原文测试了很多种方法,这里给出效果最好的一种NormalizedAttentionPooling(NAP)\mathrm{Normalized Attention Pooling (NAP)}NormalizedAttentionPooling(NAP)的计算方式:
给定Q,K,V∈Rn×d\mathbf{Q, K, V}\in \mathbb R^{n\times d}Q,K,V∈Rn×d
计算相似度str=qt⊤kr∈Rs_{tr}= \mathbf q_t^{\top} \mathbf k_r \in \mathbb Rstr=qt⊤kr∈R
定义归一化函数:
按行归一化相似度:normalize([(st1,…,stn)])\mathrm{normalize}([(s_{t1},\ldots,s_{tn})])normalize([(st1,…,stn)])
剩余部分同MHA\mathrm{MHA}MHA计算
只是换了归一化的方式,所以时间复杂度为O(n2d)O(n^2 d)O(n2d)。
没有变化。
https://github.com/lucidrains/all-normalization-transformerarrow-up-right
https://github.com/OliverRichter/normalized-attentionarrow-up-right
适用于Encoder, Decoder;原论文只做了验证实验,没有跑性能实验。
暂无。
总结:
讨论了Softmax\mathrm{Softmax}Softmax是否必要的问题,从验证实验上来说不是必须的;
比较简单,值得复现;
Last updated 3 years ago