Transformer研究概述

2022-03-12 18:19谢亦才
电脑知识与技术 2022年3期

谢亦才

摘要:Transformer在自然语言处理、计算机视觉和音频处理等人工智能领域取得了巨大的成功。学术界和产业界研究者设计出了各种各样的Transformer(又称X-formers)。然而,关于这些Transformer的系统全面的文献综述仍然缺乏。在本综述中,首先简要介绍了vanilla Transformer,然后提出了一种新的X-formers分類法。接下来,从架构修改、预训练和应用三个角度介绍了各种X-former。最后,概述了未来研究的一些潜在方向。

关键词:Transformer;架构修改;预训练

中图分类号:TP311    文献标识码:A

文章编号:1009-3044(2022)03-0084-03

开放科学(资源服务)标识码(OSID):

1 引言

Transformer[1]是一种著名的深度学习模型,在许多领域都被广泛采用,比如自然语言处理(NLP)、计算机视觉(CV)和语音处理等领域。Transformer最初是作为机器翻译的序列到序列模型提出的。后来的工作表明,基于Transformer的预训练模型(PTM)[2]可以在各种任务上实现最先进的性能。因此,Transformer成了NLP的首选体系结构,尤其是PTMs。除了与语言相关的应用程序外,Transformer在CV[3],音频处理[4]甚至其他学科中也被采用,比如化学和生命科学。

在本概述中,目的是提供一个全面的回归Transformer及其变种。虽然可以在上述观点的基础上组织X-former,但许多现有的X-former可以解决一个或多个问题。例如,稀疏注意变量不仅降低了计算复杂度,而且在输入数据上引入了结构先验,以缓解小数据集上的过拟合问题。因此,对现有的各种X-former进行分类并提出一种新的分类法,主要是根据它们改进vanilla Transformer的方法:架构修改、预培训和应用进行分类。考虑到概述的对象可能来自不同的领域,主要关注一般的体系结构变体,并简要讨论了预训练和应用的具体变体。

2 Transformer分类

到目前为止,基于vanilla Transformer已经从三个角度提出了各种各样的变种模型:体系结构的变种、预训练方法变种和应用变种。如图1所示。

2.1 基于注意力机制改进的Transformer变种

自注意力机制在Transformer中起着重要的作用,但在实际应用中存在两个挑战。

(1)复杂度。自注意力的复杂度是O(T2·D)。 因此,注意力模块在处理长序列时成为瓶颈。

(2)结构优先。自注意力不假定对输入有任何结构性偏见。甚至顺序信息也需要从训练数据中学习。因此,Transformer(不带预训练)通常很容易对小或中等大小的数据过拟合。

Transformer中注意力机制的改进可以分为几个方向:

(1)稀疏注意力。这项工作将稀疏性偏差引入注意力机制,从而降低了复杂性。

(2)线性化注意力。这一工作解开了注意力矩阵与核心特征地图。然后以相反的顺序计算注意力,以获得线性复杂度。

(3)原型和内存压缩。这类改进方法减少了查询或键值对内存的数量,以减小注意矩阵的大小。

(4)低级别的自注意力。这项工作抓住了自注意力的低级属性。

(5)先验注意力。这项研究探索补充或取代标准注意与先前的注意分布。

(6)改进的多头注意力。这项研究探索了不同的替代性多头注意力机制。

2.2 Transformer架构层面的变种

2.2.1 Transformer轻量化

除了在模块级别上为减轻计算开销所做的努力之外,还有一些尝试通过在更高级别上的修改使Transformer变得轻量级。类似于低阶自注意力[5]将注意分解为局部约束注意和低阶全局注意,Lite Transformer建议替换每个注意具有双分支结构的Transformer中的模块,其中一个分支使用注意力来捕获远程上下文,而另一个分支使用深度卷积和线性层来捕获局部依赖性。该体系结构在模型尺寸和计算方面都是轻量级的,因此更适合于移动设备。

2.2.2 增强跨模块的连接线

在vanilla Transformer中,每个块将前一个块的输出作为输入,并输出一系列隐藏表示。人们可能会创建更多的路径使输入信号可以通过网络传输。例如realeformer和Predictive Attention Transformer,它们将注意力分布从上一个块重用到下一个块引导当前块的注意。这可以看作是在相邻Transformer块之间创建正向路径。

2.2.3 自适应计算时间

