[论文阅读] Transformers are RNNs: Fast Autoregressive Transformers with Linear Attention
之前的工作证明了多头自注意力只要有足够的注意力头数就可以表示任意的卷积层。但是,本文反向表明,用自回归目标训练的自注意力层可以被看作是一个RNN,可以显著加快自回归transformer模型的推理时间。
Transformer
式2表示了一种特定形式的注意力,称为softmax注意力,其中相似性是由
Linearized Attention
式2中注意力的定义具有一般性,可以用来定义一些其他的注意力,如多项式注意力和RBF核注意力。为了使式3定义一个注意力函数,需要对
给定一个特征表示核函数
对于式2,softmax注意力的计算复杂度式
对于式5,linear transformer的时间复杂度、空间复杂度都是
对于softmax注意力,乘法和加法的总复杂度为
对于线性注意力,首先计算维度为
先前的分析中并没有考虑到核函数和特征函数的选择。与指数核对应的特征函数是无穷维的,这导致不能精确地线性化softmax注意力。而另一方面,多项式核具有精确的、有限维的特征映射,并且已被证明与指数核或RBF核同样有效。计算一个2次线性化多项式transformer的复杂度为
对于小序列,使用一个特征映射得到正的相似度
Causal Masking
利用transformer框架可以通过掩盖注意力高效地训练自回归模型,使得第
将式9仅一步简化:
gradient computation
在任何深度学习框架中,式12的朴素实现都需要存储所有的中间值
给定分子
式9、式13-15的累加和是在线性时间内、仅需关于序列长度线性比的内存空间内计算得到的。给定一个
Summary
这篇文章实现了线性复杂度的transformer,后续尝试把线性的transformer加到DETR类模型里跑一下,先从original DETR开始改。Facebook有后续的工作,Hydra Attention,但是还没有开源,先挖个坑后面再看。