神经元分类中间神经元

编辑:循环神经网络RNNs )是在序列建模中广泛使用的网络结构,通过控制当前信息和历史信息的贡献大小来实现序列信息的存储。 RNN神经元将当前的输入向量作为整体,通过门设计控制该信息加载到模型中的信息量。 但是,输入向量中的不同元素通常具有不同的重要性,RNNs忽略了这一重要属性的搜索和利用而强化了网络功能。

因此,微软亚洲研究院与西安交通大学合作,通过在RNN层添加简单有效的元素注意门,使RNN神经元自身拥有基本通用的注意力,并对不同元素自适应地赋予不同的重要性,从而以更细的粒度控制输入信息流这个小心门设计简单,不同的RNN结构和不同的任务是相通的。

RNN的网络结构

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

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

由于标准Standard ) RNN存在梯度消失的问题,因此在长时间依赖性建模中性能不佳。 长期记忆lstm )、栅格gru )栅格单元gate )通过引入栅格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

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

面对各种任务,人们设计了各种注意力模型来提高系统的能力。 在机器翻译中,利用注意力模型利用邻近词的语境更好地翻译当前词,将邻近词和当前词进行加权平均,作为RNN翻译网络当前时刻的输入。 在图像描述任务中,图像被均匀地分成l部分,各个部分由提取出的特征向量描述。 为了让网络选择性地、串行地关注几个对应的语义部分来生成对应的描述,注意模型在每个时间步骤中对l个部分赋予不同的权重,并将权重平均值作为LSTM的输入。

在上述工作中,注意力模型作为RNN的附加子网,需要针对具体的任务进行设计,目前还没有共同的设计来吸引RNN层自身的注意力。 近年来,也对RNN的结构设计有了普遍的改善,例如,为了降低RNN网络训练的难度,independentlyRNNindRNN )消除了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).

作者简介

失眠的茉莉,微软亚洲研究院网络多媒体组研究员,从事计算机视觉、信号处理方面的研究。研究兴趣包括行为识别、姿态估计、深度学习、视频分析等,并在多个顶级会议、期刊上发表了20多篇论文。

你也许还想看:

感谢你关注“微软研究院AI头条”,我们期待你的留言和投稿,共建交流平台。来稿请寄:msraai@microsoft.com。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注