兰翠玲作者

如何让RNN神经元拥有基础通用的注意力能力

编者按:循环神经网络(RNNs)是序列建模中被广泛使用的网络结构,它通过控制当前信息以及历史信息的贡献大小来实现序列信息的积累。RNN神经元将当前时刻的输入向量作为一个整体,通过门设计控制其信息载入到模型的信息量。然而,输入向量中的不同元素通常具有不同的重要性,RNNs忽略了对此重要属性的探索及利用以加强网络能力。

为此,微软亚洲研究院和西安交通大学合作,提出了通过对RNN层加入一个简单有效的元素注意力门,使得RNN神经元自身拥有基础通用的注意力能力,对不同的元素自适应地赋予不同的重要性来更加细粒度地控制输入信息流。该注意力门设计简单,并且通用于不同的RNN结构以及不同的任务。

RNN的网络结构

循环神经网络(Recurrent Neural Networks, 缩写RNNs),例如标准RNN、LSTM、GRU等,已经被广泛用于对时间序列数据的处理和建模,来解决许多应用问题,例如行为识别、机器翻译、手写识别等。RNN在对时域动态特性建模以及特征学习上具有强大的能力。如图1所示,在每个时间步,RNN神经元通过当前时刻的输入x_t和前一时刻的隐状态信息h_(t-1)来更新当前时刻的隐状态h_t,从而具有对历史信息的记忆性。

图1 RNN结构示意图及沿时域的展开表示

标准(Standard)RNN存在梯度消失的问题,因此在对长时(Long Range)依赖性建模中性能并不理想。LSTM(Long Short-Term Memory)、GRU(Gated Recurrent Unit)通过引入门(Gate)设计一定程度上减轻了梯度消失问题门结构根据当前输入和隐状态信息来控制着对历史信息遗忘量,以及对当前输入信息接纳量,从而实现对历史和当前信息的有效利用

对于一个RNN神经元,门可以视为一个整体的开关(标量)在控制当前或历史信息的流通。以某个LSTM神经元为例,在时刻t,内部单元的响应计算如下:

其中,x_t表示当前时刻t的输入向量,h_(t-1)表示t-1时刻的隐状态向量。i_t、f_t、o_t、c_t、h_t分别表示该LSTM神经元中的输入门、遗忘门、输出门、记忆单元和隐状态(输出)。w_aβ,b_β为模型参数,σ为Sigmoid激活函数。可以看到,遗忘门f_t影响着对历史信息,即存储在记忆单元c_(t-1)里的信息的保留程度。输入门i_t则影响着当前时刻信息x_t存储到记忆单元的量。

输入门作为当前时刻信息载入的开关(标量值),它并不能对当前时刻输入向量的不同元素进行自适应地调控,尽管输入向量的不同元素在许多任务中常有不同的重要性。因此现有LSTM缺少自我注意能力。同样的,标准RNN、GRU等其它RNN结构均存在相同的问题。

元素注意力RNN

注意力(Attention)机制旨在有选择性地关注数据的不同部分,从而优化系统性能。在许多任务,例如机器翻译自然语言处理语音识别、图像描述生成等,已经显示了其有效性。注意力机制和人的感知机理比较一致。人在感知和理解世界时,并不是对每个细节都同等重要地去处理,而是通过关注某些显著性部分来实现效率的最大化。例如在嘈杂的环境下,人能通过听觉的注意力机制分辨出自己熟知的人的声音而忽略掉一些不关心的人的谈话。这是人类进化过程中形成的生存机制,能够利用有限的注意力资源从大量信息中筛选出高价值信息的手段。

针对不同的任务,人们设计了各种各样的注意力模型来提升系统的能力。在机器翻译中,通过注意力模型来利用邻近词上下文更好地对当前词进行翻译,即对邻域词及当前词做权重平均后作为RNN翻译网络当前时刻的输入。在图像描述任务中,图像被均匀地分成L部分,每一部分由提取的特征向量描述。为了使网络有选择性地、序列化地关注于一些对应语义部分来生成对应的描述,在每个时间步,注意力模型对L个部分赋予不同的权重以获得权重平均作为LSTM的输入。

在上述的这些工作中,注意力模型作为RNN额外的子网络,需要针对具体的任务来设计,目前并没有一种通用的设计,使RNN层自身具有注意力能力。近年来也有些对RNN结构设计的通用的改进,例如为了降低RNN网络训练的难度,Independently RNN(INdRNN)解除掉RNN同一层中的神经元之间的依赖性。

本文中,我们研究如何赋予一个通用的RNN层拥有细粒度注意力能力。对于一个RNN层,我们通过加入一个元素注意力门Element-wise-Attention Gate(EleAttG),使其对输入向量x_t的不同元素赋予不同的注意力权重。我们将带有EleAttG的RNN称为元素注意力RNN。如图2所示,元素注意力门根据当前时刻输入向量x_t和前一时刻隐状态h_(t-1)来决定输入向量不同元素的重要程度(Attention)a_t,并调制输入获得调制后的新输入(x_t) ̃ = a_t⨀x_t。

