查看原文
其他

【源头活水】使用具有外部记忆的神经网络模型对上下文和结构化知识进行对话

“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

来源:知乎—徴羽
地址:https://zhuanlan.zhihu.com/p/381874953

论文标题:Dialogue over Context and Structured Knowledge using a Neural Network Model with External Memories
论文来源:https://aclanthology.org/venues/aacl/

论文链接:https://aclanthology.org/2020.knlp-1.2.pdf


01

论文摘要

可微神经计算机(DNC)是一种具有可寻址外部存储器的神经网络模型,可以解决算法和问题回答任务。DNC有多种改进版本,如rsDNC和DNC-DMS。然而,如何将结构化知识整合到这些DNC模型中,是一个具有挑战性的研究问题。作者将知识体系结构合并到此类 DNC 模型中,即DNC、rsDNC和DNC-DMS,以提高使用上下文信息和结构化知识生成正确响应的能力。作者改进的rsDNC模型将需要对话bAbI任务知识的任务的平均精确度提高了约20%。此外,作者改进的rsDNC和DNC-DMS模型在Movie Dialog数据集中的性能也比原来的模型好。


02

简要介绍

近年来,深度神经网络在计算机视觉、自然语言处理等各种任务的复杂模式匹配方面取得了显著的进展。然而,这些模型在表示数据结构(如图形和树)、使用变量和处理长序列表示的能力方面受到限制。循环神经网络(RNNs)可以捕获序列数据的长范围依赖性,也被称为图灵完备(Siegelmannand和Sontag,1995),因此,如果连接正确,RNNs能够模拟任意过程。然而,RNNs需要解决消失梯度问题(Bengio等人,1994)。长-短项记忆(LSTM)体系结构通过将选通机制引入RNN体系结构,并通过在每个time-step将选通值与元素相乘来计算梯度来解决这个问题(Hochreiter和Schmidhuber,1997)。由于序列到序列模型(Sutskever等人,2014)和attention机制(Bahdanau等人,2014;Luong等人,2015),LSTMs变得相当成功,并且有助于超越传统模型。然而,基于LSTM的模型并没有真正解决深层神经网络的局限性所带来的问题。

另一方面,在冯诺依曼体系结构中,程序可以通过三种基本机制运行:一个执行简单算术运算和逻辑运算的处理单元,一种接收控制流指令(如顺序执行、条件分支和循环)的控制单元,以及在计算过程中写入和读取数据和指令的存储器单元(Neu-mann,1945)。这种体系结构可以表示复杂的数据结构并学习执行算法任务。它将处理器(即处理单元和控制单元)的计算和记忆分离,而神经网络将计算和记忆混合到网络权重中。为了提高标准神经网络的性能,Graves等人(2014)提出了一种具有可寻址外部存储器的神经网络模型,称为神经图灵机(NTM)。整个网络体系结构是可微的,因此可以进行端到端的训练,包括如何访问内存。此外,Graves等人(2016)改进了内存访问机制,提出了可微神经计算机(DNC)。它解决了结构化数据上的算法任务,如路线图的遍历和最短路径任务以及家族树的引用任务。在有前提的问答实验中,输入序列被写入内存中,从内存中读取推断答案所需的信息,从而表示变量。DNC还可以通过动态记忆访问机制学习长序列。有各种改进的DNC版本,如rsDNC(Franke等人,2018)和DNC-DMS(Csordas和Schmidhuber,2019)。

然而,如何将结构化知识整合到这些DNC模型中仍然是一个具有挑战性的研究问题。本文研究了如何将结构化知识整合到DNC模型中。作者将单内存单元DNC模型扩展到一个利用上下文和结构化知识信息的多内存体系结构。添加了一个额外的内存单元,对知识库中的知识进行编码。与RNN相比,DNC的内存增强允许在长时间尺度上显式存储和操作复杂的数据结构(Franke等人,2018)。作者的主要贡献如下:

1. 作者将知识记忆体系结构纳入DNC模型,提高利用上下文信息和结构化知识生成正确答案的能力。

2。作者改进的rsDNC模型将对话bAbI任务中需要知识的任务的平均准确率提高了约20%(Bordes和Weston,2016)。

3. 此外,作者改进的rsDNC和DNC-DMS模型也比电影对话数据集中的原始模型具有更好的性能(Dodge等人,2016)。


03

可微神经计算机(DNC)

可微神经计算机(DNC)是一种与外部存储器矩阵耦合的神经网络  ,如图1所示,它使用attention机制来定义记忆矩阵M中N个位置的权重,表示应该主要读取或写入哪些位置。

图1

对于读取操作,读取向量r通过应用读取加权  覆盖存储器M被计算为内存位置上的加权和.

其中’.’表示所有的j= 1, ..., W。
对于写操作,存储器M被修改为使用写加权  ,首先用一个擦除响亮e对其进行擦除,然后添加一个写向量v。

权重由以下三种attention机制定义:
1. 基于内容的寻址:将关键向量与记忆中每个位置的内容进行比较,并计算相似度得分,以定义关联回忆的读取权重或修改记忆中相关向量的写入权重。
2. 时间记忆链接:记录跟踪连续写入的内存位置,以便能够按照写入位置的顺序读取序列。
3. 动态内存分配:通过表示每个位置的使用程度,释放和分配写入所需的内存,每次写入时可以增加,每次读取和重新分配内存后可以减少。
整个系统是可微的,可以用梯度下降法来学习。
最近有人提出了一种改进的DNC模型,如rsDNC以及 DNC-DMS.
rsDNC:专注于QA任务,Franke等人(2018)将DNC扩展为更具鲁棒性和可扩展性的(rsDNC),有以下四个改进:(1)仅使用基于内容的内存单元以减少内存消耗和训练时间;(2)应用层标准化降低不同运行之间的性能差异;(3)采用旁路丢弃技术,增强了存储单元的效果;(4)采用双向结构,对输入序列进行信息量更大的编码。
DNC-DMS:针对DNC存在的三个问题,提出了一种改进的DNC-DMS模型。首先,缺少键值分离使得基于内容的地址分布平坦,并阻止模型访问内存的特定部分。通过屏蔽查找键和存储内容中的不正确部分,可以动态地控制键值分离。第二,内存释放机制不会影响对基于内容寻址的内存内容。因此,DNC-DMS建议完全擦除内存内容。最后,使用时序链接矩阵将多个读取链接起来,会使地址分布呈指数级模糊。指数化和重新标准化的分布减少了指数模糊的影响,提高了清晰度的链接分布。
虽然这些方法比原来的DNC模型有了很好的改进,但是没有一个方法能够明确地将结构化知识整合到DNC中。

04

方法
通过添加额外的内存体系结构来存储结构化知识,作者扩展了三个模型:DNC、rsDNC和DNC-DMS。因此,作者提出的模型由一个控制单元和两个存储单元组成。一个记忆单元在对话中存储上下文信息,作者称之为“上下文记忆”。另一个存储单元存储知识边缘信息,我们称之为“知识记忆”。与原DNC模型的不同之处在于引入了知识记忆并增加了对知识记忆的操作。图2显示了作者基于DNC的模型概述。
每个时间步骤t的程序描述如下:

图2 基于DNC的模型概述

1. 控制器(RNN)接收一个输入向量  (由一组R读取由上下文记忆矩阵在前一个time-step中得出的向量),然后输出一个隐藏向量  。
2. 通过对  进行线性变化,得到了输出向量  ,其中向量用于表示上一个time-step的上下文记忆,向量用于表示知识记忆。W表示可学习权矩阵。
3. 对上下文记忆的写操作是使用基于DNC的模型概述 执行的,并更新它的状态。但不执行对知识记忆的写操作。
4. 最后,将当前  与  相乘得到的向量和当前  与  相乘得到的向量相加得到输出向量  。