像大多数神经模型一样,Vanilla Transformer使用固定的(学习的)计算过程来处理每个输入。一个有趣的和有希望的修改是以计算时间为输入的一个条件,即在Transformer模型中引入自适应计算时间(ACT)。此类修改可能产生以下优点:

(1)特征细化。对于难以处理的数据,简单的表示可能不足以应对当前的任务。更理想的做法是应用更多计算以获得更深入和更精细的表示。

(2)提高效率。在处理简单的示例时,一个浅层特征的表示可能就足够了。在这种情况下,如果网络能够学习使用更少的计算时间来提取特征,这将是有益的。

2.2.4 分而治之策略的Transformer

序列长度上自我注意的二次方复杂性会显著限制下游任务的性能。例如,语言建模通常需要长的上下文。处理长序列的另一种有效方法是使用分治策略,即将输入序列分解为更细的序列可由Transformer或Transformer模块有效处理的段。有两类具有代表性的方法,递归Transformer和层次Transformer。

递归Transformer。在递归Transformer中,维护高速缓存以合并历史信息。当处理一段文本时,网络从缓存中读取作为附加输入。处理完成后,网络通过简单地复制隐藏状态或使用更复杂的机制。

层次Transformer。层次Transformer将输入按层次分解为粒度更细的元素。低级特征首先被馈送到Transformer編码器,生成输出表示,然后进行聚合(使用池或其他操作)以形成输出高级特征,然后由高级Transformer处理。这类方法可以理解为一个分层抽象的过程。这种方法的优点有两个:(1)层次化建模允许模型以有限的资源处理长输入。(2)它有可能生成对任务有益的更丰富的表示。

2.2.5 探索替代架构

尽管Transformer结构取得了成功,但人们可能会质疑当前Transformer的结构是否是最佳的。有趣的是,一些研究已经探索了Transformer的替代架构。

Lu等人[6]将Transformer解释为多粒子动力学系统中对流扩散方程的数值常微分方程(ODE)解算器,并设计Macaron Transformer,用FFN注意FFN变量替换每个Transformer块。

Sandwich Transformer[7]探索了注意力模块和FFN模块的重组,使得注意力模块主要位于下层,FFN模块位于上层。这个诱导模型在不增加参数、内存或训练时间的情况下,改善了多语言建模基准的复杂性。

掩码注意网络(MAN)在每个变压器块中的自我注意模块上预先设置一个动态面具注意模块。掩码是以符号表示为条件的,令牌和头部索引之间的相对距离。结果表明,所提出的动态掩码注意能够有效地对文本数据中的局部性进行建模,并且诱导模型在机器翻译和抽象摘要中的性能始终优于基线模型。

值得注意的是,有一系列工作使用神经架构搜索(NAS)来搜索改变的本机转换器架构。进化Transformer(ET)[8]采用基于进化的方法使用标准变压器体系结构搜索初始总体。这个搜索到的模型在几种语言上都比Transformer有一致的改进任务。作为另一项代表性工作,DARTSformer采用了可微体系结构搜索(DARTS)[9],结合多分裂可逆网络和反向传播重建算法,提高内存效率。由此产生的模型始终优于其他模型标准变压器和比较有利的更大的ET模型,与一个显著减少搜索成本。

3 预训练Transformer

Transformer与卷积网络和递归网络的一个关键区别在于,卷积网络和递归网络固有地包含了局部性的感应偏差,Transformer不对数据的结构进行任何假设。一方面,这有效地使Transformer成为一个非常通用的体系结构,具有捕获不同范围的依赖关系的潜力。另一方面,当数据有限时,这使得变压器容易过度拟合。缓解这一问题的一种方法是在模型中引入归纳偏置。

最近的研究表明,在大型语料库上预先训练的Transformer模型可以学习通用语言表示法,这对下游任务是有益的。使用各种自我监督目标对模型进行预训练,例如,根据上下文预测掩盖掉的词。在预先训练模型之后,可以简单地在下游数据集上对其进行微调,而不是从头开始训练模型。为了说明在预培训中使用变压器的典型方法,确定了一些预培训变压器,并将其分类如下。

(1)仅限编码器。工作线使用Transformer编码器作为其主干架构。BERT是一种典型的PTM,通常用于自然语言理解任务。它采用掩膜语言建模(MLM)和下一句预测(NSP)作为自监督训练目标。RoBERTa进一步调整了BERT的培训,并删除了NSP目标,因为发现它会影响下游任务的性能。

