Relational recurrent neural networks
Adam Santoro, Ryan Faulkner.2018
引言
在神经网络研究中,许多序列数据建模方法使用存储系统,如LSTMs和记忆增强神经网络。但标准内存架构可能会在大量涉及理解实体连接方式的任务上遇到困难,即涉及关系推理的任务。
作者提出在存储和检索的同时要考虑内存交互。通过使用一个新的内存模块——一个关系内存核心(RMC)——来改进模型,该模块利用multi-head dot product attention(MHDPA)来允许内存进行交互。
关系推理
定义:关系推理可以看作是理解实体连接方式的过程,并利用这种关系来实现一些更高阶的目标。
一系列neural network inductive biases可以用关系推理的语言来表达。
卷积核可以说是计算接收感受野内实体(像素)的关系(线性组合)。
消息传递神经网中,节点表示实体,消息传递函数作为连接节点的边(关系)。
在时域中,关系推理可以包括比较和对比在不同时间点看到的信息的能力。作者认为attention机制隐式地执行某种形式的关系推理;如果先前的隐藏状态被解释为实体,那么使用attention计算实体的加权和有助于消除普通RNN中存在的局部性偏差,使得信息的embedding之间的交互更加基于内容,而不是时序位置。
模型
设计原则:提供一个体系结构支柱,模型可以在此基础上学会划分信息,并学会被划分之后的信息的交互计算。从LSTMs、内存增强神经网络和非局部网络中组装构建块,设定一个记忆槽位的固定集合,允许记忆槽之间的交互使用attention机制。本模型仅考虑单个时间步上记忆槽位的交互,而非之前所有时间步上的表示。
模型图:
记忆矩阵M的每一行代表每一个被划分的记忆槽位,并通过multi-head dot product attention(MHDPA)完成记忆间的交互。每一行的记忆都可以根据对其他所有记忆的attention结果更新自身内容。
对记忆矩阵进行线性映射,构成query()、key(
)和value(
)。用query在key上做点乘attention,得到的权重可用于对V做加权平均。
操作公式:
上述操作的结果与输入矩阵
同型,并可视为
的更新,因为
的每一行都已包含了其他记忆单元的信息。
在每个时间步接收到新的输入时,记忆都需要重新编码。假设是随机初始化的矩阵,只需简单修改(1)式即可完成对输入信息的结合:
其中表示
和
的行拼接。
可以通过先随机初始化,再用
进行每一步的更新来引入循环。这样的循环特性可以使得模型适合嵌入到LSTM的细胞架构之中。如果将
视为细胞状态的矩阵(记为
),则时间循环下的记忆交互操作可以嵌入到典型的2D-LSTM中( 下标中的
表示行,
表示时间步):
函数表示对当前时间步MHDPA记忆交互模块输出进行处理的门函数(称为记忆门)。
实验
本文分别在监督学习、强化学习和语言模型的场景下应用所提出的关系记忆核(RMC)。
监督学习:
N^th Farthest的任务被设计用来强调跨时间的关系推理能力。输入是一个随机采样的向量序列,目标是一个问题的答案:“距离向量m的第n个向量(欧几里得距离)是什么?”
考虑到代码片段涉及变量的符号操作,我们认为它可能会影响模型的关系推理能力;由于符号运算符可以被解释为在操作数上定义关系,成功的学习可以反映对这种关系的理解。
强化学习:
迷你Pacman With Viewport的任务中特工在被鬼魂追赶时,在迷宫中搜寻食物。但是,我们用一个视区来实现这个任务:围绕包含感知输入的agent的5×5窗口。agent必须预测记忆中鬼魂的动态,并相应地计划其导航,也必须基于记忆中关于哪些食物已经被提取的信息。
语言建模
基于单词的语言建模任务。给出一个观察词序列,我们建立一个词
的条件概率
的模型。作为一个顺序推理任务,语言建模允许我们评估RMC在大量自然数据上处理信息的能力,并将其与调优的模型进行比较。
本文分别使用WikiText-103数据集、Project Gutenberg书籍语料和GigaWord v5新闻语料,上述数据集具有足够数量的训练样本和不同的行文风格。
结果:
N^th Farthest任务中,在16维向量输入训练时,LSTM和DNC基线与RMC之间存在明显差异。LSTM和DNC模型的最佳批处理精度均未超过30%,RMC在训练结束时始终达到91%。
迷你Pacman With Viewport任务中,迷你Pacman中,RMC比LSTM多获得大约100分(677比550),并且在完全观察的情况下,RMC的性能几乎是LSTM的两倍(1159比598,图10)。
语言建模任务中,对于所有的三个语言建模任务,当使用RMC时,我们观察到较低的困惑度(perplexity),与最好的发表结果相比,困惑度下降了1.4- 5.4。虽然很小,但这构成了5%-12%的相对改进,并且效果在不同规模和风格的语料上保持稳定。
实验表明,RMC相比于普通LSTM消耗更少的数据,取得相似的效果。
结论
许多其他方法通过使用先前状态不断增长的缓冲来成功地对序列信息建模。然而,当这些模型的时间步长很大时,这些模型存在严重的缩放问题。尽管如此,我们相信也许模型在一段时间内无损失地积累记忆,然后在处理后续块之前学会在循环核心中压缩它。
作者提出通过明确地允许记忆通过MHDPA相互作用、与输入交互,或者两者都相互作用,在需要关系推理的任务中,表现可以得到改善。新的RMC结构允许记忆矩阵中的记忆槽位进行交互,改进了关系推理能力。
作者的模型有多种机制来形成和允许内存向量之间的交互:将内存矩阵按行划分为槽,按列划分为头。每种方法都有自己的优点(计算时隙共享参数,而拥有更多的磁头和更大的内存大小则利用更多的参数)。
关于多种交互机制,实验结果中有很好的证据:首先,在N^th Farthest任务中,只有一个内存槽的模型在注意力集中时表现得更好,尽管在所有情况下,它的表现都比有许多内存槽的模型差。其次,在语言建模中,模型使用单个内存槽。此外,在程序评估中,有的中间解决方案在子任务(4个插槽和磁头)中运行良好,尽管有些在1个内存中表现最好,有些在8个内存中表现最好。作者强调内存数量和单个内存大小之间的有趣权衡,这可能是可以调整的任务特定比率。
总之,我们的结果表明,记忆交互的显式建模提高了强化学习任务的性能,同时实验数据也证明了在递归神经网络中关系推理能力的价值。