读向量  和  将在下一个time-step被附加到控制器输入。对两个存储器的读写操作是通过重复上述过程来执行的。
为了构建此模型中使用的知识存储单元,作者首先在知识库(KB)上运行原始DNC模型。然后作者使用预先训练好的记忆单元作为作者提出的模型中的知识记忆单元。
知识记忆构建:作者用知识库(KB)构建了一个知识存储单元。知识库中的事实有一个资源描述框架(RDF)三层结构(子对象subject、关系relation、对象object)。例如,这样的信息“Washington, D.C. is the capital of the U.S.” 可以表述为(the U.S., capital,Washington, D.C.)。作者应用了原来的DNC模型,它只有一个内存,通过给模型一个三元组的所有三个组成部分和一个三元组的任意两个组成部分,然后让模型学习返回一个三元组的另一个组成部分来学习KB事实。例如,当模型的输入是‘‘ the U.S.’’, ‘‘capital’’, ‘‘ Washington, D.C.’’, ‘‘the U.S.’’以及‘‘capital’’,输出则为‘‘ Washington, D.C.’’。该模型是使用所有三倍的知识库和生产存储整个知识库的内存单元。在作者提出的模型中,作者使用这个预先训练好的记忆单元作为知识记忆单元。作者训练了以512  128为记忆维数的DNC模型,因为作者提出的模型的结果比作者同样使用256 X 64个记忆维度进行训练时要好,这与作者提出的方法中的上下文记忆维度相同。上下文存储器只存储数据集中的每个对话内容,而知识存储器存储知识库的全部内容,因此知识存储器需要大于上下文存储器是合理的。作者使用TransE(Bordes等人,2013)的单词嵌入来评估模型的准确性。

05

实验
作者在两个对话数据集上评估了这种加入知识库的方法,即对话bAbI任务(Bordes和Weston,2016)和Movie Dialog数据集(Dodge等人,2016)。两个数据集都需要上下文以及知识背景,并提供特定领域的对话数据和RDF三元组数据来回答对话中的问题。
5.1 实施细则
所有模型的超参数主要基于DNC的原始论文(Graves等人,2016)。作者使用一层LSTM(Hochreiter和Schmidhuber,1997)训练所有模型,其中隐藏层大小为256,批次大小为32,学习率为  语境记忆维度256×64,知识记忆维度为512×128,四个读磁头,一个写磁头。作者使用RMSProp优化器(Tieleman和Hinton,2012),动量为0.9。rsDNC模型的dropout概率为10%。作者使用TransE(Bordeset al.,2013)表示知识库中的单词嵌入,使用GloVembeddings(Pennington等人,2014)表示知识库中没有出现但出现在日志中的单词,如“the”和“what”(Sahaet等人,2018)。每个单词嵌入向量的维数是200。如果验证集的结果连续删除10个历元,并且模型在训练过程中重复5次,作者就停止训练。在不同的随机初始化条件下对每个模型运行三次,并报告平均结果。
5.2 对话bAbI任务
结果:在表1中,作者给出了所有模型在三次不同试验中的平均每反应准确率。为清楚起见,我们使用以下符号:DNC是原始的DNC模型,rsDNC是由Franke等人提出的,DNC-DMS有三种修改(即取消分配机制、基于内容的屏蔽寻址和锐度增强),以及 DNC-MD(DNC-DMS模型的一种变体)只有屏蔽和取消分配修改。带有“+KM”符号的模型是作者提出的带有附加知识记忆单元的DNC模型。