(2)仅限解码器。有几项研究侧重于对Transformer解码器进行语言建模的预训练。例如,生成型预训练Transformer(GPT)系列专用于缩放预训练Transformer解码器,并且最近已经说明,大规模PTM可以通过将任务和示例输入到构建的模型提示来实现令人印象深刻的少样本性能。

(3)编解码器。还有一些PTM采用Transformer编码器-解码器作为总体架构。BART将BERT的去噪目标扩展到编码器-解码器架构。使用编码器-解码器体系结构的好处是,诱导模型具有执行自然语言理解和生成的能力。T5采用了类似的架构,是最早在下游任务中使用任务特定文本前缀的研究之一。

一些Transformer架构变体也可应用于基于Transformer的PTM。例如,BigBird是一种基于编码器的PTM,它使用基于复合位置的稀疏注意来启用长序列输入。GPT-3在自我注意模块中使用交替密集和局部带状稀疏注意。Switch Transformer是一种基于编码器的PTM,它用专家混合代替FFN层层和可以增加参数计数,同时保持每个示例的触发器恒定。

4 Transformer的应用

Transformer最初设计用于机器翻译,但由于其灵活的体系结构,它已被广泛应用于NLP以外的各个领域,包括CV、音频处理和多模态应用。CV中包括图像分类、目标检测、图像生成和视频处理等。音频处理包括语音识别、语音合成、语音增强和音乐合成。多模态应用包括视觉常识推理、视觉问答、看图说话、音频-文本翻译和文本-图像生成等。

5 结论和未来展望

在这项调查中,笔者对X-former进行了全面的概述,并提出了一种新的分类法。现有的大多数工作都从不同的角度对Transformer进行了改进,如效率、通用化和应用。这些改进包括加入结构优先、设计轻量级架构、预训练等。

尽管X-Former已经证明了他们在各种任务中的能力,但挑战仍然存在。除了当前关注的问题(例如效率和通用性),Transformer的进一步改进可能位于以下方向:理论分析、更好的全球交互机制、多模态数据的统一框架。由于Transformer在文本、图像、视频和音频方面取得了巨大成功,我们有机会构建一个统一的框架更好地捕捉多模态数据之间的内在联系。然而,模态内和模态间的注意力机制的设计仍有待改进。

参考文献:

[1]Ashish Vaswani, Noam Shazeer, Niki Parmar, et al. Attention is All you Need[C]//In Proceedings of NeurIPS, 2017, 5998–6008.

[2] Qiu X P,Sun T X,Xu Y G,et al.Pre-trained models for natural language processing:a survey[J].Science China Technological Sciences,2020,63(10):1872-1897.

[3] Nicolas Carion, Francisco Massa, Gabriel Synnaeve, et al. End-to-End Object Detection with Transformers[C]//In Proceedings of ECCV 2020 - 2020 Europeon Conference on Computer Vision, 213–229.

[4] Chen X,Wu Y,Wang Z H,et al.Developing real-time streaming transformer transducer for speech recognition on large-scale dataset[C]//ICASSP 2021 - 2021 IEEE International Conference on Acoustics,Speech and Signal Processing (ICASSP).June 6-11,2021,Toronto,ON,Canada.IEEE,2021:5904-5908.

[5] Guo Q P,Qiu X P,Xue X Y,et al.Low-rank and locality constrained self-attention for sequence modeling[J].ACM Transactions on Audio,Speech,and Language Processing,2019,27(12):2213-2222.

[6] Lu Y , Li Z , He D , et al. Understanding and Improving Transformer From a Multi-Particle Dynamic System Point of View. arXiv:1906.02762 [cs.LG].

[7] Press O,Smith N A,Levy O.Improving transformer models by reordering their sublayers[C]//Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics.Online.Stroudsburg,PA,USA:Association for Computational Linguistics,2020:2996–3005.

[8] David R. So, Quoc V. Le, and Chen Liang. The Evolved Transformer[C]// ICML 2019 - 2019 International Conference on Machine Learning, 5877–5886.

[9] Hanxiao Liu, Karen Simonyan, and Yiming Yang. DARTS: Differentiable Architecture Search[C]// ICLR 2019 - 2019 International Conference on Learning Representations, 1-13.

【通聯编辑:梁书】