深度学习笔记(十):Attention Model学习笔记一:发展历程原理、优势及系统分类

一、注意力模型(Attention Model,AM)背景介绍

近段时间,注意力机制被纳入的不同的神经网络结构,并展示了注意力如何提高神经网络的可解释性。注意力原理可以使用人类生物系统进行解释。

视觉处理系统中,人们更倾向于有选择地将注意力集中在图像的某些部分,而忽略其它不相关的信息,从而有助于感知。

在涉及语言,言语或视觉的几个问题中,输入的某些部分与其他部分相比可能更相关。例如,在翻译和摘要任务中,只有输入序列中的某些单词可能与预测下一个单词相关。

同样,在图像字幕问题中,输入图像的某些区域可能与在字幕中生成下一个单词更相关。

AM通过允许模型动态地关注输入中有助于有效执行手头任务的某些部分,从而融入了关联的概念。

二、注意力机制在神经网络建模中迅速发展的三个主要原因:

  • 第一,现在这些模型已经成为机器翻译、问答、情感分析、词性标注、选区解析和对话系统等多项任务的最新技术。比较符合注意力机制的特征。

  • 第二,除了在主要任务上提高性能之外,它们还提供了其它一些优势。它们被广泛用于提高神经网络的可解释性(神经网络又被认为是黑箱模型),主要是因为人们对影响人类生活的应用程序中机器学习模型的公平性、问责制和透明度越来越感兴趣。

  • 第三,它们有助于克服递归神经网络(RNN)存在的一些问题,例如随着输入长度增加导致性能下降,以及输入的顺序处理导致计算效率降低。

三、Attention Model(AM)发展引入

序列到序列模型

序列到序列的模型结构主要由编码器和解码器组成

在这里插入图片描述

可以看到,编码器主要是一个RNN结构,其中输入序列为 { x 1 , x 2 , … , x T } \{x_1,x_2,\dots ,x_T\} {x1,x2,,xT},编码器主要是将输入序列编码成固定长度的向量 h T h_T hT,解码器则将编码器的输出作为输入 h T h_T hT,最后生成输出序列 { y 1 , y 2 , … , y T } \{y_1,y_2,\dots ,y_T\} {y1,y2,,yT}

传统编解码器存在的两个问题

1、编码器必须将所有输入信息压缩成一个固定长度的向量 h T h_T hT ,然后传递给解码器。使用一个固定长度的向量来压缩长而详细的输入序列可能会导致信息丢失。

2、它无法对输入和输出序列之间的对齐进行建模,这是结构化输出任务(如翻译或摘要)的一个重要方面。直观地说,按顺序到顺序的任务,每个输出标记都会受到输入序列某些特定部分的影响。然而,解码器缺乏在生成每个输出令牌时有选择地关注相关输入令牌的机制。

Attention Model

为解决以上两个问题,AM允许解码器访问整个编码的输入序列 { h 1 , h 2 , … , h T } \{h_1,h_2,\dots ,h_T\} {h1,h2,,hT}其核心思想是在输入序列上引入注意权重 α \alpha α,以对存在相关信息位置集进行优先排序,从而生成下一个输出令牌

在这里插入图片描述

上图显示了带有注意力的编码器-解码器架构。该体系结构中的注意块负责自动学习注意权重 α i j \alpha_{ij} αij,它捕获 h i h_i hi(编码器隐藏状态,我们称之为候选状态)和 s j s_j sj(解码器隐藏状态,我们称之为查询状态)从而尝试去推断适应当前情况下的的权重之间。然后,这些注意权重用于构建上下文向量 c c c,该上下文向量 c c c作为输入传递给解码器。在每个解码位置 j j j,上下文向量 c j c_j cj是编码器的所有隐藏状态及其相应的注意权值的加权和,通过这个附加的上下文向量是解码器可以访问整个输入序列并关注输入序列中相对关系。

注意力权重的学习: 注意力权重是通过在结构中加入一个额外的前馈神经网络来学习的。该前馈网络学习特定的注意权重 a i j a_{ij} aij,它是作为神经网络输入的两个状态 h i h_i hi(候选状态)和 s j − 1 s_{j-1} sj1(查询状态)的函数。此外,该前馈网络与该体系结构的编码器-解码器组件联合训练。

四、Attention Model(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:1409.0473, 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:1703.03130, 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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值