Bert不完全手册9. 长文本建模 BigBird & Longformer & Reformer & Performer( 四 )


多头注意力机制的计算是query和key先计算Attention矩阵A,再对V进行加权,也就是上图等号左边的计算顺序,复杂度是序列长度的平方 。为了避免计算\(L^2\)的注意力矩阵,作者采用矩阵分解\(q^{\prime} \in R^{L,r},k^{\prime} \in R^{L,r}\) , 这里r<d<<L,配合矩阵乘法的结合律,K先和V计算再和Q内积,把空间复杂度从平方级降低到线性 。但是注意力矩阵过softmax之后无法直接做可逆转换得到\(q^{\prime},k^{\prime}\), 因此作者提出了使用positive Random Feature对QK进行映射,使得映射后的矩阵\(q^{\prime},k^{\prime}\)内积可以近似Attention矩阵 。简单解释就是以下的变换
\[softmax(QK^T)V = \phi(Q) \cdot \phi(K)^T \cdot V = \phi(Q) \cdot(\phi(K)^T \cdot V)\]所以Performer的核心在\(\phi\)核函数的设计使得映射后的QK内积可以高度近似注意力矩阵,具体设计如下

Bert不完全手册9. 长文本建模 BigBird &amp; Longformer &amp; Reformer &amp; Performer

文章插图
这里\(SM(x,y) = exp(x^Ty)\)也就是原 。始的注意力矩阵,按照\(f(x)=exp(w^Tx-\frac{||x||^2}{2})\)对Q和K进行变换后,QK内积的期望就等于原始的注意力矩阵 。不过在实际计算中只能对随机变量w进行有限次采样, 因此是近似原始注意力矩阵 。论文有大量篇幅在进行推导和证明 , 这里就不做展开了 。
效果对比我们直接参考Google给出的效果对比,横轴是速度,纵轴是效果(多任务平均值),点的大小是内存 。整体上BigBird还是拔得头筹,它并不是所有任务的SOTA但是整体效果稳定优秀,想看详细对比结果的参考REF2~
Bert不完全手册9. 长文本建模 BigBird &amp; Longformer &amp; Reformer &amp; Performer

文章插图

推荐阅读