注意力机制是神经网络中的一个重要概念,当前研究人员已经在各种应用领域中对其进行了研究。本文将全面介绍注意力机制模型的结构以及当前的发展状况;并依据逻辑范畴对注意力机制模型进行了分类。
注意力模型/Attention Model(AM)首先是在机器翻译中引入的,但是当前已经成为神经网络结中的一个重要概念。 作为在自然语言处理、统计学习、语音和计算机视觉中大量应用的神经体系结构的重要组成部分,注意力机制在人工智能(AI)社区中已变得极为流行。注意力原理可以使用人类生物系统进行解释。例如,我们的视觉处理系统倾向于有选择地将注意力集中在图像的某些部分,而忽略其它不相关的信息,从而有助于感知。同样,在涉及语言,言语或视觉的几个问题中,输入的某些部分与其他部分相比可能更相关。例如,在翻译和摘要任务中,只有输入序列中的某些单词可能与预测下一个单词相关。同样,在图像字幕问题中,输入图像的某些区域可能与在字幕中生成下一个单词更相关。 AM通过允许模型动态地关注输入中有助于有效执行手头任务的某些部分,从而融入了关联的概念。 注意力机制在神经网络建模中迅速发展的原因主要有三个。第一,现在这些模型已经成为机器翻译、问答、情感分析、词性标注、选区解析和对话系统等多项任务的最新技术。第二,除了在主要任务上提高性能之外,它们还提供了其它一些优势。它们被广泛用于提高神经网络的可解释性(神经网络又被认为是黑箱模型),主要是因为人们对影响人类生活的应用程序中机器学习模型的公平性、问责制和透明度越来越感兴趣。第三,它们有助于克服递归神经网络(RNN)存在的一些问题,例如随着输入长度增加导致性能下降,以及输入的顺序处理导致计算效率降低。
序列到序列的模型结构主要由编码器和解码器组成。
为解决以上两个问题,AM允许解码器访问整个编码的输入序列 。其核心思想是在输入序列上引入注意权重α,以对存在相关信息位置集进行优先排序,从而生成下一个输出令牌 。
本文将Attention Model共计分为四类: 基于多输入输出序列的分类、基于抽象层的分类、基于计算位置分类、基于多表示分类 。
到目前为止,我们只考虑了涉及单个输入和相应输出序列的情况。当候选状态和查询状态分别属于两个不同的输入和输出序列时,这就需要使用一种不同的注意力模型。这种注意力模型大多数用于翻译、摘要、图像字幕和语音识别等。 一个共同注意模型同时处理多个输入序列,共同学习它们的注意权重,以捕捉这些输入之间的相互作用。例如采用共同注意模型进行视觉问答,除了在输入图像上建立视觉注意模型外,建立问题注意模型也很重要,因为问题文本中的所有单词对问题的答案并不同等重要。此外,基于注意的图像表示用于引导问题注意,反之亦然,这本质上有助于同时检测问题中的关键短语和答案相关的图像的相应区域。对于文本分类和推荐等任务,输入是一个序列,而输出不是一个序列。在这个场景中,注意可以用于学习相同输入序列中每个令牌的输入序列中的相关令牌。换句话说,对于这类注意,查询和候选状态属于同一序列。 参考文献 : [1]Jiasen Lu, Jianwei Yang, Dhruv Batra, and Devi Parikh. Hierarchical question-image co-attention for visual question answering. In NIPS, pages 289–297, 2016 [2] Zichao Yang, Diyi Yang, Chris Dyer, Xiaodong He, Alexander J. Smola, and Eduard H. Hovy. Hierarchical attention networks for document classification. In HLT-NAACL, 2016.
在最一般的情况下,注意力权重只针对原始输入序列计算。这种类型的注意可以称为单水平。另一方面,注意力可以按顺序应用于输入序列的多个抽象层次。较低抽象级别的输出(上下文向量)成为较高抽象级别的查询状态。此外,基于权值是自上而下学习还是自下而上学习的,可以对使用多层次注意的模型做进一步的分类。我们举例说明了这一类别中的一个关键示例,该示例在两个不同的抽象层次(即单词级和句子级)使用注意模型进行文档分类任务。这个模型被称为“层次注意模型”(HAM),因为它捕捉了文档的自然层次结构,即文档由句子组成,句子由单词组成。多层次注意允许HAM提取句子中重要的单词和文档中重要的句子,如下所示。首先建立了一种基于注意的句子表示方法,并将一级注意应用于嵌入向量序列,然后它使用第二级注意来聚合这些句子表示形式,以形成文档的表示形式,这个文档的最终表示用作分类的特征向量任务。 参考文献 : [1]Shenjian Zhao and Zhihua Zhang. Attention-via-attention neural machine translation. In AAAI, 2018
在第三类中,差异来自于输入序列计算注意力权值的位置。Bahdanau等人引入的注意,也被称为软关注。顾名思义,它使用输入序列所有隐藏状态的加权平均值来构建上下文向量。软权值方法的使用使得神经网络能够通过反向传播进行有效的学习,但也会导致二次计算代价。Xu等人提出了一个硬注意模型,其中上下文向量是根据输入序列中随机采样的隐藏状态计算的。这是通过注意权重参数化的多努利分布来实现的。硬注意模型有利于降低计算成本,但在输入的每个位置进行硬决策,使得得到的框架不可微,难以优化。因此,为了克服这一局限性,文献中提出了变分学习方法和策略梯度方法。 参考文献 : [1] Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. Neural machine translation by jointly learning to align and translate. arXiv preprint arXiv:, 2014. [2] Kelvin Xu, Jimmy Ba, Ryan Kiros, Kyunghyun Cho, Aaron Courville, Ruslan Salakhudinov, Rich Zemel, and Yoshua Bengio. Show, attend and tell: Neural image caption generation with visual attention. In ICML, pages 2048–2057, 2015. [3] Thang Luong, Hieu Pham, and Christopher D. Manning. Effective approaches to attention-based neural machine translation. In EMNLP, pages 1412–1421, Lisbon, Portugal, September 2015. ACL.
通常,在大多数应用中使用输入序列的单一特征表示。但是,在某些情况下,使用输入的一个特征表示可能不足以完成下游任务。在这种情况下,一种方法是通过多个特征表示捕获输入的不同方面。注意可以用来给这些不同的表示分配重要性权重,这些表示可以确定最相关的方面,而忽略输入中的噪声和冗余。我们将此模型称为多表示AM,因为它可以确定下游应用程序输入的多个表示的相关性。最终表示是这些多重表示及其注意力的加权组合重量。注意的好处是通过检查权重,直接评估哪些嵌入是特定下游任务的首选。 参考文献 : [1]Douwe Kiela, Changhan Wang, and Kyunghyun Cho. Dynamic meta-embeddings for improved sentence representations. In EMNLP, pages 1466–1477, 2018. [2]Suraj Maharjan, Manuel Montes, Fabio A Gonzalez, and Thamar ´ Solorio. A genre-aware attention model to improve the likability prediction of books. In EMNLP, pages 3381–3391, 2018. [3]Zhouhan Lin, Minwei Feng, Cicero Nogueira dos Santos, Mo Yu, Bing Xiang, Bowen Zhou, and Yoshua Bengio. A structured selfattentive sentence embedding. arXiv preprint arXiv:, 2017. [4]Tao Shen, Tianyi Zhou, Guodong Long, Jing Jiang, Shirui Pan, and Chengqi Zhang. Disan: Directional self-attention network for rnn/cnn-free language understanding. In AAAI, 2018
更多自然语言处理相关知识,还请关注 AINLPer公众号 ,极品干货即刻送达。