参与:王淑婷、杜伟作者:Sneha Chaudhari 等

注意力模型深度综述:注意力类型和网络架构都有什么

注意力模型已成为神经网络中的一种重要概念,并在很多应用领域展开了研究。本文提出了一种分类方法,对这些研究进行了全面有序地综述,并对注意力模型在一些应用领域产生的重大影响进行了讨论。

注意力背后的直觉可以用人类的生物系统来进行最好的解释。例如,我们的视觉处理系统往往会选择性地聚焦于图像的某些部分上,而忽略其它不相关的信息,从而有助于我们感知。类似地,在涉及语言、语音或视觉的一些问题中,输入的某些部分相比其它部分可能更相关。通过让模型仅动态地关注有助于有效执行手头任务的部分输入,注意力模型引入了这种相关性概念。

图 1 显示了使用注意力模型对 Yelp 评论进行情感分类的例子 [Yang et al., 2016]。在这个例子中,注意力模型知道了在五个句子中,第一句和第三句更相关。

图 1:用注意力建模对 Yelp 评论进行分类的例子。

此外,在这些句子中,单词 delicious 和 amazing 在决定评论的情感方面更有意义。

神经网络中建模注意力的快速发展主要源于三个方面。首先,这些模型对多个任务(如机器翻译、问答、情感分析、词性标注、句法解析和对话系统)来说是当前最佳的模型;其次,除了提高主要任务的性能,它们还有一些其它优势。它们还被广泛用于提高神经网络可解释性,无法解释的神经网络被视为黑箱模型;第三,它们还有助于克服循环神经网络的一些挑战,如随着输入长度的增加而导致的性能下降,以及输入的序列处理所带来的计算效率低下。因此,本文旨在对注意力模型进行简短而又全面的综述。

论文:An Attentive Survey of Attention Models

论文地址:https://arxiv.org/abs/1904.02874

注意力模型已成为神经网络中的一种重要概念,并在各种应用领域进行了研究。本次综述全面有序地概述了建模注意力方面的发展。研究者特别提出了一种分类法,该方法将现有技术归并到连贯类别中。研究者对各种引入了注意力的神经架构进行了回顾,还展示了注意力如何提高神经模型的可解释性。最后,研究者讨论了建模注意力起到重大影响的一些应用。希望本次综述可以简明扼要地介绍注意力模型,为从业者提供指导,同时为其应用开发可行的方法。

注意力模型

注意力模型意在通过让解码器访问完整的编码输入序列 {h_1, h_2, ..., h_T } 来减轻这些挑战。中心思想是在输入序列中引入注意力权重α,来对具有相关信息的位置集合进行优先级排序,以生成下一个输出 token。

图 2:编码器-解码器架构:(a) 为传统结构,(b) 为带注意力机制的结构。

具有注意力的相应编码器-解码器架构如图 2(b) 所示。架构中的注意力模块负责自动学习注意力权重α_ij,该权重会捕获 h_i(编码器隐状态,被称之为候选状态)和 s_j(解码器隐状态,被称之为查询状态)之间的相关性。这些注意力权重之后会被用于构建语境向量 c,而该向量被作为输入传递给解码器。

研究者将注意力分为四大类,并阐明了每一大类中不同类型的注意力,如下表所示(表 1)。

表 1:各大类别中的注意力类型。

为了理解这一概念,研究者提供了一系列重要的技术论文,并在表 2 中详细说明了本文方法所用到的多种注意力类型。

表 2:有关注意力模型技术方法的重要论文。『-』表示「不适用」。

注意力网络架构

在这一部分,研究者描述了与注意力相关的三种显著的神经架构:(1)编码器-解码器框架;(2)将注意力扩展至单个输入序列之外的记忆网络;(3)利用注意力规避循环模型序列处理组件的架构。

编码器-解码器

注意力最早用作基于 RNN 的编码器-解码器框架的一部分,以编码较长的输入语句。一个有趣的事实是,注意力模型可以接受任何输入表征,并将其减少为固定长度的单个语境向量,该向量可用于解码步骤。因此,研究者可以从输出中解耦输入表征。

记忆网络

像问答和聊天机器人这样的应用需要具备根据事实数据库中的信息进行学习的能力。端到端的记忆网络通过使用记忆模块阵列来存储事实数据库,并使用注意力来建模记忆中每个事实的相关性来回答问题,从而实现了这一点。

不带 RNN 的网络

Transformer 架构中,编码器和解码器由一堆相同的层组成,这些层则皆由两个子层组成:对应位置的前馈神经网络(FNN)层和多头自注意力层。Transformer 架构实现了重要的并行处理、更短的训练时间和更高的翻译准确率,而无需任何重复的组件。

用于可解释性的注意力

由于模型的性能以及透明性和公平性,人们对 AI 模型的可解释性产生了巨大的兴趣。从可解释性的角度来看,建模注意力尤其有趣,因为它让我们可以直接观察深度学习架构的内部工作机制。

如图 4(a) 所示,Bahdanau 等人可视化了注意力权重,这些权重清楚地展示了法语和英语句子的自动对齐,尽管这两种语言中动词和名词的位置不同。

图 4:注意力权重的可视化例子。

图 4(b) 显示,注意力权重有助于识别用户的兴趣。用户 1 似乎偏好「卡通」视频,而用户 2 偏好关于「动物」的视频。

最后,Xu 等人提供了相关图像区域(即具有高注意力权重的区域)的大量可视化列表,这些区域对图像字幕任务(图 4(c))中生成的文本具有重大的影响。

虽然注意力机制有助于提高模型可解释性的这种观点比较普遍,但有研究者经过实验证明,标准的注意力模块在解释模型方面基本没什么用

理论注意力模型注意力机制自注意力
5
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

自注意力技术

自注意力(Self-attention),有时也称为内部注意力,它是一种涉及单序列不同位置的注意力机制,并能计算序列的表征。自注意力在多种任务中都有非常成功的应用,例如阅读理解、摘要概括、文字蕴含和语句表征等。自注意力这种在序列内部执行 Attention 的方法可以视为搜索序列内部的隐藏关系,这种内部关系对于翻译以及序列任务的性能非常重要。

词性标注技术

词性标注是指为分词结果中的每个单词标注一个正确的词性的程序,也即确定每个词是名词、动词、形容词或其他词性的过程。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

聊天机器人技术

聊天机器人是经由对话或文字进行交谈的计算机程序。能够模拟人类对话,通过图灵测试。 聊天机器人可用于实用的目的,如客户服务或资讯获取。有些聊天机器人会搭载自然语言处理系统,但大多简单的系统只会撷取输入的关键字,再从数据库中找寻最合适的应答句。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

前馈神经网络技术

前馈神经网络(FNN)是人工智能领域中最早发明的简单人工神经网络类型。在它内部,参数从输入层经过隐含层向输出层单向传播。与递归神经网络不同,在它内部不会构成有向环。FNN由一个输入层、一个(浅层网络)或多个(深层网络,因此叫作深度学习)隐藏层,和一个输出层构成。每个层(除输出层以外)与下一层连接。这种连接是 FNN 架构的关键,具有两个主要特征:加权平均值和激活函数。

对话系统技术

对话系统大致被分成两类: 任务为导向的对话系统,帮助用户去完成特定任务,比如找商品,订住宿,订餐厅等。实现任务为导向的对话系统,主要有两类方式,流水线方法和端到端方法。非任务导向的对话系统,与用户进行互动并提供回答,简单的说,就是在开放领域的闲聊。实现非任务导向对话系统也主要可分为两类,生成方法和基于检索的方法。

推荐文章
暂无评论
暂无评论~