主线为 Jimmy Ba 及 Geoffrey Hinton 等人的文章“Using Fast Weights to Attend to the Recent Past”。标题译过来还挺拗口~
摘要
直到最近,人工神经网络的研究主要受限于仅包含下面两类因素的系统:表示当前或最近输入的神经活动;从输入,输出和回报函数中学得的权重。且并没什么好理由用这些限制。突触具有许多不同时间尺度的动态特性,这表明人工神经网络可能有益于比活动变化更为缓慢,但比一般的权重变化更快的因素。以往对过去应用注意力之类被证有助于序列到序列模型。“快速的权重”用于存储最近的瞬时记忆,且神经上合理地应用注意力。用快速的权重使我们不必复制和保存神经活动的模式。
1 简介
一般典型的循环神经网络有两类不同的记忆(短时记忆和长时记忆),它们有非常不同的时间尺度,容量和计算规则。隐含活动向量作为每个时间步都更新的短时记忆,它保存着当前被处理的序列。该记忆的容量为
O(H)
,其中
H
为隐含单元的数目。长时记忆转换当前时间步的输入与过去不同时间步的隐含活动向量为下一时间步的隐含活动向量,且权重矩阵中会保存一个预测输出的向量,该权重矩阵连接隐含权重至自身,输入和输出。这些权重矩阵一般在序列尾部更新,且它们的容量为
长短时记忆网络为一类更为复杂的RNN,它更善于发现长程的结构,主要有两个原因:首先,每个时间步上,它们计算隐含活动向量的增量,而不是重新计算所有的隐含活动向量(假设LSTM的记忆门都设为
1
)。这使得隐含状态中的信息能保存得更长。其次,门会缩放权重的影响,而隐含活动可决定门的状态。通过输入或经过门的隐含活动,乘法操作可动态调整有效的权重。然而,LSTM仍受限于短时记忆容量,因为保存当前序列的过去的短时记忆容量为
一些研究者表明神经网络可有益于第三种形式的记忆,它比一般的神经活动有更高的存储容量,但比一般的“慢”权重有更快的动态特性。该记忆可针对当前序列的过去保存信息,使该信息能在未耗尽隐含活动的记忆容量的同时影响当前过程。
尽管有力的生理学依据表明存在其它形式的记忆,且有明显的需计算它的理由。然而意外的是,直到最近,循环网络中其它形式的记忆几乎没有研究。
2 瞬时记忆可能不被存为神经活动的生理学依据
处理诸如工作记忆,注意力和启动(priming)的过程的时间跨度为100ms至几分钟。无动态吸引子状态的神经激活调整这些过程会过慢,而长时的突触可塑性机制生效过快。人工神经网络通常侧重研究在激活的动态特性中保持瞬时状态的方法,而激活的动态特性可能与大脑通过短时的突触可塑性机制来保持瞬时状态的依据不一致。
大脑应用各种中间时间尺度上的短时可塑性机制。例如,去极化的轴突终末中残余的钙离子 [Ca2+] 促进短时记忆,而突触前神经递质会抑制短时记忆。短时时间尺度上涉及依赖尖峰-时间的可塑性。所有这些可塑性机制都是针对突触的。因此,使用容量为 O(H2) 的记忆要比一般的循环人工神经网络和长短时记忆具有的 O(H) 的记忆容量来建模更加精确。
3 快速的联想记忆(Fast Associative Memory)
19世纪70年代和19世纪80年代时的神经网络研究的主要关注点之一为记忆不是以某种方式来复制和保留神经活动的模式。相反,当需要存储在关联网络的权重中的信息时,神经活动的模式会被重建,且完全相同的权重能够保存很多不同的记忆。一个具有
N2
个权重的自联想记忆只能保存
N
个实数向量,其中每个实数向量有
与神经图灵机,神经堆栈或记忆网络假定的记忆类型相比,快速关联记忆有下面几个优势。首先,我们一点也不清楚真正的大脑是如何在这些模型中应用更为奇特的结构,如神经图灵机中的磁带(tape)。然而我们清楚大脑能够应用具有适当动态特性的突触中的快速关联记忆。其次,快速关联记忆中无需决定何时何处写入或读取记忆。快速记忆一直更新,且写入叠加在每个突触的快速变化强度相同的部分。每个时间步上输入变化时,三个信息来源决定新隐含状态的转换:经过慢的输入-输出权重的新输入
C
,经过慢的转换权重
很多人将“attention”译为注意力。这里,如果“attention to the recent past”直译为“对近过去的注意”,本宝宝感觉还是有点生硬,所以不妨改为关注。
快速权重矩阵的更新规则
A
,仅用衰减率
下一时间步上的隐含活动向量
h(t+1)
分两步计算。输入向量
x(t)
和以前的隐含向量
h(t)
的联合影响来决定“初级”向量
h0(t+1)
:
h0(t+1)=f(Wh(t)+Cx(t))
,其中
W
和
其中,
[.]
中的项为持续的边界条件。真实的神经网络中,可通过快速变化的突触应用
A
,但计算机模拟时所用的序列比
原文中的快速权重矩阵:
A(t)=η∑τ=1τ=tλt−τh(τ)h(τ)T
虽推导的结果与原文不一致, Jimmy 先森本来可能是想推 A(t+1) ,因为后面原文提到的当前时间步是指时间步 t+1 。但个人觉得,由于 λ 是衰减率,衰减率本身是可调整的参数。换句话说,假设 λm1=λm+12 。实际应用时,只要两个衰减率设置合理,使用哪个都没有关系~
方括号中的项仅是迭代的内循环中,过去的隐含状态向量 h(τ) 与当前时间步的隐含状态向量 hs(t+1) 的标量积。所以,当前时间步的隐含向量经过衰减因子加权,然后与过去的隐含向量们作标量积。内循环的每次迭代,快速权重矩阵等价于关注与该标量积成正比的过去的隐含向量。此时,更加关注过去的隐含状态,这些过去的隐含状态设法吸引当前的隐含状态。
用快速权重矩阵和比较一系列保存的隐含状态向量之间的等价有助于计算机模拟。使得训练时,必须放弃使用小块(mini-batches)时,不用因此引起巨大损失的情况下,可去发现用快速权重完成了什么。乍一看,不能够用小块,因为每个序列有不同的快速权重矩阵;但比较一系列保存的隐含向量可使用小块。
3.1 层归一化的快速权重
快速关联记忆的潜在问题是两个隐含向量的标量积可能会消失或爆炸,这取决于隐含向量的模。最近,层的归一化在稳定RNNs中的隐含动态特性和减少训练时间上显得非常有效。特定时间步上,累加所有循环单元的输入得到一个向量,对该向量做层的归一化。层的归一化使用该向量每个元素的均值和标准差,来重居中和重缩放那些累加后的向量。然后,应用非线性前,包括一个针对神经元学到的偏置和增益。对快速关联记忆使用层的归一化:
方括号的位置与前面不同,个人觉得后面的更为正确。所以,不知为何持续的边界条件会有这样的考虑。
其中, LN[.] 表示层的归一化。发现内循环的每次迭代上用层的归一化,使得快速关联记忆比选择学习率和衰减的超参数更加鲁棒。本文剩余部分,用层的归一化和外积学习规则来训练快速权重模型。此时,除非另有说明,快速学习率设为 0.5 ,且衰减率设为 0.95 。
4 实验结果
为表明快速关联记忆的有效性,首先研究关联检索和MNIST分类问题。将快速权重模型与一般的RNNs和LSTM变种比较。然后在面部表情识别任务中使用快速权重,采用一个快速关联记忆模型来保存某一粒度水平上的结果,同时在更精细粒度水平上检查序列的细节。验证集上网格搜索来选择实验的超参数。用 128 大小的小块和Adam优化器来训练所有的模型。训练方案与超参数设定的描述见附录。最后,快速权重也能有效应用于具有记忆的增强学习智能体。
4.1 关联检索
提出的保存与恢复瞬时记忆的方法首先对一些小任务效果不错。考虑一个任务,一个序列中出现多个键值(key-value)对。序列的末尾出现其中一个键,模型要预测与该键瞬时关联的值。所用的字符串包括英文字母和数字
0−9
。从英文字母表中不放回地随机采样字母来创建训练序列。先采样第一个键。然后采样单个数字作为关联该键的值。生成
K
个键值对组成的一个序列后,从
其中,
?
是用于分开键值对和查询的标记。生成
该实验用一个单循环层的神经网络。循环网络在每个时间步上处理输入序列的一个字母。输入字符先转换成一个 100 维的嵌入向量,然后将输入送入循环层。序列末端循环层的输出再送入另一个 100 个ReLUs的隐含层,最后经过Softmax层输出。用快速关联记忆扩展ReLU RNN,并与相同结构的LSTM模型比较。尽管原LSTMs没有显式的长时记忆容量,近期有工作添加复杂的关联记忆来扩展LSTMs。本实验比较了快速关联记忆与LSTM的两个变种。
图
2
和表
4.2 综合视觉注意力模型中的瞥见(integrating glimpses)
为避免大家生疏,后面“attention model”译为常听到的“注意力模型”。
尽管卷积神经网络有诸多的成功,但它们的计算代价高,且学到的表示难以解释。最近的研究显示视觉注意力模型可克服卷积网络的某些限制。我们可以通过查看模型注视的位置来理解方法用了什么信号。并且,视觉注意力模型能有选择地关注视觉空间重要的部分,并避免进一步处理很多背景混乱。本节,视觉注意力模型用快速权重来保存物体的局部,尽管用到的有限的瞥见集合并不对应物体的自然局部。
给定输入图像,视觉注意力模型在图像的区域上计算瞥见序列。模型不仅决定下一时间步注视哪里,而且在模型的记忆中记住已看到的信息,使得模型能够在之后正确分类。视觉注意力模型可在很大的静态输入图像中寻找多个物体并正确分类,但学到的瞥见策略却过于简单:视觉注意力模型仅用单尺度的瞥见,且它们往往以固定的方式扫描整个图像。人眼的运动和眼球固定要远远复杂。不同尺度上关注整个物体不同局部的能力使人类在很多不同尺度上的网络权重中可应用完全相同的知识,但它要求某些形式的瞬时记忆,这些记忆使网络能在一系列的瞥见中综合所发现的内容。增加模型记忆最近的瞥见有助于视觉注意力模型发现不平凡的瞥见策略。因为快速权重能保存序列中所有的瞥见信息,所以,可摆脱隐含活动向量来学习如何巧妙地综合视觉信息,并为最终的分类器检索合适的记忆内容。
为明确验证更大的记忆容量有益于基于注意力的视觉模型。按如下方式简化学习过程:首先,提供一个预定义的瞥见控制信号,使模型明白往哪里关注,而不是通过增强学习来学习控制策略。其次,引入另一个信号至记忆单元,使模型明白何时保存瞥见信息。因需同时学习策略网络和分类器,一个典型的视觉注意力模型很复杂,且效果差异大。简化的学习过程使我们分清哪些改进的效果来自于用快速权重来记忆近过去。
考虑一个简单的循环视觉注意力模型,该模型与之前实验用到的RNN的结构相似。它并未预测往哪儿关注,而是给出一个长度固定的位置序列:用两个相邻尺度递归地将静态输入图像分成
4
个不重合的子图像。
蓝框部分指出同一尺度上,视觉注意力模型应该往哪儿关注。此时,慢的权重起作用。
绿框部分指出粗粒度的尺度上的局部图像(半脸)与细粒度的尺度上的局部图像(左耳)的综合过程。 A(t) 保存的是从粗粒度到细粒度的注意力转换权重。具体地,假设绿框中输入为表示半脸的隐含状态,输出为表示左耳的隐含状态。那么, A(t) 保存的是将注意力从较大区域集中到较小区域的转换权重。
上图仅显示了 1 个A(t) 的转换结果,多个相同的 A(t) 按图 1 的方式连接,可获得更加深入的注意力。
在MINIST手写数字数据集上评估多层视觉注意力模型。MNIST是衡量很多其它技术的一个备受研究的问题。它包含
比较带快速关联记忆的ReLU RNN与获得相同瞥见序列的LSTM,见表 2 。结果再次表明,当隐含单元数目有限时,快速权重相比于其它模型有显著的提高。当增加记忆容量时,多层快速关联记忆的分类准确度持续高于LSTM。
与综合瞥见序列的模型不同,卷积神经网络同时处理所有的瞥见,并用隐含的层保存所有的中间计算结果。将视觉注意力模型瞥见到的图像块用于一个
4.3 面部表情识别
为进一步研究多层视觉注意力模型中使用快速权重的好处,在CMU Multi-PIE 面部数据库上实现面部表情识别。配准眼部和鼻子的基准点来预处理数据集,下采样后得到
给定输入面部图像,目标是将每个人的面部表情分为
6
类:平静的,微笑的,惊讶的,斜视的,恶心的,尖叫的。该任务比MNIST更有挑战性。该数据集不仅标签数目不平衡,一些表情(诸如恶心与斜视)也难以区分。在不同光照条件和视角来泛化模型。与MNIST一样,使用多层注意力模型,该模型包含
从表 3 可看出,多层快速权重模型明白何时保存信息,效果要好过LSTM和IRNN,与前面MNIST的实验结果一致。然而,卷积网络在该近正脸数据集上表现优于多层注意力模型。我们认为卷积网络在处理的每层同时结合所有的信息,其中的权重共享与结构工程使卷积网络在该任务上泛化性更好。使用固定和预先设定的策略来确定模型往哪儿看,消除了多层注意力模型的一个主要的潜在优势:模型可在忽略大多数不相关细节的同时,在更高分辨率上处理更多的细节。为实现该优势,需结合快速权重与复杂策略的学习。
4.4 具有记忆的智能体(agents)
有监督学习中不同的记忆与注意力被广泛研究。增强学习中学习长程依赖的模型却少有关注。
“Catch”游戏上来比较不同的记忆结构,但仅观察游戏的局部图像。游戏运行在
“打砖块”游戏的局部观测实验。
用最近提出的异步的动作评价方法,在不同局部图像大小的局部观测任务上用三类记忆来训练智能体。
5 结论
本文对机器学习的贡献是引入一种机制使RNNs在不同任务上的表现更好。该机制吸引隐含单元的每个新状态至最近的状态,最近的状态正比于当前状态的标量积。层的归一化使这种注意力网络表现更好。这种对近过去关注的形式,类似于近期机器翻译中大幅提高序列到序列的RNNs的注意力机制。
本文对计算神经科学和认知科学有有趣的暗示。人类能对整个序列和序列内的嵌入分句,或对一个复杂物体和该物体的主要部分,递归使用相同的知识和处理的结构。该能力被长期用于争议神经网络不善于建模更高层的认知能力。对近过去的关联记忆应用快速权重,显示如何脱离神经元的状态来递归使用神经网络连接中的知识。这克服了模型仅能通过复制和保存神经活动向量来实现递归这一异议,该模型在生物学上也不可行。
小结
文章整体感觉写得很仓促,但有很棒的观点,深度学习相关文章中的一股清流。实验部分并未在公共数据集的性能上花多少心思,但已达到实验目的。且与卷积网络和视觉注意力网络的研究角度明显不同。佩服~ ԅ(¯﹃¯ԅ)