图2 拥有自注意能力的元素注意力RNN块/层的结构示意图。红色模块表示新加的元素注意力门。(a)展示了注意力门结构在RNN上的示意图,此RNN可以是标准RNN、LSTM或GRU;(b)给出了具体的带注意力门的LSTM层结构。注:一个RNN块/层可以由若干RNN神经元组成,例如N个。隐状态h_t的维度等于该层的神经元个数,即N。

LSTM层为例,在时刻t,对于一个LSTM神经元内部单元的响应计算更新如下:

即(x_t) ̃取代原始输入x_t参与到RNN的循环运算。元素注意力门的响应向量由输入和隐状态决定:

过去许多注意力设计工作中采用Softmax作为激活函数,从而使得注意力值的和为1。这样,在同一时刻,某个元素上的注意力值大小会受到其它元素上注意力值的影响。例如,沿着时间注意力稳定的一个元素因此会由于其他元素的改变而其稳定性被破坏。我们放宽了该限制,通过采用Sigmoid激活函数,保证了输入向量中某个元素的重要性不会由于其他元素的重要性值的改变而被迫改变,从而有更大优化空间。实验中我们发现放宽该约束可以显著地提升3D行为识别的性能。

元素注意力门的加入,使得RNN神经元拥有了注意能力。理论上讲,每个RNN神经元可以拥有自己的元素注意力门。为了减少计算复杂度和参数量,在我们的设计中,同一RNN层中的所有RNN神经元共享元素注意力门参数

实验结果

为了检验元素注意力RNN的高效性,我们在基于3D骨架(3D skeleton)数据的行为识别,以及基于RGB的行为识别上分别做了实验。

在基于3D骨架的人类行为识别的任务上,我们使用3个RNN层和一个全连层来搭建基准分类网络。每个RNN层由100个RNN神经元组成。作为比较,我们的方案将3个RNN层替换为3个元素注意力RNN层。

我们主要在NTU RGB+D数据库(简称NTU数据库)上进行实验分析。NTU是目前最大的Kinect采集的用于3D行为识别的数据库,包含56880个序列,由60类日常行为组成。骨架数据中,每个人由25个关节点组成。

在基于RGB帧的行为识别任务上,对于一个RGB帧,我们将CNN提出的特征向量作为RNN网络的一个时刻的输入来利用空时信息进行序列分类。类似地,作为比较,对比方案中将RNN层替换为了元素注意力RNN。

元素注意力门的有效性

我们在NTU数据库上通过基于3D骨架的行为识别任务来分析元素注意门的效率。如图3所示,对于3层GRU网络,当第一层GRU被换为元素注意力GRU后,识别精度在Cross-Subject和Cross-View的设置下分别提升了3.5%和3.4%。随着替换层数的增加,性能也随之增加。当三层均被替换为元素注意力GRU后,识别精度较之于基准网络实现了4.6%和5.6%提升。元素注意力RNN层作为通用的设计,可以用在RNN网络的任何一层。

图3 对提出的元素注意力门在三层GRU网络上的性能分析(分类精度%)。m-EleAtt-GRU+n-GRU”表示前m层是提出的元素注意力GRU层,其余n层为原始GRU层。“3-GRU(Baseline)”是原始GRU构成的基准网络。该实验在基于3D骨架的行为识别任务上的NTU数据库的Cross-Subject(CS)和Cross-View(CV)设置下完成。

元素注意力RNN可用于建模其它信号

元素注意力RNN层作为一个通用设计,除了3D骨架数据,也可以被用于处理其它数据。在这里,我们通过使用CNN在RGB帧提取的特征作为RNN网络的输入,来验证该注意力机制在CNN特征上仍然有效。表1比较了元素注意力GRU(EleAtt-GRU)和原始GRU (Baseline-GRU)在基于RGB的视频行为识别上的性能,其显示元素注意力GRU比原始GRU识别精度高2%-3.8%。

元素注意力门可用到不同RNN结构

我们在三种代表性RNN结构上,即标准RNN、LSTM和GRU,分别验证设计的有效性。如表2所示,由于注意力门的引入,识别性能在三种结构上均实现了显著的提升。

元素注意力RNN加快了学习进程

图4展示了原始GRU和元素注意力GRU在训练过程的损失(Loss)变化曲线。可以看到,由于注意力门结构的引入,网络收敛比原始GRU更快了,并且最终的损失也降得更低了。对输入在元素上的自适应调制是一种更细粒度的信息流控制从而使得后续RNN神经元内部的学习更容易。

图4 训练时的损失曲线图。该实验分别在NTU数据库的Cross-Subject和Cross-View设置上进行来比较原始GRU(Baseline-GRU)和提出的元素注意力GRU(EleAtt-GRU)的收敛特性。实线表示训练集合上的结果,虚线表示验证集合上的结果。

可视化分析