DNC+KM在完整对话框和OOV任务上都优于原来的DNC。表2显示了详细的结果,将不需要知识库事实就可以回答的任务和需要知识库事实来回答问题的任务分开。在测试集中,w/o KB facts任务包含12351个句子,w/KB facts任务包含3912个句子。虽然DNC和DNC+KM在w/o KB facts任务中的得分相同(99.9%),但在w/o KB facts任务中的得分显著提高了14.45%,其中DNC和DNC+KM模型的准确率分别为29.53%和43.98%。

其中w/o KB facts表示不需要KB事实就可以回答的任务,w/KB facts 表示需要KB事实来回答的任务。

rsDNC+KM综合性能最好,在w/o KB factst任务上提高了19.52%,其中rsDNC和rsDNC+KM模型的准确率分别为68.66%和49.14%。以rsDNC+KM模型为研究对象,我们将每个时间步的读/写注意权重结果可视化,以考察该模型对存储器的写操作和对存储器的读操作。
以一个成功例子为例,其中模型的输出都是正确的,如表3所示。
当模型接收输入序列时,它不返回任何内容,当没有输入时,它生成响应,换句话说,当输入序列是“can, you, make,a, restaurant, reservation, in, paris, -, -, -”,输出序列是“-, -, -, -, -, -, -, -, i’m, on, it”('-'是一个填充词)。
5.3 电影对话任务
结果:表5显示了该数据集在三个不同的多重模型和作者提出的模型下运行的结果。

虽然DNC+KM和DNC-MD+KM比它们相应的原始模型更糟,但是在rsDNC+KM和DNC-DMS+KM这两方面的表现都比他们原来的模型好。以及通过实验,作者认为rsDNC模型在处理长序列时存在困难。

06

相关工作
Rae等人(2016)介绍了稀疏DNC(SDNC)和一种稀疏内存访问方案称为稀疏访问内存(SAM)。SAM控制稀疏子系统中的内存修改,并使用有效的数据结构进行基于内容的修改,因此内存大小不会影响内存消耗。Ben-Ari和Bekker(2017)提出了一种可微分配机制,以取代DNC的不可微排序功能,缩短训练时间。作为带记忆的神经网络的不同方法,动态记忆网络(DMN) (Kumar等人 2015)、DMN+ (Xiong等人 2016),以及端到端内存网络 (Sukhbaatar等人 2015)被主要列出,这些方法是将感觉储存在内存中,并通过attention机制查找相关句子来回答问题。关系记忆网络(RMN)(Moon等人,2018)使用MLP对外部存储器进行多跳访问,以找出相关信息。与上述模型相比,我们的模型显式地结合了存储结构化知识的内存体系结构。键值记忆网络(Miller等人,2016)是基于端到端内存网络 (Sukhbaatar等人 2015)并利用关键价值结构来操作内存。这种结构使得模型能够灵活地对知识源进行编码,解决了阅读文档和使用知识库之间的差距。Saha等人(2018)创建了复杂顺序问答(CSQA)数据集,该数据集由连贯链接的问题组成,这些问题可以从大规模知识库中得到回答。他们结合了分层循环编码器去编码器(HRED)模型(Serban等人,2015)和键值记忆网络模型(Miller等人,2016)来解决他们的CSQA数据集。与这些模型不同的是,作者提出的模型不需要预先提取与查询相关的知识库事实,并且能够以可微的方式学习模型应该提取哪些知识库事实。

07

总结
作者在三个DNC模型 DNC、rsDNC和DNC-DMS中加入了知识记忆结构,并通过实验分析了知识记忆结构的加入对需要背景知识的对话任务的影响。作者提出的DNC+KM、rsDNC+KM和DNC-MD+KM模型在对话bAbI任务数据集中的完整对话任务上的表现优于原始模型。特别是,每个模型在需要KB事实的任务上分别获得了大约14%、20%和7%的改进。在电影对话数据集中,作者的rs-DNC+KM和DNC-DMS+KM比它们原来的模型表现得更好。

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“源头活水”历史文章


更多源头活水专栏文章,

请点击文章底部“阅读原文”查看



分享、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存