11. 注意力机制与Transformer

深度学习热潮的最初几年主要是由多层感知机、卷积网络和循环网络架构所产生的结果推动的。值得注意的是,尽管近30年过去了,支撑2010年代许多深度学习突破的模型架构相对于它们的前身变化却非常小。虽然许多新的方法论创新进入了大多数从业者的工具箱——比如ReLU激活函数、残差层、批量规范化、dropout和自适应学习率调度——但核心底层架构显然是经典思想的扩展实现。尽管有数千篇论文提出了替代方案,但类似于经典卷积神经网络(第7节)的模型在计算机视觉领域保持了state-of-the-art(最先进)的地位,而类似于Sepp Hochreiter为LSTM循环神经网络(第10.1节)设计的原始模型的网络,在大多数自然语言处理应用中占据主导地位。可以说,到那时为止,深度学习的迅速崛起似乎主要归功于可用计算资源的转变(得益于GPU并行计算的创新)和海量数据资源的可用性(得益于廉价的存储和互联网服务)。虽然这些因素可能仍然是这项技术日益强大的主要驱动力,但我们终于也见证了主流架构格局的巨大变化。

目前,几乎所有自然语言处理任务的主流模型都基于Transformer架构。对于任何新的自然语言处理任务,默认的首选方法是获取一个大型的基于Transformer的预训练模型(例如,BERT (Devlin et al., 2018),ELECTRA (Clark et al., 2020),RoBERTa (Liu et al., 2019),或 Longformer (Beltagy et al., 2020)),根据需要调整输出层,并在下游任务的可用数据上对模型进行微调。如果你一直关注过去几年围绕OpenAI大型语言模型的铺天盖地的新闻报道,那么你一直在关注的是围绕GPT-2和GPT-3这些基于Transformer的模型的讨论 (Brown et al., 2020, Radford et al., 2019)。与此同时,Vision Transformer已成为各种视觉任务的默认模型,包括图像识别、目标检测、语义分割和超分辨率 (Dosovitskiy et al., 2021, Liu et al., 2021)。Transformer也成为语音识别 (Gulati et al., 2020)、强化学习 (Chen et al., 2021) 和图神经网络 (Dwivedi and Bresson, 2020) 的竞争性方法。

Transformer模型的核心思想是注意力机制,这一创新最初被设想为用于序列到序列应用(如机器翻译)的编码器-解码器RNN的增强功能(Bahdanau et al., 2014)。你可能还记得,在最早的机器翻译序列到序列模型中(Sutskever et al., 2014),整个输入被编码器压缩成一个固定长度的向量,然后馈送到解码器。注意力机制背后的直觉是,与其压缩输入,解码器在每一步都重新审视输入序列可能会更好。此外,人们可以想象,解码器不应总是看到相同的输入表示,而是在特定的解码步骤有选择地关注输入序列的特定部分。Bahdanau的注意力机制提供了一种简单的方法,使解码器可以在每个解码步骤动态地关注输入的不同部分。其高层思想是,编码器可以产生一个与原始输入序列等长的表示。然后,在解码时,解码器可以通过某种控制机制接收一个上下文向量作为输入,该向量由输入在每个时间步的表示的加权和组成。直观地说,权重决定了每个步骤的上下文在多大程度上“关注”每个输入词元,关键是使分配权重的过程可微分,以便它可以与所有其他神经网络参数一起学习。

最初,这个想法是对已经主导机器翻译应用的循环神经网络的一个非常成功的增强。这些模型的表现优于原始的编码器-解码器序列到序列架构。此外,研究人员注意到,通过检查注意力权重的模式,有时会得出一些很好的定性见解。在翻译任务中,当生成目标语言中的相应词语时,注意力模型通常会为跨语言的同义词分配高注意力权重。例如,在将句子“my feet hurt”翻译成“j’ai mal au pieds”时,神经网络可能会在生成相应的法语单词“pieds”时,为“feet”的表示分配高注意力权重。这些见解引发了注意力模型赋予“可解释性”的说法,尽管注意力权重究竟意味着什么——即它们应该如何被解释(如果可以的话)——仍然是一个模糊的研究课题。

然而,注意力机制很快就变得比其作为编码器-解码器循环神经网络的增强功能和其所谓的挑选显著输入的用途更重要。Vaswani et al. (2017) 提出了用于机器翻译的Transformer架构,完全摒弃了循环连接,而是依靠巧妙安排的注意力机制来捕捉输入和输出词元之间的所有关系。该架构表现非常出色,到2018年,Transformer开始出现在大多数最先进的自然语言处理系统中。此外,与此同时,自然语言处理的主流实践变成了在海量的通用背景语料库上预训练大规模模型以优化某些自监督预训练目标,然后使用可用的下游数据对这些模型进行微调。当应用于这种预训练范式时,Transformer与传统架构之间的差距变得尤其大,因此Transformer的崛起与这种大规模预训练模型的崛起相吻合,后者现在有时被称为基础模型 (foundation models) (Bommasani et al., 2021)

在本章中,我们将介绍注意力模型,从最基本的直觉和该思想最简单的实例化开始。然后,我们将逐步介绍Transformer架构、Vision Transformer以及现代基于Transformer的预训练模型的概况。