【论文极速看】 Linformer 线性复杂性的自注意力机制

线性复杂度的Transformer...

联系方式:

e-mail: FesianXu@gmail.com

github: https://github.com/FesianXu

知乎专栏: 计算机视觉/计算机图形理论与应用

微信公众号:机器学习杂货铺3号店


在Transformer [1]中作者提出了用自注意力取代CNN,RNN在序列建模中的作用,并且取得了显著的实验效果,对整个NLP,CV领域有着深远影响。然而自注意力机制的时间复杂度是的,如式子(1)所示 显然有,其中是序列长度,是隐层维度,那么显然这里的softmax()内的计算将会是时间复杂度的。 这个称之为 密集自注意力 (dense self-attention)。这个复杂度对于长文本来说很不友好。

在论文[2]中,作者证明了密集自注意力是所谓低秩(low-rank)的,意味着可以用更小的矩阵去表征这个大小的自注意力矩阵,从而达到减少复杂度的目的。作者的方法很简单,如Fig 1所示,在Q和K的后续添加两个Projection单元,将序列长度n映射到低维的k,作者将这种单元称之为Linformer

Fig 1. Linformer模型的自注意力单元只是比传统的Transformer多了俩Projection单元。

公式也很简单,如式子(2)所示 其中的,理论上,因为是常数,那么时间复杂度是,降秩的映射也如下图所示。 这种做法在序列长度非常长的时候,会有很大的提速效果,如下图实验所示。因此适合于长文本序列。 从本质来说,我们可以从式子(2)得到式子(3),我们发现和传统的Transformer没有一点区别,而只是后面多了个,这个映射操作相当于对前面的自注意力矩阵进行池化(pooling)到。因此个人感觉,这个网络也许并不是很必要,如果我们能考虑对长文本进行分句,然后计算特征后用某种方式将所有分句的特征融合起来,理论上也不需要用Linformer

Reference

[1]. Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. Attention is all you need. In NIPS, 2017

[2]. Wang, Sinong, Belinda Li, Madian Khabsa, Han Fang, and Hao Ma. "Linformer: Self-attention with linear complexity." arXiv preprint arXiv:2006.04768 (2020).