为了更好地理解注意力机制是如何工作的,我们基于学到的第一层GRU的元素注意力门的响应进行了可视化,如图4所示。对于以3D骨架为输入的行为识别,RNN网络的第一层的输入为J个骨架节点的3D坐标,即维度为3J。在每个时刻,元素注意力门自适应地对每个元素乘上一个注意力权重值。图4用圆圈的大小来表示每个节点相对注意力值的大小(为了便于可视化,我们将一个节点的X、Y、Z坐标上的相对注意力值的和作为该节点的注意力相对值),圈越大表示相对注意力值越大。

图5 在基于3D骨架的人类行为识别任务上,根据第一层元素注意力GRU上注意力门响应值的大小在各个骨架节点上进行可视化。

对于第一行的“踢腿”行为,相对注意力值在对行为识别比较重要的脚节点上较大。对于第二行的“触摸脖子“行为,相对注意力值在手和头节点上比较大,而在不相关的脚节点上很小。这表明学到的注意力能关注于更有判别力的节点,和人的认知相符。

和其它先进方法的比较

表3、4、5中对比了我们的方法和现有的方法在NTU、N-UCLA和SYSU 3D骨架行为识别数据库上的比较。由于有效的注意力机制设计,我们方法实现了最好的性能。


本文中,我们对RNN层的设计进行了改进,提出了通过对RNN层加入一个简单有效的元素注意力门,使RNN神经元自身拥有注意力能力。通过对不同的元素自适应地赋予不同的重要性来更加细粒度地控制输入信息流。该注意力门设计简单有效,可以用到各种各样的RNN结构中,及不同的任务中。


更多细节请参考论文

Pengfei Zhang, Jianru Xue, Cuiling Lan, Wenjun Zeng, Zhanning Gao, Nanning Zheng, “Adding attentiveness to the neurons in Recurrent Neuronal Networks”, ECCV‘18.


论文链接:https://arxiv.org/abs/1807.04445


参考文献:

[1] Luong, M.T., Pham, H., Manning, C.D.: Effective approaches to attention-based neural machine translation. arXiv preprint arXiv:1508.04025 (2015).

[2] Xu, K., Ba, J., Kiros, R., Cho, K., Courville, A.,Salakhudinov, R., Zemel, R., Bengio, Y.: Show, attend and tell: Neural image caption generation with visual attention. In: ICML. (2015) 2048-2057.

[3] Li, S., Li, W., Cook. C, Zhu, C., Gao, Y.: Independently recurrent neural network (IndRNN): building a longer and deeper RNN. In: CVPR.(2018).


微软研究院AI头条
微软研究院AI头条

专注科研19年,盛产黑科技

理论神经元RNN
5
相关数据
来也科技机构

「来也」是国内领先的人工智能交互平台,由常春藤盟校(Ivy League)归国博士和MBA团队发起,核心技术涵盖自然语言处理(NLP)、多轮对话控制和个性化推荐系统等。公司已获得数十项专利和国家高新技术企业认证。 来也的愿景是通过AI赋能,让每个人拥有助理。C 端产品小来是智能化的在线助理,通过业内创新的AI+Hi模式,提供日程、打车、咖啡、差旅和个性化查询等三十余项技能(覆盖400w用户和数十万服务者),让用户用自然语言发起需求并得到高效的满足。B端品牌吾来输出知识型的交互机器人和智能客户沟通系统,帮助各领域企业客户打造行业助理。目前已经在母婴,商旅,金融和汽车等行业的标杆企业实现商业化落地。

https://www.laiye.com/
微软亚洲研究院机构

微软亚洲研究院于1998年在北京成立,是微软公司在亚太地区设立的基础及应用研究机构,也是微软在美国本土以外规模最大的一个研究院。微软亚洲研究院从事自然用户界面,智能多媒体,大数据与知识挖掘,人工智能,云和边缘计算,计算机科学基础等领域的研究,致力于推动计算机科学前沿发展,着眼下一代革命性技术的研究,助力微软实现长远发展战略。通过与微软产品部门紧密合作,微软亚洲研究院将众多创新技术转移到了微软的核心产品中,如Office、Windows、Azure、Bing、Visual Studio、Xbox Kinect以及小冰、Cortana和Microsoft Translator等人工智能产品。

https://www.msra.cn/
激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

权重技术

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

感知技术

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

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

注意力机制技术

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

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

机器翻译技术

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

神经网络技术

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

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

梯度消失问题技术

梯度消失指的是随着网络深度增加,参数的梯度范数指数式减小的现象。梯度很小,意味着参数的变化很缓慢,从而使得学习过程停滞,直到梯度变得足够大,而这通常需要指数量级的时间。这种思想至少可以追溯到 Bengio 等人 1994 年的论文:「Learning long-term dependencies with gradient descent is difficult」,目前似乎仍然是人们对深度神经网络的训练困难的偏好解释。

遗忘门技术

LSTM或GRU中特有的机制

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