工程科学学报 Chinese Journal of Engineering 深度学习中注意力机制研究进展 刘建伟刘俊文罗雄麟 Research progress in attention mechanism in deep learning LIU Jian-wei,LIU Jun-wen,LUO Xiong-lin 引用本文: 刘建伟,刘俊文,罗雄麟.深度学习中注意力机制研究进展[J].工程科学学报,2021,43(11):1499-1511.doi: 10.13374j.issn2095-9389.2021.01.30.005 LIU Jian-wei,LIU Jun-wen,LUO Xiong-lin.Research progress in attention mechanism in deep learning[J].Chinese Journal of Engineering,.2021,43(11:1499-1511.doi10.13374j.issn2095-9389.2021.01.30.005 在线阅读View online:https::/ldoi.org10.13374.issn2095-9389.2021.01.30.005 您可能感兴趣的其他文章 Articles you may be interested in
深度学习中注意力机制研究进展 刘建伟 刘俊文 罗雄麟 Research progress in attention mechanism in deep learning LIU Jian-wei, LIU Jun-wen, LUO Xiong-lin 引用本文: 刘建伟, 刘俊文, 罗雄麟. 深度学习中注意力机制研究进展[J]. 工程科学学报, 2021, 43(11): 1499-1511. doi: 10.13374/j.issn2095-9389.2021.01.30.005 LIU Jian-wei, LIU Jun-wen, LUO Xiong-lin. Research progress in attention mechanism in deep learning[J]. Chinese Journal of Engineering, 2021, 43(11): 1499-1511. doi: 10.13374/j.issn2095-9389.2021.01.30.005 在线阅读 View online: https://doi.org/10.13374/j.issn2095-9389.2021.01.30.005 您可能感兴趣的其他文章 Articles you may be interested in
工程科学学报.第43卷,第11期:1499-1511.2021年11月 Chinese Journal of Engineering,Vol.43,No.11:1499-1511,November 2021 https://doi.org/10.13374/j.issn2095-9389.2021.01.30.005;http://cje.ustb.edu.cn 深度学习中注意力机制研究进展 刘建伟巴,刘俊文,罗雄麟 中国石油大学(北京)自动化系,北京102249 ☒通信作者,E-mail:liujw@cup.edu.cn 摘要对注意力机制的主流模型进行了全面系统的概述.注意力机制模拟人类视觉选择性的机制,其核心的目的是从冗杂 的信息中选择出对当前任务目标关联性更大、更关键的信息而过滤噪声,也就是高效率信息选择和关注机制.首先简要介绍 和定义了注意力机制的原型,接着按照多个层面对各种注意力机制结构进行分类,然后对注意力机制的可解释性进行了阐述 司时总结了在各种领域的应用,最后指出了注意力机制未来的发展方向以及会面临的挑战 关键词注意力机制:全局/局部注意力机制:硬/软注意力机制:自注意力机制:可解释性 分类号TP181 Research progress in attention mechanism in deep learning LIU Jian-we LIU Jun-wen,LUO Xiong-lin Department of Automation,China University of Petroleum,Beijing 102249,China Corresponding author,E-mail:liujw@cup.edu.cn ABSTRACT There are two challenges with the traditional encoder-decoder framework.First,the encoder needs to compress all the necessary information of a source sentence into a fixed-length vector.Second,it is unable to model the alignment between the source and the target sentences,which is an essential aspect of structured output tasks,such as machine translation.To address these issues,the attention mechanism is introduced to the encoder-decoder model.This mechanism allows the model to align and translate by jointly learning a neural machine translation task.The whose core idea of this mechanism is to induce attention weights over the source sentences to prioritize the set of positions where relevant information is present for generating the next output token.Nowadays,this mechanism has become essential in neural networks,which have been researched for diverse applications.The present survey provides a systematic and comprehensive overview of the developments in attention modeling.The intuition behind attention modeling can be best explained by the simulation mechanism of human visual selectivity,which aims to select more relevant and critical information from tedious information for the current target task while ignoring other irrelevant information in a manner that assists in developing perception.In addition,attention mechanism is an efficient information selection and widely used in deep learning fields in recent years and played a pivotal role in natural language processing,speech recognition,and computer vision.This survey first briefly introduces the origin of the attention mechanism and defines a standard parametric and uniform model for encoder-decoder neural machine translation. Next,various techniques are grouped into coherent categories using types of alignment scores and number of sequences,abstraction levels,positions,and representations.A visual explanation of attention mechanism is then provided to a certain extent,and roles of attention mechanism in multiple application areas is summarized.Finally,this survey identified the future direction and challenges of the attention mechanism. KEY WORDS attention mechanism;global/local attention;hard/soft attention:self-attention;interpretability 收稿日期:2021-01-30 基金项目:中国石油大学(北京)科研基金资助项目(2462020YXZZ023)
深度学习中注意力机制研究进展 刘建伟苣,刘俊文,罗雄麟 中国石油大学 (北京) 自动化系,北京 102249 苣通信作者, E-mail: liujw@cup.edu.cn 摘 要 对注意力机制的主流模型进行了全面系统的概述. 注意力机制模拟人类视觉选择性的机制,其核心的目的是从冗杂 的信息中选择出对当前任务目标关联性更大、更关键的信息而过滤噪声,也就是高效率信息选择和关注机制. 首先简要介绍 和定义了注意力机制的原型,接着按照多个层面对各种注意力机制结构进行分类,然后对注意力机制的可解释性进行了阐述 同时总结了在各种领域的应用,最后指出了注意力机制未来的发展方向以及会面临的挑战. 关键词 注意力机制;全局/局部注意力机制;硬/软注意力机制;自注意力机制;可解释性 分类号 TP181 Research progress in attention mechanism in deep learning LIU Jian-wei苣 ,LIU Jun-wen,LUO Xiong-lin Department of Automation, China University of Petroleum, Beijing 102249, China 苣 Corresponding author, E-mail: liujw@cup.edu.cn ABSTRACT There are two challenges with the traditional encoder–decoder framework. First, the encoder needs to compress all the necessary information of a source sentence into a fixed-length vector. Second, it is unable to model the alignment between the source and the target sentences, which is an essential aspect of structured output tasks, such as machine translation. To address these issues, the attention mechanism is introduced to the encoder–decoder model. This mechanism allows the model to align and translate by jointly learning a neural machine translation task. The whose core idea of this mechanism is to induce attention weights over the source sentences to prioritize the set of positions where relevant information is present for generating the next output token. Nowadays, this mechanism has become essential in neural networks, which have been researched for diverse applications. The present survey provides a systematic and comprehensive overview of the developments in attention modeling. The intuition behind attention modeling can be best explained by the simulation mechanism of human visual selectivity, which aims to select more relevant and critical information from tedious information for the current target task while ignoring other irrelevant information in a manner that assists in developing perception. In addition, attention mechanism is an efficient information selection and widely used in deep learning fields in recent years and played a pivotal role in natural language processing, speech recognition, and computer vision. This survey first briefly introduces the origin of the attention mechanism and defines a standard parametric and uniform model for encoder–decoder neural machine translation. Next, various techniques are grouped into coherent categories using types of alignment scores and number of sequences, abstraction levels, positions, and representations. A visual explanation of attention mechanism is then provided to a certain extent, and roles of attention mechanism in multiple application areas is summarized. Finally, this survey identified the future direction and challenges of the attention mechanism. KEY WORDS attention mechanism;global/local attention;hard/soft attention;self-attention;interpretability 收稿日期: 2021−01−30 基金项目: 中国石油大学(北京)科研基金资助项目(2462020YXZZ023) 工程科学学报,第 43 卷,第 11 期:1499−1511,2021 年 11 月 Chinese Journal of Engineering, Vol. 43, No. 11: 1499−1511, November 2021 https://doi.org/10.13374/j.issn2095-9389.2021.01.30.005; http://cje.ustb.edu.cn
·1500 工程科学学报,第43卷,第11期 随着深度学习领域的发展,注意力机制在计 或摘要等结构化输出任务的一个重要方面.为了 算机视觉和自然语言处理等领域取得了长足发 解决这个问题,在编码器-解码器体系结构引入了 展.注意力机制的广泛应用始于机器翻译领域,目 注意力机制,如图1所示 前已成为神经网络中的一个重要概念,不仅仅是 从属概念,已然发展成独立的注意力网络山 神经网络中注意力机制的快速发展具有如下 Decode 三点优势: ●●●Context vector (I)有效克服循环神经网络(Recurrent neural network,RNN)的一些挑战,例如随着输入长度的 000h Softmax 增加,预测性能下降和输入顺序处理导致的计算 Softmax Softmax 效率低下;在机器翻译中源语言和目标语言之间 对齐以及大范围长期依赖学习问题. Hidden stateO 000 000 (2)可广泛用于提高神经网络的可解释性,而 神经网络又被视为黑盒模型.这是一个显著的好 Encode 处,主要是因为人们对影响人类生活的应用中机 器学习模型的公平性、问责制和透明度有越来越 图1 带有注意力机制的Seq2Seq结构经典编码器-解码器网络) 多的渴求,而注意力机制在一定程度上可以提供 Fig.I Seg2Seg structure of a classic encoder-decoder network with an 可视化解释 attention mechanism (3)很明显的优势就是直接提高了模型性能 假设源序列x=x1,2,…,xn卢目标序列y= 使得这些模型的预测推理结果最先进的,不管是 y1,y2,…,y,源序列经过双向循环神经网络后输 用于机器翻译、回答问题、情绪分析、对话系统, 出两个不同方向的隐状态向量:前向隐状态:和后 还是图像视觉等多项任务四,这也是注意力机制广 向隐状态,然后将两者进行拼接来表示编码器 泛得到应用的根本推动力 的隐状态h;=h;h"].在解码器经过位置时,通过 鉴于注意力机制的理论意义、所蕴含的应用 s,=g(s-1y-1,c)计算得出每个单词的隐状态向 价值以及可观的发展潜力,本文对注意力机制的 量,其中(为计算隐状态向量的函数、上下文向 研究进展进行了系统性的综述,为进一步深入研 量c,是输入序列的隐状态h之加权,其中权重由对 究注意力机制、开发注意力机制应用潜力确立良 齐函数确定: 好的基础.文中首先在第一节对注意力机制进行 exp(score(s:-1,hi)) 了概述以及问题的数学定义,并在第二节着重对 ati align(yt,xi)= (1) 注意力机制进行分类及归纳,从五个方面给出了 ∑=1exp(score(s-l,h) 注意力机制的不同描述.第三节阐述了目前注意 这里的对齐函数实际上为每个位置的输入单 力机制对神经网络的可解释性的讨论,第四节介 词和位置的输出单词0,x)赋予一个分数,衡量它 绍了注意力机制的应用场景,第五节给出了注意 们之间的匹配度 力机制未来发展方向,最后一节则对注意力机制 2 注意力机制分类 进行了总结 2.1软注意力机制与硬注意力机制 1注意力机制数学表述 2.1.1共同框架 为了方便,采用Bahdanau等)神经机器翻译 2015年,Xu等受机器翻译和对象检测工作 (Neural machine translation,NMT)中的解码器-编码 的启发引入了一种基于注意力机制的模型,它自 器结构来描述注意力机制.传统的编码器框架有 动学习描述图像内容的文字,文中使用了两种不 两个众所周知的挑战.首先,编码器必须将所有输 同的模型:硬随机注意力和软确定性注意力.首先 入信息压缩成一个固定长度的向量,然后将其传 都使用卷积神经网络来提取一组称之为注释向量 递给解码器.使用一个固定长度的向量压缩输入 的特征向量∫={f,f2,…,f,分别对应于图像的部 序列可能会导致信息丢失其次,它无法对输入 分区域,这里,L为图像区域划分的个数,然后定 和输出序列之间的对齐关系进行建模,这是翻译 义一个机制Φ从注释向量中计算出上下文向量
随着深度学习领域的发展,注意力机制在计 算机视觉和自然语言处理等领域取得了长足发 展. 注意力机制的广泛应用始于机器翻译领域,目 前已成为神经网络中的一个重要概念,不仅仅是 从属概念,已然发展成独立的注意力网络[1] . 神经网络中注意力机制的快速发展具有如下 三点优势: ( 1)有效克服循环神经网络(Recurrent neural network,RNN)的一些挑战,例如随着输入长度的 增加,预测性能下降和输入顺序处理导致的计算 效率低下;在机器翻译中源语言和目标语言之间 对齐以及大范围长期依赖学习问题. (2)可广泛用于提高神经网络的可解释性,而 神经网络又被视为黑盒模型. 这是一个显著的好 处,主要是因为人们对影响人类生活的应用中机 器学习模型的公平性、问责制和透明度有越来越 多的渴求,而注意力机制在一定程度上可以提供 可视化解释. (3)很明显的优势就是直接提高了模型性能, 使得这些模型的预测推理结果最先进的,不管是 用于机器翻译、回答问题、情绪分析、对话系统, 还是图像视觉等多项任务[2] ,这也是注意力机制广 泛得到应用的根本推动力. 鉴于注意力机制的理论意义、所蕴含的应用 价值以及可观的发展潜力,本文对注意力机制的 研究进展进行了系统性的综述,为进一步深入研 究注意力机制、开发注意力机制应用潜力确立良 好的基础. 文中首先在第一节对注意力机制进行 了概述以及问题的数学定义,并在第二节着重对 注意力机制进行分类及归纳,从五个方面给出了 注意力机制的不同描述. 第三节阐述了目前注意 力机制对神经网络的可解释性的讨论,第四节介 绍了注意力机制的应用场景,第五节给出了注意 力机制未来发展方向,最后一节则对注意力机制 进行了总结. 1 注意力机制数学表述 为了方便,采用 Bahdanau 等[3] 神经机器翻译 (Neural machine translation,NMT)中的解码器-编码 器结构来描述注意力机制. 传统的编码器框架有 两个众所周知的挑战. 首先,编码器必须将所有输 入信息压缩成一个固定长度的向量,然后将其传 递给解码器. 使用一个固定长度的向量压缩输入 序列可能会导致信息丢失[4] . 其次,它无法对输入 和输出序列之间的对齐关系进行建模,这是翻译 或摘要等结构化输出任务的一个重要方面. 为了 解决这个问题,在编码器−解码器体系结构引入了 注意力机制,如图 1 所示. h1 h2 h3 x1 x2 x3 s1 s2 Hidden state Score Score Score Softmax Softmax Softmax Context vector Encoder Decoder y1 y2 图 1 带有注意力机制的 Seq2Seq 结构经典编码器–解码器网络[3] Fig.1 Seq2Seq structure of a classic encoder–decoder network with an attention mechanism[3] x = [x1, x2,··· , xn] y = [y1, y2,··· , yn] h ′ i h ′′ i hi = [h ′ i ; h ′′ i ] t st = g(st−1,yt−1, ct) g(·) ct hi 假设源序列 与目标序列 ,源序列经过双向循环神经网络后输 出两个不同方向的隐状态向量:前向隐状态 和后 向隐状态 ,然后将两者进行拼接来表示编码器 的隐状态 . 在解码器经过位置 时,通过 计算得出每个单词的隐状态向 量,其中 为计算隐状态向量的函数、上下文向 量 是输入序列的隐状态 之加权,其中权重由对 齐函数确定: αt,i = align(yt , xi) = exp(score (st−1, hi)) ∑n j=1 exp( score ( st−1, hj )) (1) i t (yt , xi) 这里的对齐函数实际上为每个位置 的输入单 词和位置 的输出单词 赋予一个分数,衡量它 们之间的匹配度. 2 注意力机制分类 2.1 软注意力机制与硬注意力机制 2.1.1 共同框架 f = {f1, f2,··· , fL} ϕ ζt 2015 年,Xu 等[5] 受机器翻译和对象检测工作 的启发引入了一种基于注意力机制的模型,它自 动学习描述图像内容的文字. 文中使用了两种不 同的模型:硬随机注意力和软确定性注意力. 首先 都使用卷积神经网络来提取一组称之为注释向量 的特征向量 ,分别对应于图像的部 分区域,这里, L 为图像区域划分的个数,然后定 义一个机制 从注释向量中计算出上下文向量 , · 1500 · 工程科学学报,第 43 卷,第 11 期
刘建伟等:深度学习中注意力机制研究进展 ·1501 对于每个位置,该机制都能产生一个权重α.这里 微的,因此使用标准的反向传播过程可以实现端 Φ函数的定义就决定了如何将位置信息和权重信 到端的学习.在此之前,大部分的传统注意力机制 息结合 都属于软注意力机制.软注意力机制是可以直接 2.1.2硬注意力机制 求梯度的,能直接代入到模型中去,整体进行训 在硬注意力机制中,权重所扮演的角色是 练.所求的梯度可以经过注意力机制模块,反向传 图像区域a;在时刻t被选中作为输人编码器信息的 播到模型其它部分.两种注意力机制模型都有好 概率,有且仅有一个区域会被选中.为此,引入位 有坏,但目前主流的研究和应用还是更倾向于使 置变量s,当区域被选中时取值为1,否则为0,即 用软注意力机制,因为其可以直接求导,进行反向 p(si=1sj,a)=a,然后计算上下文向量g=∑sf 传播 2.2全局和局部注意力机制 整个硬注意力机制是一个随机模型,会采样 2.2.1共同框架 输入的隐状态,而不是整个编码端的隐状态,算出 2015年,Luong等6提出了全局和局部注意力 单词出现在某个位置的条件后验概率.为了实现 两种简单有效的注意机制,其中全局注意力机制 梯度的反向传播,需要采用蒙特卡洛采样的方法 能顾及到输入语言的所有源语言单词,局部注意 来逼近目标函数的梯度 力机制则只能一次查看源语言单词的一个子集 2.1.3软注意力机制 如图2所示.二者的区别在于注意力被放在所有 相比之下,权重所扮演的角色是图像区域 的源语言位置上还是仅放在部分源语言位置上. a在时刻的输入编码器的信息中的所占的比例. 这两个模型的共同点是,在解码过程中,每个时刻 软注意力机制可以通过计算一个加权注释向量, 都是先将源语言输入到堆叠长短时记忆网络 直接得到上下文向量:的数学期望,从而构造一个 (Long-short term memory,LSTM),计算源语言的各 确定性注意力机制模型,即Es【G=∑a 个隐状态对应当前目标语言隐状态对应的上下文 向量,得到目标语言隐状态.这样做的目的是为了 这相当于在系统中加入了加权上下文向量 得到上下文向量,进而用源语言句子的信息来帮 整个模型在确定性软注意力机制下是光滑的、可 助预测当前目标语言单词. (a) (b) Attention layer Attention layer Context vector Context vector Global align weights Aligned position Local weights HHHH:HHHH 图2两种简单有效的注意机制.()全局注意力,对每一步隐状态都计算了注意力值:(b)局部注意力,只对部分范围的隐状态进行注意值的计算 Fig.2 Two simple and effective classes of attention mechanism (a)a global approach that always attends to all source words;(b)a local approach that only looks at a subset of source words at a time 2.2.2全局注意力机制 节点,模型根据当前目标语言隐状态h,和所有的源 全局注意力机制在生成上下文向量时考虑编 语言隐状态得出一个变长对齐权重向量.然后 码器的所有隐状态.在这个模型中,通过将当前目 对所有源状态的加权平均计算出全局上下文向 标隐状态,与每个源隐状态五,进行比较,得到一个 量.图2中,,为最终计算得到的经过注意力加权 可变长度的对齐向量B,其大小等于源语言端输入 后的全局上下文向量 句子的长度.把对齐向量作为权重,通过对源语言 与Bahdanau模型相比,Luong等提出的全局 隐状态的加权平均得到上下文向量.在每个时间 注意力模型在本质上相似,但是也有几个重要的
αi ϕ 对于每个位置,该机制都能产生一个权重 . 这里 函数的定义就决定了如何将位置信息和权重信 息结合. 2.1.2 硬注意力机制 αt,i ai t st,i i p(st,i = 1|sj<t ,ai) = αt,i ζt = ∑ i st,i fi 在硬注意力机制中,权重 所扮演的角色是 图像区域 在时刻 被选中作为输入编码器信息的 概率,有且仅有一个区域会被选中. 为此,引入位 置变量 ,当区域 被选中时取值为 1,否则为 0,即 ,然后计算上下文向量 . 整个硬注意力机制是一个随机模型,会采样 输入的隐状态,而不是整个编码端的隐状态,算出 单词出现在某个位置的条件后验概率. 为了实现 梯度的反向传播,需要采用蒙特卡洛采样的方法 来逼近目标函数的梯度. 2.1.3 软注意力机制 αt,i ai t ζt Ep(st |a) [ ζt ] = ∑ L i=1 αt,i fi 相比之下,权重 所扮演的角色是图像区域 在时刻 的输入编码器的信息中的所占的比例. 软注意力机制可以通过计算一个加权注释向量, 直接得到上下文向量 的数学期望,从而构造一个 确定性注意力机制模型,即 . 这相当于在系统中加入了加权上下文向量. 整个模型在确定性软注意力机制下是光滑的、可 微的,因此使用标准的反向传播过程可以实现端 到端的学习. 在此之前,大部分的传统注意力机制 都属于软注意力机制. 软注意力机制是可以直接 求梯度的,能直接代入到模型中去,整体进行训 练. 所求的梯度可以经过注意力机制模块,反向传 播到模型其它部分. 两种注意力机制模型都有好 有坏,但目前主流的研究和应用还是更倾向于使 用软注意力机制,因为其可以直接求导,进行反向 传播. 2.2 全局和局部注意力机制 2.2.1 共同框架 2015 年,Luong 等[6] 提出了全局和局部注意力 两种简单有效的注意机制,其中全局注意力机制 能顾及到输入语言的所有源语言单词,局部注意 力机制则只能一次查看源语言单词的一个子集, 如图 2 所示. 二者的区别在于注意力被放在所有 的源语言位置上还是仅放在部分源语言位置上. 这两个模型的共同点是,在解码过程中,每个时刻 都是先将源语言输入到堆叠长短时记忆网络 (Long-short term memory,LSTM),计算源语言的各 个隐状态对应当前目标语言隐状态对应的上下文 向量,得到目标语言隐状态. 这样做的目的是为了 得到上下文向量,进而用源语言句子的信息来帮 助预测当前目标语言单词. Attention layer Context vector ζt ht ht yt Global align weights at (a) ζt yt at pt ht Attention layer Context vector Local weights Aligned position (b) hs hs ~ ht ~ 图 2 两种简单有效的注意机制[6] . (a)全局注意力,对每一步隐状态都计算了注意力值;(b)局部注意力,只对部分范围的隐状态进行注意值的计算 Fig.2 Two simple and effective classes of attention mechanism[6] : (a) a global approach that always attends to all source words; (b) a local approach that only looks at a subset of source words at a time 2.2.2 全局注意力机制 ht h¯ s βt 全局注意力机制在生成上下文向量时考虑编 码器的所有隐状态. 在这个模型中,通过将当前目 标隐状态 与每个源隐状态 进行比较,得到一个 可变长度的对齐向量 ,其大小等于源语言端输入 句子的长度. 把对齐向量作为权重,通过对源语言 隐状态的加权平均得到上下文向量. 在每个时间 ht hs h˜ t 节点,模型根据当前目标语言隐状态 和所有的源 语言隐状态 得出一个变长对齐权重向量. 然后 对所有源状态的加权平均计算出全局上下文向 量. 图 2 中, 为最终计算得到的经过注意力加权 后的全局上下文向量. 与 Bahdanau 模型相比,Luong 等提出的全局 注意力模型在本质上相似,但是也有几个重要的 刘建伟等: 深度学习中注意力机制研究进展 · 1501 ·
·1502 工程科学学报,第43卷,第11期 不同点,此模型中在编码和解码器中都只用了 层次注意力机制主要思想是:首先从文档的 LSTM顶层的隐状态,而前者在双向编码器中用了 分层结构出发,单词组成句子,句子组成文档,所 前向和反向源语言隐状态的级联,在非堆叠单向 以自然而然建模时也分这两个层次进行.其次,不 解码器中使用了目标隐状态 同的单词对句子理解和不同的句子对于文本理解 2.2.3局部注意力机制 和分类,具有不同的信息量和关注度,不能单纯均 全局注意力机制有一个缺点,其对于每一个 匀对待,所以引入分层注意力机制,分层注意力机 目标单词都要考虑源语言句子中的所有单词,此 制让我们对文本分类的内部机制有一定的白箱 过程算法复杂性太大,并且不太可能翻译长序列 理解 而局部注意可以克服这种问题,针对每个目标单 2.3.2自顶向下注意力机制 词,其只关注小部分的源语言子句子 Zhang等8在卷积神经网络中提出了基于自 在时刻,模型首先针对每个目标单词生成一 J顶而下神经注意力(Top-down neural attention),使 个对齐位置,.针对对齐位置v,如何确定,此模 神经网络在学习过程中的注意力更加有针对性, 型有两种变体:单调对齐(local-m)和预测对齐 其实就是层次化注意力结构变体形式,而这种实 (local-p).前者简单地设,=t,假设源语言序列和 现也十分贴近我们真正的生物视觉机制,具有十 目标语言序列大体上单调对齐:而后者不假设源 分重要的生物神经学理论依据.为了实现这种自 语言序列和目标语言序列单调对齐,模型按照以 顶而下神经注意力机制,采用了一种泛化的确定 下方式预测对齐位置:v,=L·sigmoid(vTtanh(W,h,). 性赢者通吃(Winner-Take-All)的方法,从而可以选 这里L是源语句长度,W和y是将要被学习用来 择出与这个自顶而下信号最相关的神经元 预测位置的模型参数.为了更偏向于,附近的对 同时还提出了一个基于概率性的赢者通吃公 齐点,设置了一个以u,为中心的高斯分布模拟对齐 式来建立自顶而下的层次化神经注意力机制的卷 程度. 高斯分布重新定义的对齐权重如下:B()= 积神经网铬(Convolutional neural networks,CNN)分 μ-)2 align(,五,)exp-2o2 类器模型,将确定性方法泛化到了概率性版本,使 ,其中标准差为σ=D/2, 得学出来的注意力映射不再是二值结构.这种注 D是凭经验选取的一个常数,是一个实数,而是 意力映射其实也可以叫做软注意力映射,它的好 一个在以为中心的窗口内的整数 处也很明显,就是可以去捕捉更加细微的一些特 与Bahdanau等相比,其使用了与,相似的上下 征和变化等等.基于赢者通吃假设还提出了一种 文向量来构造后续隐状态,虽然也能达到“覆盖” 改进的传播方法,可以有效地计算注意力上下文 效果,但其没有分析这种连接是否有效.此处的模 向量,得出每个神经元赢得可能性的边缘概率,并 型更具有通用性,模型可应用于常规堆栈循环结 且通过网络中的反向传播误差对比自上而下的信 构,包括非注意力模型 号的重要性 2.3分层注意力机制 2.3.3多步注意力机制 2.3.1层次注意力机制 2017年5月,Gehring等9在机器翻译任务中 Yang等)最早把注意力分层的思想用于文档 提出了完全基于CNN构造序列到序列模型,文中 分类,而且引入层次注意力(Hierarchical attention), 提出的多步注意力机制(Multi-.step attention)通过 除了提高模型的精确度之外还可以进行单词与单 该注意力结构来获取编码器和解码器中输入句子 词之间、句子与句子之间重要性的分析和可视化. 之间的关系.ConvS2S模型在翻译任务上不仅仅 正如其名,层次注意力机制构造了两个层次的注 效果显著,而且所需训练时间也很短.多步注意力 意力机制结构.第一个层次是对句子中每个单词 机制实际上也是一种分层注意力机制,它在解码 的注意力机制,并非所有的单词对句子含义的表 器的每一层,都单独使用了注意力机制 示,都有同样的贡献.因此,引入注意机制来提取 该模型通过堆叠多层注意力机制来获取输 这些关键词,这对于单词在句子中起的作用来说, 入句子中单词与单词之间的依赖关系,特别是 是很重要的选择和判断标准,而且还汇总了这些 当句子非常长的时候,实验证明层叠的层数往 表示形成句子向量的各种有价值的信息词汇.第 往达到10层以上才能取得比较理想的结果.针 二个层次是针对文档中每个句子的注意力机制, 对每一个卷积步骤都对编码器的隐状态和解 与单词级别类似 码器的隐状态进行点积得到注意力矩阵,并且
不同点 ,此模型中在编码和解码器中都只用了 LSTM 顶层的隐状态,而前者在双向编码器中用了 前向和反向源语言隐状态的级联,在非堆叠单向 解码器中使用了目标隐状态. 2.2.3 局部注意力机制 全局注意力机制有一个缺点,其对于每一个 目标单词都要考虑源语言句子中的所有单词,此 过程算法复杂性太大,并且不太可能翻译长序列. 而局部注意可以克服这种问题,针对每个目标单 词,其只关注小部分的源语言子句子. t υt υt υt = t υt = L ·sigmoid(v T υ tanh(Wυht)) Wυ vυ υt υt βt(υt) = align(ht , hs) exp( − (µ−υt) 2 2σ2 ) σ = D/2 υt µ υt 在时刻 ,模型首先针对每个目标单词生成一 个对齐位置 . 针对对齐位置 如何确定,此模 型有两种变体 :单调对齐( local-m)和预测对齐 (local-p). 前者简单地设 ,假设源语言序列和 目标语言序列大体上单调对齐;而后者不假设源 语言序列和目标语言序列单调对齐,模型按照以 下方式预测对齐位置: . 这里 L 是源语句长度, 和 是将要被学习用来 预测位置的模型参数. 为了更偏向于 附近的对 齐点,设置了一个以 为中心的高斯分布模拟对齐 程度. 高斯分布重新定义的对齐权重如下: ,其中标准差为 , D 是凭经验选取的一个常数, 是一个实数,而 是 一个在以 为中心的窗口内的整数. 与 Bahdanau 等相比,其使用了与 ζt相似的上下 文向量来构造后续隐状态,虽然也能达到“覆盖” 效果,但其没有分析这种连接是否有效. 此处的模 型更具有通用性,模型可应用于常规堆栈循环结 构,包括非注意力模型. 2.3 分层注意力机制 2.3.1 层次注意力机制 Yang 等[7] 最早把注意力分层的思想用于文档 分类,而且引入层次注意力(Hierarchical attention), 除了提高模型的精确度之外还可以进行单词与单 词之间、句子与句子之间重要性的分析和可视化. 正如其名,层次注意力机制构造了两个层次的注 意力机制结构. 第一个层次是对句子中每个单词 的注意力机制,并非所有的单词对句子含义的表 示,都有同样的贡献. 因此,引入注意机制来提取 这些关键词,这对于单词在句子中起的作用来说, 是很重要的选择和判断标准,而且还汇总了这些 表示形成句子向量的各种有价值的信息词汇. 第 二个层次是针对文档中每个句子的注意力机制, 与单词级别类似. 层次注意力机制主要思想是:首先从文档的 分层结构出发,单词组成句子,句子组成文档,所 以自然而然建模时也分这两个层次进行. 其次,不 同的单词对句子理解和不同的句子对于文本理解 和分类,具有不同的信息量和关注度,不能单纯均 匀对待,所以引入分层注意力机制,分层注意力机 制让我们对文本分类的内部机制有一定的白箱 理解. 2.3.2 自顶向下注意力机制 Zhang 等[8] 在卷积神经网络中提出了基于自 顶而下神经注意力(Top-down neural attention),使 神经网络在学习过程中的注意力更加有针对性, 其实就是层次化注意力结构变体形式,而这种实 现也十分贴近我们真正的生物视觉机制,具有十 分重要的生物神经学理论依据. 为了实现这种自 顶而下神经注意力机制,采用了一种泛化的确定 性赢者通吃(Winner-Take-All)的方法,从而可以选 择出与这个自顶而下信号最相关的神经元. 同时还提出了一个基于概率性的赢者通吃公 式来建立自顶而下的层次化神经注意力机制的卷 积神经网络(Convolutional neural networks,CNN)分 类器模型,将确定性方法泛化到了概率性版本,使 得学出来的注意力映射不再是二值结构. 这种注 意力映射其实也可以叫做软注意力映射,它的好 处也很明显,就是可以去捕捉更加细微的一些特 征和变化等等. 基于赢者通吃假设还提出了一种 改进的传播方法,可以有效地计算注意力上下文 向量,得出每个神经元赢得可能性的边缘概率,并 且通过网络中的反向传播误差对比自上而下的信 号的重要性. 2.3.3 多步注意力机制 2017 年 5 月, Gehring 等[9] 在机器翻译任务中 提出了完全基于 CNN 构造序列到序列模型,文中 提出的多步注意力机制(Multi-step attention)通过 该注意力结构来获取编码器和解码器中输入句子 之间的关系. ConvS2S 模型在翻译任务上不仅仅 效果显著,而且所需训练时间也很短. 多步注意力 机制实际上也是一种分层注意力机制,它在解码 器的每一层,都单独使用了注意力机制. 该模型通过堆叠多层注意力机制来获取输 入句子中单词与单词之间的依赖关系,特别是 当句子非常长的时候,实验证明层叠的层数往 往达到 10 层以上才能取得比较理想的结果. 针 对每一个卷积步骤都对编码器的隐状态和解 码器的隐状态进行点积得到注意力矩阵,并且 · 1502 · 工程科学学报,第 43 卷,第 11 期
刘建伟等:深度学习中注意力机制研究进展 ·1503· 基于最终的注意力矩阵去指导解码器的解码 量,并再次映射,进而得到最终值.计算公式为: 操作. MultiHead(O,K,V)=Concat (head1,...head)Whead. 2.3.4多头注意力机制 中head;=Attention(Qi,K,V),Whead为多头注意力的 递归神经网络,特别是LSTM和门控循环神 权重,下标h为多头注意力的个数 经网络是解决语言建模和机器翻译这种序列建模 2.4多维自注意力机制 和转换问题的先进方法.Vaswani等Iuo提出了一 2.4.1通用结构 种新的框架,被称作Transformer,其与以往的模式 Shen等I山在additive注意力在每个token的特征 不同,并没有用任何CNN或者RNN的结构,而是 层的做出推广,叫做多维注意力,图3刻画了经典注 完全依赖注意机制来表示输入和输出之间的全局 意力与其区别,图中d表示神经网络的输人层神经 依赖关系 元个数.多维注意力没有对每个token嵌入向量x的 模型中的注意力可以描述为将一个查询向量 分量x计算一个标量得分值,而是对x中每个分量计 (Queries)Q和一组键-值对(Key-Value)K和V.映 算了一个向量得分值,即利用权重矩阵W,查询向 射为一个输出.输出是由值的加权和得到的,每个 量q与偏置b:kx,q)=Wr(WDx+W2q+b)+b. 值的权重是根据查询向量和相应的键通过一个对 在此基础上,作者定义了两种形式的自注意力机 齐函数计算出来的,计算公式为:Attention(Q,K,V)= 制:source2 token型和token2 token型.前者用于计 softmax(QKT/√d)V,d为查询向量的维数. 算每个x,与整个句子的相关性,将整句压缩为一个 多头注意力(Multi-head)则是用不同的、需要 向量,Lin等率先把这种自注意力机制引入自然 学习的线性映射,对查询向量,键及值进行多次变 语言处理某些任务中的句子嵌入表示,在数学表 换,然后分别对每一个映射之后得到的查询向量、 达上即去掉对齐函数x(x,q)中q有关的项;而后者 键及值,再进行上述多个单头注意力的并行运算, 将对齐函数k(,q)中的q换为x,下面介绍后者的 进而生成多个输出值,然后拼接起来成为高维向 几种变体形式 (a) Output (b) Output Broadcasted element-wise product Element-wise product Sum Sum along Col..② + along Col.②+ 1{ Softmax Alignment scor Alignment scor k(xq) 图3经典注意力机制(a)和多维注意力机制(b)四∈1,2,…,n为计算对齐函数(x,q)得到的对应值,图()中z为标量,图(b)中其值z为向量 Fig.3 Traditional (additive/multiplicative)attention(a)and multi-dimensional attention(b)denotes the alignment score()in figure (a)isa scalar and in figure (b)zi is a vector 2.4.2方向型自注意力机制 2.4.3双向分块自注意力机制 Shen等I]提出了基于掩码的token2 token型多 传统自注意力主要缺点在于需要很大的存储 维自注意力,称为方向型自注意力(Directional self- 空间存储所有元素对的对齐,对存储空间的需求 attention,DiSA).方向型自注意力机制考虑了单词 随序列长度呈二次方增长.为解决上述问题, 之间的依赖和时序关系,并融合了自注意力模块 Shen等I又提出了一种双向分块自注意力机制 的输入和输出,主要做了以下两个修改:把权值矩 Bidirectional block self-attention,Bi-BloSA), 阵W成了常数c,把sigmoid激活函数换成了tanh 而上可分为三个主要部分:分块内的注意力机制、 激活函数:使用了位置掩码矩阵,使得两元素之间 分块间的自注意力机制、上下文融合,实现更快且 的注意力矩阵是不对称的.使用掩码很容易对结 节省空间的上下文融合,然后基于Bi-BloSA提出 构丰富的先验知识编码,比如时序关系和稀疏依 了不使用RNN/CNN的序列编码模型,这种模型具 赖关系编码 有高度的可并行运算性,同时对局部和远距离相
基于最终的注意力矩阵去指导解码器的解码 操作. 2.3.4 多头注意力机制 递归神经网络,特别是 LSTM 和门控循环神 经网络是解决语言建模和机器翻译这种序列建模 和转换问题的先进方法. Vaswani 等[10] 提出了一 种新的框架,被称作 Transformer,其与以往的模式 不同,并没有用任何 CNN 或者 RNN 的结构,而是 完全依赖注意机制来表示输入和输出之间的全局 依赖关系. Attention(Q,K,V) = softmax(QKT / √ dk)V dk 模型中的注意力可以描述为将一个查询向量 (Queries)Q 和一组键−值对(Key-Value)K 和 V,映 射为一个输出. 输出是由值的加权和得到的,每个 值的权重是根据查询向量和相应的键通过一个对 齐函数计算出来的,计算公式为: , 为查询向量的维数. 多头注意力(Multi-head)则是用不同的、需要 学习的线性映射,对查询向量,键及值进行多次变 换,然后分别对每一个映射之后得到的查询向量、 键及值,再进行上述多个单头注意力的并行运算, 进而生成多个输出值,然后拼接起来成为高维向 MultiHead(Q,K,V) = Concat(head1,···,headh)Whead headi = Attention(Qi ,Ki ,Vi) Whead h 量,并再次映射,进而得到最终值. 计算公式为: ,其 中 , 为多头注意力的 权重,下标 为多头注意力的个数. 2.4 多维自注意力机制 2.4.1 通用结构 x xi W b κ(xi , q) = WTσ(W(1)xi +W(2)q+b (1))+b xi κ(xi , q) κ(xi , q) xj Shen 等[11] 在additive 注意力在每个token 的特征 层的做出推广,叫做多维注意力,图 3 刻画了经典注 意力与其区别,图中 de 表示神经网络的输入层神经 元个数. 多维注意力没有对每个 token 嵌入向量 的 分量 计算一个标量得分值,而是对 xi 中每个分量计 算了一个向量得分值,即利用权重矩阵 ,查询向 量 q 与偏置 : . 在此基础上,作者定义了两种形式的自注意力机 制:source2token 型和 token2token 型. 前者用于计 算每个 与整个句子的相关性,将整句压缩为一个 向量,Lin 等[12] 率先把这种自注意力机制引入自然 语言处理某些任务中的句子嵌入表示,在数学表 达上即去掉对齐函数 中 q 有关的项;而后者 将对齐函数 中的 q 换为 ,下面介绍后者的 几种变体形式. x1 x2 … xn Alignment score κ (xi ,q) z1 z2 zn q Σ … Softmax Broadcasted element-wise product Output Sum along Col. 1 de (a) de de q Σ Element-wise product Output Sum along Col. Softmax along Col. (b) Alignment score κ (xi ,q) x1 x2 … xn z1 z2 z … n zi ∈ {z1,z2,··· ,zn} κ(xi 图 , q) zi zi 3 经典注意力机制(a)和多维注意力机制(b) [11] . 为计算对齐函数 得到的对应值,图(a)中 为标量,图(b)中其值 为向量 zi κ(xi , q) zi zi Fig.3 Traditional (additive/multiplicative) attention (a) and multi-dimensional attention (b) [11] . denotes the alignment score , in figure (a) is a scalar and in figure (b) is a vector 2.4.2 方向型自注意力机制 W Shen 等[11] 提出了基于掩码的 token2token 型多 维自注意力,称为方向型自注意力(Directional selfattention,DiSA). 方向型自注意力机制考虑了单词 之间的依赖和时序关系,并融合了自注意力模块 的输入和输出. 主要做了以下两个修改:把权值矩 阵 成了常数 c,把 sigmoid 激活函数换成了 tanh 激活函数;使用了位置掩码矩阵,使得两元素之间 的注意力矩阵是不对称的. 使用掩码很容易对结 构丰富的先验知识编码,比如时序关系和稀疏依 赖关系编码. 2.4.3 双向分块自注意力机制 传统自注意力主要缺点在于需要很大的存储 空间存储所有元素对的对齐,对存储空间的需求 随序列长度呈二次方增长. 为解决上述问题 , Shen 等[13] 又提出了一种双向分块自注意力机制 (Bidirectional block self-attention,Bi-BloSA) ,自下 而上可分为三个主要部分:分块内的注意力机制、 分块间的自注意力机制、上下文融合,实现更快且 节省空间的上下文融合,然后基于 Bi-BloSA 提出 了不使用 RNN/CNN 的序列编码模型,这种模型具 有高度的可并行运算性,同时对局部和远距离相 刘建伟等: 深度学习中注意力机制研究进展 · 1503 ·
·1504 工程科学学报,第43卷,第11期 关性进行了良好的建模,在多种自然语言处理任 机制和自注意力机制.简单来说,互注意力机制就 务下达到最优效果 是模拟源序列和目标序列中不同位置之间的关 2.4.4强化学习自注意力机制 系,而位置个数的选择产生了各种丰富的注意力 软注意力机制在建模句子的局部或全局依赖 机制:而自注意力机制就是模拟相同输入的不同 关系的时候,有前景,但是其计算效率低;而硬注 位置之间的关系,也就是把互注意力机制中的目 意力机制虽然直接有效,但是其不可微分.所以 标序列替换成源序列即可,在Transformer模型中 Shen等w又将硬注意力机制和软注意力机制在强 使用了大量的自注意力机制,为了使得研究者更 化学习的方法下进行巧妙融合,提出了一种强化 好地使用注意力机制,下面首先对注意力机制从 型自注意力(Reinforcement self-attention,ReSA)模 对齐函数方面进行分类(表1). 块,这样就能使用硬注意力机制处理长句子依赖 除了上述方式,Chaudhari等l6提出了从四个 问题,用策略梯度进行学习,同时也能为软注意力 不同角度对注意力机制进行分类,分别是序列个 机制选择子集进行计算;而软注意力机制的前馈 数,抽象层个数,位置个数,以及表示个数(见 信号反过来用来对硬注意力机制提供奖励信号, 2.6.6节).作者强调上面这些类别并不相互排斥, 进行更精细化的操作,同时为硬注意力机制提供 可以交叉重叠,某种注意力机制可以归属多个不 指导 同的分类,可以作为多个类别的组合来混合使用. 2.5结构化自注意力机制 Kim等利用图模型将经典的注意力机制进 表1几种常用的注意力机制及其对齐函数的数学形式 行拓展,考虑了深度神经网络结构上的依赖,使得 Table 1 Summary of several attention mechanisms and corresponding alignment score functions 注意力机制从普通的软选择变成了既能内部结构 Name of attention 建模信息又不破坏端到端训练的新机制.在结构 mechanism Alignment score functions References 注意力模型中,没有对单输入式的选择建模,而是 Content-base attention score(s:,h)=cosine[s:,hi] 17刀 对连续,子序列多输入式的选择建模.在这种情况 Additive attention score(s)=vT tanh(Wals:hl)[3] 下,注意力机制需要引入个离散的二元隐变量 Location-base attention a=softmax(Was,) [6 0=(o1,02,…,0n),0m表示给定输人元素是否包括在 Bi-linear attention score(st,h)=s Wahi [6 对应的子序列中.另外,注意力分布p(lx,q)用线性 Dot-product attention score(st,h)=s.hi [6 链式条件随机场(Linear chain CRF)来刻画每个 Scaled dot-product attention score(s)=sl [10] o之间的依赖关系,以此确定结构信息变量o的依 赖结构.然后使用图模型推断前向传递期望值和 2.6.2对齐函数 上下文向量 对齐函数是衡量输入和输出匹配度的函数, 分片注意力层中可以选择源句子中的子序 在不同的注意力类型中,对齐函数采用了不同的 列,而不再是经典注意力机制中token为单位.其 数学形式,效果也不尽相同,在设计具体注意力网 次,在语法树结构的建模中引入合成注意力层,这 络时可以提供不同的选择.表1总结了几种常用 两种新的注意力层,在多个任务上都取得了比经 的注意力机制及其对齐函数的数学形式.主要有 典注意力更好的结果.虽然结构化关注背后的基 基于内容的(Content-base),基于加和的(Addition), 本思想很有洞见,但作者坦诚在实践中可能难以 基于位置信息的(Location-base),基于双线性的 使用.一个问题是,从计算的角度来看,在使用图 (Bilinear),基于点积的(Dot product),基于比例点 形模型时数值稳定性往往差,因此计算在对数空 积(Scaled dot-.product)的注意力机制类型.表1中 间中执行更好,这会给模型代码增加相当大的复 W是神经网络权值矩阵,为反向传播过程训练 杂性.另一个问题是,简单应用现有的自动微分工 的参数 具往往效率低下,为了使结构化注意易于处理大 2.6.3序列个数 问题,通常需要手工编写梯度计算 序列个数指的是输入序列的个数和输出序列 2.6注意力总结 的个数.如果输入序列和对应输出序列都只有一 2.6.1概述 个,称之为一对一(Distinctive)型注意力机制.用 以上对常用的注意力机制做出了详细的分 于翻译的大多数注意力模型)、图像描述和语音 类,注意机制基本上可以分为两大类:(互)注意力 识别劉这些都属于一对一类型的注意力机制.如
关性进行了良好的建模,在多种自然语言处理任 务下达到最优效果. 2.4.4 强化学习自注意力机制 软注意力机制在建模句子的局部或全局依赖 关系的时候,有前景,但是其计算效率低;而硬注 意力机制虽然直接有效,但是其不可微分. 所以 Shen 等[14] 又将硬注意力机制和软注意力机制在强 化学习的方法下进行巧妙融合,提出了一种强化 型自注意力(Reinforcement self-attention,ReSA)模 块,这样就能使用硬注意力机制处理长句子依赖 问题,用策略梯度进行学习,同时也能为软注意力 机制选择子集进行计算;而软注意力机制的前馈 信号反过来用来对硬注意力机制提供奖励信号, 进行更精细化的操作,同时为硬注意力机制提供 指导. 2.5 结构化自注意力机制 n o = (o1,o2,··· ,on) on p(o|x, q) on o Kim 等[15] 利用图模型将经典的注意力机制进 行拓展,考虑了深度神经网络结构上的依赖,使得 注意力机制从普通的软选择变成了既能内部结构 建模信息又不破坏端到端训练的新机制. 在结构 注意力模型中,没有对单输入式的选择建模,而是 对连续,子序列多输入式的选择建模. 在这种情况 下,注意力机制需要引入 个离散的二元隐变量 , 表示给定输入元素是否包括在 对应的子序列中. 另外,注意力分布 用线性 链式条件随机场(Linear chain CRF)来刻画每个 之间的依赖关系,以此确定结构信息变量 的依 赖结构. 然后使用图模型推断前向传递期望值和 上下文向量. 分片注意力层中可以选择源句子中的子序 列,而不再是经典注意力机制中 token 为单位. 其 次,在语法树结构的建模中引入合成注意力层. 这 两种新的注意力层,在多个任务上都取得了比经 典注意力更好的结果. 虽然结构化关注背后的基 本思想很有洞见,但作者坦诚在实践中可能难以 使用. 一个问题是,从计算的角度来看,在使用图 形模型时数值稳定性往往差,因此计算在对数空 间中执行更好,这会给模型代码增加相当大的复 杂性. 另一个问题是,简单应用现有的自动微分工 具往往效率低下,为了使结构化注意易于处理大 问题,通常需要手工编写梯度计算. 2.6 注意力总结 2.6.1 概述 以上对常用的注意力机制做出了详细的分 类,注意机制基本上可以分为两大类:(互)注意力 机制和自注意力机制. 简单来说,互注意力机制就 是模拟源序列和目标序列中不同位置之间的关 系,而位置个数的选择产生了各种丰富的注意力 机制;而自注意力机制就是模拟相同输入的不同 位置之间的关系,也就是把互注意力机制中的目 标序列替换成源序列即可,在 Transformer 模型中 使用了大量的自注意力机制. 为了使得研究者更 好地使用注意力机制,下面首先对注意力机制从 对齐函数方面进行分类(表 1). 除了上述方式,Chaudhari 等[16] 提出了从四个 不同角度对注意力机制进行分类,分别是序列个 数 ,抽象层个数 ,位置个数 ,以及表示个数 ( 见 2.6.6 节). 作者强调上面这些类别并不相互排斥, 可以交叉重叠,某种注意力机制可以归属多个不 同的分类,可以作为多个类别的组合来混合使用. 表 1 几种常用的注意力机制及其对齐函数的数学形式 Table 1 Summary of several attention mechanisms and corresponding alignment score functions Name of attention mechanism Alignment score functions References Content-base attention score(st ,ht) = cosine[st ,hi] [17] Additive attention score(st ,ht) = v T a tanh(Wa[st ; hi]) [3] Location-base attention αt,i = softmax(Wa st) [6] Bi-linear attention score(st ,ht) = s T t Wahi [6] Dot-product attention score(st ,ht) = s T t hi [6] Scaled dot-product attention score(st ,ht) = s T t hi / √ n [10] 2.6.2 对齐函数 Wa v T a 对齐函数是衡量输入和输出匹配度的函数, 在不同的注意力类型中,对齐函数采用了不同的 数学形式,效果也不尽相同,在设计具体注意力网 络时可以提供不同的选择. 表 1 总结了几种常用 的注意力机制及其对齐函数的数学形式. 主要有 基于内容的(Content-base),基于加和的(Addition), 基于位置信息的(Location-base),基于双线性的 (Bilinear),基于点积的(Dot product),基于比例点 积(Scaled dot-product)的注意力机制类型. 表 1 中 是神经网络权值矩阵, 为反向传播过程训练 的参数. 2.6.3 序列个数 序列个数指的是输入序列的个数和输出序列 的个数. 如果输入序列和对应输出序列都只有一 个,称之为一对一(Distinctive)型注意力机制. 用 于翻译的大多数注意力模型[3]、图像描述[5] 和语音 识别[18] 这些都属于一对一类型的注意力机制. 如 · 1504 · 工程科学学报,第 43 卷,第 11 期
刘建伟等:深度学习中注意力机制研究进展 ·1505· 果模型有多个输人序列,并且学习不同输人序列 提出了变分学习方法和强化学习策略梯度方法 之间的权重矩阵,以捕获这些输入序列之间的关 2.6.6表示个数 系,把这类称之为协同注意力机制(Co-attention). 大多数情况下,神经网络都是使用输入序列 协同注意力机制典型的应用场景有:阅读理解,对 的单一特征表示,但是在某些场景,使用输入的一 输入(问题回答,文本)之间的注意力建模,找出对 个特征表示可能不足以满足下游任务,需要注意 回答问题最相关的问题关键词,协同注意力机制 力来为这些不同的表示分配权重,这些表示可以 非常有助于同时检测问题中的关键词和答案相关 确定最相关的方面,而忽略输入中的噪声和冗余 文章的段落.还有一类是自注意力机制(Self 信息.典型地,在自然语言场景中,Kiela等l学习 attention),一般输入是序列.输出不是,比如分类 了同一输人句子的不同单词嵌人表示的注意力权 和推荐任务,在此场景中,可以使用注意力来学习 重,以改善句子表示,同时通过权重的可解释性, 输入序列中对应于相同输入序列中的每个标记的 确定哪些单词嵌入对句子的贡献度的大小.类似 相关标记. 地,Maharjan等2o使用注意力机制来动态给书籍 2.6.4抽象层个数 的不同特征表示赋权,捕捉词汇、句法、视觉和类 在最一般的情况下,只为原始输入序列计算 型等不同层面的信息 注意力权重,这种注意力称为单级的(Single- 还有一种情况,就是引入权重来确定输入嵌 level).另一方面,注意力可以按顺序应用于输入 入向量的各个维度分量的相关性,计算向量的每 序列的多个抽象层次,较低抽象级别的输出(即上 个特征的分数可以选择在任何给定上下文中最能 下文向量)成为较高抽象级别的查询状态,这种类 描述标记特定含义的特征.这对于自然语言应用 型称之为多级(Multi-level). 程序来说尤其有用,因为在自然语言应用中,传统 上面提到的层次注意力就是典型的多层次抽 的单词嵌入表示会受到一词多义问题的影响 象,在两个不同的抽象层次(即单词级别和句子级 Lin等2I和Shen等u针对语言理解问题给出了这 别)上使用了注意力模型来完成文档分类任务,因 种方法的例子,以获得更有效的句子嵌入表示.在 为它捕获了文档的自然层次结构,即文档由句子 此项类型的分类中把以上两种多元特征表示的形 组成,句子由单词组成 式统一称为多表示(Multi-representational).表2总 2.6.5位置个数 结了近几年注意力机制的应用文献 这里的位置个数指的是参与计算上下文问量 3注意力机制的可解释性 的隐状态向量个数.Bahdanau等介绍的注意力 机制也被称为软(so)注意力.顾名思义,它使用 可解释性是指人类能够理解决策结果的原 输入序列所有隐状态的加权平均值来构建上下文 因的程度,模型可解释性指对模型内部机制的理 向量.软加权虽然使得神经网络易于通过反向传 解以及对模型结果的理解.近年来受到模型的性 播进行有效的学习,但是也增加了计算成本.如果 能以及透明度和公平性的推动,人工智能模型的 这种加权的权值变成只有一个1,其余全是0,也 可解释性引起了人们的极大兴趣.然而,神经网 就是此时的上下文向量是随机采样的某个隐状 络虽然在大部分任务表现良好,但是因为是黑盒 态,这种称之为硬(Hard)注意力,大大减少了计算 模型,缺乏可解释性,大大削弱了工业应用上对 量,但是训练过程不可微分,难以优化 模型所做的决定或预测的理解,而注意力机制的 Luong等在机器翻译中提出了局部(Local) 引入可以直觉地窥探神经网络内部的运行机制: 和全局(Global)注意力.全局注意力类似于软注意 对一个给定的输出,可以通过检查注意力机制权 力.另一方面,局部注意力介于软注意和硬注意之 重,得知模型分配了较大注意力权重的输入是哪 间.关键思想是首先检测输入序列中的一个注意 一个 点或位置,然后在该位置周围选择一个窗口,创建 假设注意力权重的重要性与序列中每个位置 一个局部软注意力,此时的隐状态的个数就是窗 的输出的预测值和输入对象的特定区域的相关程 口的大小.输入序列中的位置可以设置单调对齐 度高度相关,那么可以通过可视化一组输入和输 或通过预测对齐学习.因此,局部注意力的优点是 出对的注意权重来增强对模型结果的理解,这种 在软注意和硬注意、计算效率和窗口内的可微性 理解是否符合人类的思考逻辑值得商榷.在自然 之间提供参数权衡,因此,为了克服这一局限性, 语言处理中,研究者普遍认为,注意力机制为神经
果模型有多个输入序列,并且学习不同输入序列 之间的权重矩阵,以捕获这些输入序列之间的关 系,把这类称之为协同注意力机制(Co-attention). 协同注意力机制典型的应用场景有:阅读理解,对 输入(问题回答,文本)之间的注意力建模,找出对 回答问题最相关的问题关键词,协同注意力机制 非常有助于同时检测问题中的关键词和答案相关 文章的段落 . 还有一类是自注意力机制 ( Selfattention),一般输入是序列,输出不是,比如分类 和推荐任务,在此场景中,可以使用注意力来学习 输入序列中对应于相同输入序列中的每个标记的 相关标记. 2.6.4 抽象层个数 在最一般的情况下,只为原始输入序列计算 注意力权重 ,这种注意力称为单级的 ( Singlelevel). 另一方面,注意力可以按顺序应用于输入 序列的多个抽象层次. 较低抽象级别的输出(即上 下文向量)成为较高抽象级别的查询状态,这种类 型称之为多级(Multi-level). 上面提到的层次注意力就是典型的多层次抽 象,在两个不同的抽象层次(即单词级别和句子级 别)上使用了注意力模型来完成文档分类任务,因 为它捕获了文档的自然层次结构,即文档由句子 组成,句子由单词组成. 2.6.5 位置个数 这里的位置个数指的是参与计算上下文向量 的隐状态向量个数. Bahdanau 等[3] 介绍的注意力 机制也被称为软(soft)注意力. 顾名思义,它使用 输入序列所有隐状态的加权平均值来构建上下文 向量. 软加权虽然使得神经网络易于通过反向传 播进行有效的学习,但是也增加了计算成本. 如果 这种加权的权值变成只有一个 1,其余全是 0,也 就是此时的上下文向量是随机采样的某个隐状 态,这种称之为硬(Hard)注意力,大大减少了计算 量,但是训练过程不可微分,难以优化. Luong 等[6] 在机器翻译中提出了局部(Local) 和全局(Global)注意力. 全局注意力类似于软注意 力. 另一方面,局部注意力介于软注意和硬注意之 间. 关键思想是首先检测输入序列中的一个注意 点或位置,然后在该位置周围选择一个窗口,创建 一个局部软注意力,此时的隐状态的个数就是窗 口的大小. 输入序列中的位置可以设置单调对齐 或通过预测对齐学习. 因此,局部注意力的优点是 在软注意和硬注意、计算效率和窗口内的可微性 之间提供参数权衡,因此,为了克服这一局限性, 提出了变分学习方法和强化学习策略梯度方法. 2.6.6 表示个数 大多数情况下,神经网络都是使用输入序列 的单一特征表示,但是在某些场景,使用输入的一 个特征表示可能不足以满足下游任务,需要注意 力来为这些不同的表示分配权重,这些表示可以 确定最相关的方面,而忽略输入中的噪声和冗余 信息. 典型地,在自然语言场景中,Kiela 等[19] 学习 了同一输入句子的不同单词嵌入表示的注意力权 重,以改善句子表示,同时通过权重的可解释性, 确定哪些单词嵌入对句子的贡献度的大小. 类似 地,Maharjan 等[20] 使用注意力机制来动态给书籍 的不同特征表示赋权,捕捉词汇、句法、视觉和类 型等不同层面的信息. 还有一种情况,就是引入权重来确定输入嵌 入向量的各个维度分量的相关性,计算向量的每 个特征的分数可以选择在任何给定上下文中最能 描述标记特定含义的特征. 这对于自然语言应用 程序来说尤其有用,因为在自然语言应用中,传统 的单词嵌入表示会受到一词多义问题的影响. Lin 等[12] 和 Shen 等[11] 针对语言理解问题给出了这 种方法的例子,以获得更有效的句子嵌入表示. 在 此项类型的分类中把以上两种多元特征表示的形 式统一称为多表示(Multi-representational). 表 2 总 结了近几年注意力机制的应用文献. 3 注意力机制的可解释性 可解释性是指人类能够理解决策结果的原 因的程度,模型可解释性指对模型内部机制的理 解以及对模型结果的理解. 近年来受到模型的性 能以及透明度和公平性的推动,人工智能模型的 可解释性引起了人们的极大兴趣. 然而,神经网 络虽然在大部分任务表现良好,但是因为是黑盒 模型,缺乏可解释性,大大削弱了工业应用上对 模型所做的决定或预测的理解,而注意力机制的 引入可以直觉地窥探神经网络内部的运行机制: 对一个给定的输出,可以通过检查注意力机制权 重,得知模型分配了较大注意力权重的输入是哪 一个. 假设注意力权重的重要性与序列中每个位置 的输出的预测值和输入对象的特定区域的相关程 度高度相关,那么可以通过可视化一组输入和输 出对的注意权重来增强对模型结果的理解,这种 理解是否符合人类的思考逻辑值得商榷. 在自然 语言处理中,研究者普遍认为,注意力机制为神经 刘建伟等: 深度学习中注意力机制研究进展 · 1505 ·
·1506 工程科学学报,第43卷,第11期 表2重要的注意力机制模型从四个不同方面的总结 Table2 Summary of key papers for technical approaches within each category References Number of sequences Number of abstraction levels Number of representations Number of positions Scenario of applications G] Distinctive Single-level Single-representational Soft Machine translation Distinctive Single-level Single-representational Hard Image captioning 句 Distinctive Single-level Single-representational Local Machine translation 7 Self-attention Single-level Single-representational Soft Document classification [18] Distinctive Multi-level Single-representational Soft Speech recognition 2 Distinctive Single-level Single-representational Soft Visual question answering [22] Co-attention Multi-level Single-representational Soft Sentiment classification [23 Self-attention Multi-level Single-representational Soft Recommender systems [1 Self-attention Single-level Multi-representational Soft Language understanding [19 Self-attention Single-level Multi-representational Soft Text representation 模型的工作方式提供了一种重要的解释方式 意力机制能否解释模型预测提出了疑问.Jain 注意力机制实现可解释性,已经广泛应用在 等)认为注意力机制并不能提高模型的可解释 各种学习场景.Bahdanau等在机器翻译领域引 性.如果注意力机制能提供解释,那么必须满足 入注意力机制,解决了大范围序列依赖建模问题, 以下两个性质:(a)服从特定概率分布的注意力权 同时也对源语言英语和目标语言法语之间的自动 值,权值的大小,必须与特征重要性度量值相关; 对齐问题,给出了可视化解释,即使对于两种不同 (b)如果训练的注意力概率分布发生改变或变 结构和文法的语言,不同语言间相互对应的单词 换,那么预测结果也应该发生相应的(comparable) 之间的注意力权重明显更大.在机器阅读理解中, 变化.并给出了两组实验对比来验证自己的观 注意力机制模型已经成为网络结构中必不可少的 点,首先假设计算得到的对象的注意力权重和对 一环,机器阅读理解通过结合文本和问句两者的 象的特征重要性度量值之间不总是一致的,也就 信息,生成一个关于文本段落各个部分的注意力 是注意力机制只能为模型的预测提供微弱的解 权重,对文本信息进行加权,试图通过其去捕捉问 释;接下来提出了一种替代性对抗注意力概率分 题和文本篇章之间的匹配关系.而后来提出的协 布,它可以最小程度地改变模型预测结果.为此, 同注意力机制是一个双向的注意力机制,不仅要 其控制训练好的模型的注意力权值所服从的概 给阅读的文本段落生成一个注意力权重,还要给 率分布,来判别是否存在替代性分布使得模型输 问句也生成一个注意力权重.最后,Xu等阿对图 出接近原始预测值,但是预测结果依然相同,即 像文字描述任务中,生成的文本与相关图像区域 使是注意到了不同的输入特征,甚至随机置换注 关联关系,进行可视化 意力权重,是否通常只会导致输出的微小变化. 实际上,除了上述应用场景的可解释性研究, 其结果综合表明:注意力权重基本上无法提高模 还有很多工业场景下,对于注意力机制的可解释 型可解释性 性研究文献.De-Arteaga等研究了社会职业分 而Wiegreffe和Pinter2sI对以上结果提出了质 类中性别偏见,并分析了这种偏见主要与哪些词 疑,认为Jain等所得到的结论2可依赖模型解释性 汇相关,被注意的词汇如何解释性性别偏见.作为 的定义,且对于模型的测试是否正确,需要考虑模 注意力机制的另一个有趣的应用,Lee等阿和 型的所有元素,使用更加严谨的实验设计过程.认 Lu等26发布开源工具,用于可视化深度神经网络 为违反事实的注意力权重实验,无法Jain等自身 的注意力权重,通过注意力权重注人扰动信号,以 的论点,首先其所提取的注意力权值所服从的概 便模拟特定假设情景,并交互式观察深度神经网 率分布不是原始的(Primitive),是分离了模型各部 络预测值的变化,侦测注意力权重是否存在某种 分而获得的注意力权重,与模型整体的依赖度会 相关解释性 降低;还有就是注意力重要性分数可以提供可解 注意力机制已被应用在各种各样的学习场 释性,但不是唯一的可解释性,取决于每个人对模 景中,几乎普遍存在,不免让很多研究人员对注 型解释性所作的定义
模型的工作方式提供了一种重要的解释方式. 注意力机制实现可解释性,已经广泛应用在 各种学习场景. Bahdanau 等[3] 在机器翻译领域引 入注意力机制,解决了大范围序列依赖建模问题, 同时也对源语言英语和目标语言法语之间的自动 对齐问题,给出了可视化解释,即使对于两种不同 结构和文法的语言,不同语言间相互对应的单词 之间的注意力权重明显更大. 在机器阅读理解中, 注意力机制模型已经成为网络结构中必不可少的 一环,机器阅读理解通过结合文本和问句两者的 信息,生成一个关于文本段落各个部分的注意力 权重,对文本信息进行加权,试图通过其去捕捉问 题和文本篇章之间的匹配关系. 而后来提出的协 同注意力机制是一个双向的注意力机制,不仅要 给阅读的文本段落生成一个注意力权重,还要给 问句也生成一个注意力权重. 最后,Xu 等[5] 对图 像文字描述任务中,生成的文本与相关图像区域 关联关系,进行可视化. 实际上,除了上述应用场景的可解释性研究, 还有很多工业场景下,对于注意力机制的可解释 性研究文献. De-Arteaga 等[24] 研究了社会职业分 类中性别偏见,并分析了这种偏见主要与哪些词 汇相关,被注意的词汇如何解释性性别偏见. 作为 注意力机制的另一个有趣的应用 , Lee 等 [25] 和 Liu 等[26] 发布开源工具,用于可视化深度神经网络 的注意力权重,通过注意力权重注入扰动信号,以 便模拟特定假设情景,并交互式观察深度神经网 络预测值的变化,侦测注意力权重是否存在某种 相关解释性. 注意力机制已被应用在各种各样的学习场 景中,几乎普遍存在,不免让很多研究人员对注 意力机制能否解释模型预测提出了疑问. Jain 等[27] 认为注意力机制并不能提高模型的可解释 性. 如果注意力机制能提供解释,那么必须满足 以下两个性质:(a)服从特定概率分布的注意力权 值,权值的大小,必须与特征重要性度量值相关; ( b)如果训练的注意力概率分布发生改变或变 换,那么预测结果也应该发生相应的 (comparable) 变化. 并给出了两组实验对比来验证自己的观 点,首先假设计算得到的对象的注意力权重和对 象的特征重要性度量值之间不总是一致的,也就 是注意力机制只能为模型的预测提供微弱的解 释;接下来提出了一种替代性对抗注意力概率分 布,它可以最小程度地改变模型预测结果. 为此, 其控制训练好的模型的注意力权值所服从的概 率分布,来判别是否存在替代性分布使得模型输 出接近原始预测值,但是预测结果依然相同,即 使是注意到了不同的输入特征,甚至随机置换注 意力权重,是否通常只会导致输出的微小变化. 其结果综合表明:注意力权重基本上无法提高模 型可解释性. 而 Wiegreffe 和 Pinter [28] 对以上结果提出了质 疑,认为 Jain 等所得到的结论[27] 依赖模型解释性 的定义,且对于模型的测试是否正确,需要考虑模 型的所有元素,使用更加严谨的实验设计过程. 认 为违反事实的注意力权重实验,无法 Jain 等自身 的论点,首先其所提取的注意力权值所服从的概 率分布不是原始的(Primitive),是分离了模型各部 分而获得的注意力权重,与模型整体的依赖度会 降低;还有就是注意力重要性分数可以提供可解 释性,但不是唯一的可解释性,取决于每个人对模 型解释性所作的定义. 表 2 重要的注意力机制模型从四个不同方面的总结 Table 2 Summary of key papers for technical approaches within each category References Number of sequences Number of abstraction levels Number of representations Number of positions Scenario of applications [3] Distinctive Single-level Single-representational Soft Machine translation [5] Distinctive Single-level Single-representational Hard Image captioning [6] Distinctive Single-level Single-representational Local Machine translation [7] Self-attention Single-level Single-representational Soft Document classification [18] Distinctive Multi-level Single-representational Soft Speech recognition [21] Distinctive Single-level Single-representational Soft Visual question answering [22] Co-attention Multi-level Single-representational Soft Sentiment classification [23] Self-attention Multi-level Single-representational Soft Recommender systems [11] Self-attention Single-level Multi-representational Soft Language understanding [19] Self-attention Single-level Multi-representational Soft Text representation · 1506 · 工程科学学报,第 43 卷,第 11 期
刘建伟等:深度学习中注意力机制研究进展 ·1507· 4注意力机制的应用 之间关系进行建模.模型结构采用了非局部神经 网络,利用注意力机制进行计算,赋予感兴趣的区 4.1计算机视觉方面的应用 域更大的权重 在图像分类方面,Mnih等7为了解决在高分 4.2自然语言处理方面的应用 辨率图片上使用卷积神经网络时,计算复杂性高 注意力机制在自然语言处理中有着巨大的应 的问题,在传统的RNN上加入了注意力机制进行 用潜力,特别是神经机器翻译等任务.神经机器翻 图像分类,即在高分辨图片或者视频帧上自适应 译任务中大多使用编码器-解码器的网络结构,这 地提取一系列的区域框,然后从被选区域提取图 种结构有一个潜在的问题是,神经网络需要将源 片或视频信息.Jetley等29提出了一种用于图像分 语句所有的信息压缩成固定长度的向量.这可能 类的CNN架构的端到端可训练注意力模块.该模 使得神经网络难以处理长句子,尤其是那些比训 块将二维特征矢量图作为输入,其形成CNN流水 练语料库中句子更长的句子,随着输入句子长度 线中不同阶段的输入图像的中间表示,并输出每 的增加,原始编码器-解码器的性能会迅速下降 个特征图的得分矩阵.通过结合该模块来修改标 为了解决这一问题,Bahdanau等)引入了一 准CNN架构,并且在约束下训练中间2维特征向 种基于注意力机制的编码器一解码器扩展模型.每 量的凸组合单独用于分类.Sharma等B0针对视频 当生成的模型在翻译中生成一个单词的时候,它 中的动作识别任务提出了一种基于软注意力的多 会(软性地)搜索源句中最相关信息集的位置.然 层递归神经网络,在网络中加入关注区域的移动、 后,该模型根据与源语句位置相关的上下文向量 缩放机制,连续部分信息的序列化输入,将目标作 和之前产生的所有目标语言单词来预测下一个目 进一步精细化,让模型可以捕获更精细的特征,通 标单词,改善源语言和目标语言的对齐问题.之 过将特征分成更小的块,注意力机制将筛选出更 后,Luong等提出了全局注意力机制和局部注意 有利于描述特征的那部分图像块 力机制两种注意机制.全局注意机制在生成上下 图片生成任务通常使用深度神经网络来提取 文向量时考虑编码器的所有隐状态,但是全局注 图片高层次特征,通过图片特征重构图像,然而从 意机制有一个缺陷,其针对每一个目标语言单词 包含丰富内容的图片生成图片是很棘手的事情 都要考虑源语言语句中所有单词,此过程计算复 为了克服这一困难,Kataoka等B]提出了一个基于 杂性很高.局部注意机制可以克服这种问题,它对 注意力机制的生成网络,生成网络被训练用来关 每个目标单词,只关注源语言句子中的小部分单词 注图像的局部细节并逐步分阶段生成图像.这使 2016年,Cohn等3扩展了注意力机制的神经 得网络能够处理图像的一部分和整个图像的粗略 机器翻译模型,包括基于对齐的文字结构偏差模 结构的细节,验证了通过注意力机制和生成对抗 型,直接将这些对齐误差信息引入注意力机制模 网络生成图像的有效性.Gregor等B叫用生成对抗 型.Feng等B7在注意力机制模型中应用了传统统 网络和深度递归注意力写入器(Deep recurrent 计机器翻译的扭曲度(Distortion)和繁衍度概念 attentive writer,DRAW),实现图像的迭代构造过 (Fertility),认为当对齐不正确时,基于注意力机制 程,以便产生更逼真的图像.Parmar等B]受卷积 的“编码器-解码器”模型的翻译质量严重下降,文 神经网络启发的Transformer变种提出了Image 中直接将前一时刻的上下文向量信息输入注意力 Transformer,重点是局部注意范围,即将接受域限 模型,以帮助注意力模型更好地预测目标语言句 制为局部领域.不过,这种模型有一个限制条件, 子的词语顺序 即要以失去全局接受域为代价,以降低存储和计 Eriguchi等IB提出了一种新的端到端的句法 算成本 NMT模型,利用源语言端的短语结构构造了一个 在与图像有关的多模态领域,Huang等B提 序列到序列的翻译模型.句法NMT模型利用句法 出了一种图像和文本双模态的神经网络翻译模 解析树建立基于句法解析树的编码器,基于句法 型,探索了将文本和图像多模态信息集成到基于 解析树的编码器是顺序编码器模型的自然扩展, 注意力机制的编码器-解码器结构中的方法.在学 编码器中句法解析树的路径,可以与其对应的顺 习图像描述子的背景下也探讨了注意力机制的有 序编码器一起工作.此外.句法NMT模型引入了 效性.Zhang等B阿在自注意力机制层加入生成对 注意力机制,允许基于句法解析树的编码器不仅 抗网络,使得生成器和判别器更好地对空间区域 实现输入句子单词级的对齐,而且实现输入句子
4 注意力机制的应用 4.1 计算机视觉方面的应用 在图像分类方面,Mnih 等[17] 为了解决在高分 辨率图片上使用卷积神经网络时,计算复杂性高 的问题,在传统的 RNN 上加入了注意力机制进行 图像分类,即在高分辨图片或者视频帧上自适应 地提取一系列的区域框,然后从被选区域提取图 片或视频信息. Jetley 等[29] 提出了一种用于图像分 类的 CNN 架构的端到端可训练注意力模块. 该模 块将二维特征矢量图作为输入,其形成 CNN 流水 线中不同阶段的输入图像的中间表示,并输出每 个特征图的得分矩阵. 通过结合该模块来修改标 准 CNN 架构,并且在约束下训练中间 2 维特征向 量的凸组合单独用于分类. Sharma 等[30] 针对视频 中的动作识别任务提出了一种基于软注意力的多 层递归神经网络,在网络中加入关注区域的移动、 缩放机制,连续部分信息的序列化输入,将目标作 进一步精细化,让模型可以捕获更精细的特征,通 过将特征分成更小的块,注意力机制将筛选出更 有利于描述特征的那部分图像块. 图片生成任务通常使用深度神经网络来提取 图片高层次特征,通过图片特征重构图像,然而从 包含丰富内容的图片生成图片是很棘手的事情. 为了克服这一困难,Kataoka 等[31] 提出了一个基于 注意力机制的生成网络,生成网络被训练用来关 注图像的局部细节并逐步分阶段生成图像. 这使 得网络能够处理图像的一部分和整个图像的粗略 结构的细节,验证了通过注意力机制和生成对抗 网络生成图像的有效性. Gregor 等[32] 用生成对抗 网络和深度递归注意力写入器 ( Deep recurrent attentive writer,DRAW),实现图像的迭代构造过 程,以便产生更逼真的图像. Parmar 等[33] 受卷积 神经网络启发 的 Transformer 变种提出 了 Image Transformer,重点是局部注意范围,即将接受域限 制为局部领域. 不过,这种模型有一个限制条件, 即要以失去全局接受域为代价,以降低存储和计 算成本. 在与图像有关的多模态领域,Huang 等[34] 提 出了一种图像和文本双模态的神经网络翻译模 型,探索了将文本和图像多模态信息集成到基于 注意力机制的编码器−解码器结构中的方法. 在学 习图像描述子的背景下也探讨了注意力机制的有 效性. Zhang 等[35] 在自注意力机制层加入生成对 抗网络,使得生成器和判别器更好地对空间区域 之间关系进行建模. 模型结构采用了非局部神经 网络,利用注意力机制进行计算,赋予感兴趣的区 域更大的权重. 4.2 自然语言处理方面的应用 注意力机制在自然语言处理中有着巨大的应 用潜力,特别是神经机器翻译等任务. 神经机器翻 译任务中大多使用编码器−解码器的网络结构,这 种结构有一个潜在的问题是,神经网络需要将源 语句所有的信息压缩成固定长度的向量. 这可能 使得神经网络难以处理长句子,尤其是那些比训 练语料库中句子更长的句子,随着输入句子长度 的增加,原始编码器−解码器的性能会迅速下降. 为了解决这一问题,Bahdanau 等[3] 引入了一 种基于注意力机制的编码器−解码器扩展模型. 每 当生成的模型在翻译中生成一个单词的时候,它 会(软性地)搜索源句中最相关信息集的位置. 然 后,该模型根据与源语句位置相关的上下文向量 和之前产生的所有目标语言单词来预测下一个目 标单词,改善源语言和目标语言的对齐问题. 之 后,Luong 等[6] 提出了全局注意力机制和局部注意 力机制两种注意机制. 全局注意机制在生成上下 文向量时考虑编码器的所有隐状态,但是全局注 意机制有一个缺陷,其针对每一个目标语言单词 都要考虑源语言语句中所有单词,此过程计算复 杂性很高. 局部注意机制可以克服这种问题,它对 每个目标单词,只关注源语言句子中的小部分单词. 2016 年,Cohn 等[36] 扩展了注意力机制的神经 机器翻译模型,包括基于对齐的文字结构偏差模 型,直接将这些对齐误差信息引入注意力机制模 型. Feng 等[37] 在注意力机制模型中应用了传统统 计机器翻译的扭曲度(Distortion)和繁衍度概念 (Fertility),认为当对齐不正确时,基于注意力机制 的“编码器−解码器”模型的翻译质量严重下降,文 中直接将前一时刻的上下文向量信息输入注意力 模型,以帮助注意力模型更好地预测目标语言句 子的词语顺序. Eriguchi 等[38] 提出了一种新的端到端的句法 NMT 模型,利用源语言端的短语结构构造了一个 序列到序列的翻译模型. 句法 NMT 模型利用句法 解析树建立基于句法解析树的编码器,基于句法 解析树的编码器是顺序编码器模型的自然扩展, 编码器中句法解析树的路径,可以与其对应的顺 序编码器一起工作. 此外,句法 NMT 模型引入了 注意力机制,允许基于句法解析树的编码器不仅 实现输入句子单词级的对齐,而且实现输入句子 刘建伟等: 深度学习中注意力机制研究进展 · 1507 ·