本文首发于知乎,作者:TniL

转眼Transformer模型被提出了4年了。依靠弱归纳偏置、易于并行的结构,Transformer已经成为了NLP领域的宠儿,并且最近在CV等领域的潜能也在逐渐被挖掘。尽管Transformer已经被证明有很好的通用性,但它也存在一些明显的问题,例如:

1、核心模块自注意力对输入序列长度有平方级别的复杂度,这使得Transformer对长序列应用不友好。例如一个简单的32x32图像展开就会包括1024个输入元素,一个长文档文本序列可能有成千上万个字,因此有大量现有工作提出了轻量化的注意力变体(例如稀疏注意力),或者采用“分而治之”的思路(例如引入recurrence);

2、与卷积网络和循环网络不同,Transformer结构几乎没有什么归纳偏置。这个性质虽然带来很强的通用性,但在小数据上却有更高的过拟合风险,因此可能需要引入结构先验、正则化,或者使用无监督预训练。

近几年涌现了很多Transformer的变体,各自从不同的角度来改良Transformer,使其在计算上或者资源需求上更友好,或者修改Transformer的部分模块机制增大模型容量等等。但是,很多刚接触Transformer的研究人员很难直观地了解现有的Transformer变体,例如前阵子有读者私信我问Transformer相关的问题,聊了一会儿才发现他不知道Transformer中的layer norm也有pre-LN和post-LN两种变体。因此,我们认为很有必要对现有的各种Transformer变体做一次整理,于是产生了一篇survey ,现在挂在了arxiv上:arxiv.org/abs/2106.0455

 

更多详情可以戳原文。

内容中包含的图片若涉及版权问题,请及时与我们联系删除