注意力是一种重要的机制,可用于跨许多不同领域和任务的各种深度学习模型。这项综述提供了一个关于深度学习注意力机制的重要概述。各种注意力机制通过一个由注意力模型,统一符号,和一个全面的分类注意力机制组成的框架来进行解释。在此基础上,本文综述了注意力模型评价的各种方法,并讨论了基于该框架的注意力模型结构表征方法。最后,对注意力模型领域的未来工作进行了展望。
**模拟人类注意力的想法最早出现在计算机视觉领域[1],[2],试图通过引入一个只关注图像特定区域而不是整个图像的模型来降低图像处理的计算复杂度,同时提高性能。然而,我们今天所知道的注意力机制的真正起点通常是源于自然语言处理领域[3]。Bahdanau等人的[3]在机器翻译模型中实现了注意力,以解决循环神经网络结构中的某些问题。在Bahdanau等人的[3]强调了注意力的优点后,注意力技术得到了改进,[4],并迅速流行于各种任务,如文本分类[5]、[6]、图像字幕[7]、[8]、情感分析[6]、[9],以及语音识别[10]、[11]、[12]。
注意力已经成为深度学习中的一种流行技术,原因有几个。首先,整合了注意力机制的模型在上述所有任务和许多其他任务中都获得了最先进的结果。此外,大多数注意力机制可以与基本模型联合训练,如使用规则反向传播[3]的循环神经网络或卷积神经网络。此外,attention向神经网络模型[8]引入了一种特定类型的解释,这种解释通常被认为非常复杂。此外,Transformer模型[13]的引入进一步证明了注意力的有效性,进一步提高了注意力机制的受欢迎程度。注意力最初是作为循环神经网络[14]的扩展而引入的。然而,在[13]中提出的Transformer模型是注意力研究的一个重大发展,因为它证明了注意力机制足以建立一个最先进的模型。这意味着可以避免一些缺点,比如递归神经网络特别难以并行化的事实。就像引入最初的注意力机制[3]一样,Transformer模型是为机器翻译创建的,但很快就被用于其他任务,如图像处理[15]、视频处理[16]和推荐系统[17]。
本综述的目的是解释注意力的一般形式,并提供一个在深度学习注意力技术的全面概述。关于注意力模型的其他综述已经发表。例如,在[18]中,给出了计算机视觉中注意力的调研,[19]提供了图模型中注意力的概述,[20],[21],[22]都是自然语言处理中注意力的调研。本文部分地建立在上述综述所提供的资料之上。本综述与前面提到的综述的主要区别在于,其他的综述一般都关注某个领域内的注意力模型。然而,这项综述提供了一个跨领域的注意力技术概述。我们将以一种通用的方式讨论注意力技术,使它们能够被理解并应用于各种领域。此外,我们发现以往研究中提出的分类方法缺乏恰当区分各种注意力机制所需的深度和结构。此外,某些重要的注意力技巧在以前的综述中还没有得到适当的讨论,而其他提出的注意力机制似乎缺乏技术细节或直观的解释。因此在本文中,我们通过使用统一符号的单一框架,结合技术和直观的解释,提出了重要的注意力技术,并对注意力机制进行了全面的分类。 本文的结构如下:第2节介绍了一个一般的注意力模型,为读者提供了一个基本的了解注意力的属性和如何应用它。本文的主要贡献之一是在第3节中介绍的注意力技术的分类。在本节中,将根据所提供的分类法对注意机制进行解释和分类。第4节概述了评估注意力模型的性能测量和方法。此外,该分类方法还用于评价各种注意模型的结构。最后,在第五部分,我们给出了结论和进一步研究的建议。
本节介绍一种注意力一般性与相应的符号。这里介绍的符号是基于[23]中引入并在[13]中普及的符号。本节中介绍的框架将在本文的其余部分中使用。为了实现一个通用的注意力模型,首先需要描述一个可以使用注意力的模型的一般特征。首先,我们将完整的模型称为任务模型,其结构如图1所示。这个模型只接受一个输入,执行指定的任务,并产生所需的输出。例如,任务模型可以是一种语言模型,它将一段文本作为输入,并将内容摘要、情绪分类或逐字翻译成另一种语言的文本作为输出。或者,任务模型可以获取图像,并为该图像生成标题或分割。任务模型由四个子模型组成: 特征模型、查询模型、注意力模型和输出模型。在2.1小节中,我们讨论了特征模型和查询模型,它们是用来为注意力计算准备输入的。在2.2小节中,我们讨论了注意力模型和输出模型,它们与产生输出有关。
有许多不同类型的注意力机制和扩展,一个模型可以使用这些注意技术的不同组合。因此,我们提出了一种分类法,可以用来对不同类型的注意机制进行分类。图3提供了不同类别和子类别的视觉概述,注意力机制可以涵盖在其中。基于是否关注技术是设计来处理特定类型的特征向量(相关特性),特定类型的模型查询(查询相关),或者它仅仅是一个通用的机制, 分成三大类。这些类别及其子类别的进一步解释将在下面的小节中提供。本节中讨论的每一种机制要么是对第2节中介绍的一般注意模块现有内部机制的修改,要么是对其的扩展。
注意力机制分类法
特征相关注意力机制
**基于特定的一组输入数据,特征模型提取特征向量,从而使注意力模型能够关注这些不同的向量。这些特征可能具有特定的结构,需要特殊的注意力机制来处理它们。可以对这些机制进行分类,以处理以下特征特征之一: 特征的多样性、特征的级别或特征的表示。
通用注意力机制
这个主要的类别包括了可以应用于任何类型的注意力模型的注意力机制。该组件的结构可以分解为以下几个子方面:注意力评分函数、注意力对齐和注意力维度。
查询相关的注意力机制查询是任何注意力模型的重要组成部分,因为它们直接决定从特征向量中提取哪些信息。这些查询基于任务模型的期望输出,可以解释为文字问题。有些查询具有特定的特征,需要特定类型的机制来处理它们。因此,这一类封装了处理特定类型查询特征的注意力机制。这一类中的机制处理以下两个查询特征之一:查询的类型或查询的多样性。**
在本节中,我们介绍了各种类型的注意力模型的评估。首先,我们可以使用第3节中介绍的分类法来评估注意力模型的结构。对于这样的分析,我们考虑注意力机制类别(见图3)作为模型的正交维数。可以通过确定模型对每个类别使用的机制来分析模型的结构。表3提供了文献中发现的注意模型的概述,并基于模型实现的注意力机制进行了相应的分析。其次,我们讨论了评价注意力模型表现的各种技术。注意力模型的性能可以通过外部或内部性能测量来评估,这将分别在第4.1和4.2小节中讨论。
本研究综述了近年来关于深度学习中的注意力模型的研究进展。注意力机制已经成为深度学习模型的一个显著发展,因为它们已经表明可以显著提高模型性能,在几个研究领域的各种任务中产生了最先进的结果。我们提出了一个全面的分类,可以用来分类和解释不同数量的注意力机制提出的文献。分类法的组织基于任务模型的结构,该任务模型由一个特征模型、一个注意力模型、一个查询模型和一个输出模型组成。此外,还使用基于查询、键和值的框架讨论了注意力机制。最后,我们展示了如何使用外在和内在的测量方法来评估注意力模型的表现,以及如何使用分类方法来分析注意力模型的结构。
[1] H. Larochelle and G. E. Hinton, “Learning to combine foveal glimpses with a third-order Boltzmann machine,” in 24th Annual Conference in Neural Information Processing Systems (NIPS 2010). Curran Associates, Inc., 2010, pp. 1243–1251. [2] V. Mnih, N. Heess, A. Graves, and k. kavukcuoglu, “Recurrent models of visual attention,” in 27th Annual Conference on Neural Information Processing Systems (NIPS 2014). Curran Associates, Inc., 2014, pp. 2204–2212.