以及相关问题 What is the sum of the 2 numbers 。既然中间句子对手边问题绝对没有影响,但是,重置和刷新门会让网络在某种意义上“忘记”中间的句子,并学会只有特定信息(这个例子中的数字)才应修改隐藏状态。 长短期记忆单元(LSTM) 如果你对GRU 已经很了解了,那理解LSTM对你一定不会太难 。一个LSTM也是由一连串的门(gate)组成。
当然, 这里面涉及到更多的知识。 不过因为LSTM可以理解为GRU的衍生物,我将不会过多的分析,但如果你想更深入的了解每个门, 每个计算,你可以点击查看Chris Olah 写的一篇超棒的博文: 。这篇文章是目前关于LSTM最受欢迎的教程,并且一定对你们这些想要知道其背后的工作原理的人提供很大的帮助。 比较和对比 LSTM 与 GRU 让我们先从相似点出发。 两者的单元组件都有一个能够记录长时间的词与句子之间依赖关系的特殊函数。 这种长期依赖性, 指的是在一些情况下, 两个词或者词组可能在不同的时间点出现,但两者间的关系对实现最终目标十分关键。 LSTM 和GRU 能够通过一些门(gate)来忽略或者保留语句中的某种信息,从而捕捉这些依赖性。 两者基本单元的不同处在于, 它们拥有的门(gate)的数量(GRU有两个, LSTM有三个)。这一点将影响到输入能够传递的非线性关系个数, 并且最终影响到总体的计算。 另外,GRU并没有和LSTM的记忆单元(C_t)一样的记忆单元。 在阅读论文之前 这部分只是想快速做个提示:还有其它的深度模型对NLP有用。在实践中有时使用循环神经网络和CNN,但却不像RNN 这么流行,它是大部分深度学习NLP系统的支柱。现在,我们已经对NLP与深度学习的关系有了足够了解,接下来看几篇论文。由于NLP领域有不同的问题(从机器翻译到问答系统),所以圈内有大量可以看的论文,但我在此文章中发现了3篇很有洞见的论文。2016年NLP领域有了极大的发展,但我们先从2015年的一篇论文开始说起。 记忆网络(Memory Networks) 论文:https://arxiv.org/pdf/1410.3916v11.pdf 介绍 我们首先要讨论的第一篇论文, 在问答系统这一子领域很有影响力。 这篇论文由Jason Weston, Sumit Chopra以及 Antoine Bordes撰写,介绍了一类名为memory networks 记忆网络的模型。 这一想法来自于当你想要精准地回答一个关于一篇文本的问题, 你必须要记住该文本大致的内容。如果我来问你一个问题“RNN表示什么’”(在你已经完全阅读了这篇博文的前提下) 你就一定能告诉我答案。 这是因为你通过阅读、存储记忆,已经吸收了这些知识。你只需要简单的花几秒钟去定位这条信息, 然后把它用通顺的语言表达出来。 目前, 我并不知道大脑是如何做到的, 但需要地方去存储信息的这一想法一定是存在的。 这篇论文描述的记忆网络有些特别,因为它含有一个联想记忆(associative memory )。这种联想记忆能够读写。 值得注意的是我们在CNN或者Q网络(用于强化学习)或者其它的传统网络中并不能找到这种类型的网络。这有部分是因为问答任务很大程度上依赖于系统能够建模或者追踪长期的依赖关系,比如在一个完整的故事中记录一个人物的进展,或者记录时间轴上的重要事件。在CNN或者Q网络中, 记忆模块被植入在网络的权重体系中,因为网络需要能够学习不同的滤波器或者将状态映射到动作上。 初看, RNN和LSTM可能能用来实现这一记忆功能, 但它们通常不能记住来自过去的输入, 而这对于问答系统是至关重要的。 网络架构 好的,让我们看看这个网络是如何处理给定的最初文本的。和几乎所有的机器学习算法一样,首先将输入转变成一个特性表征。这需要用到词向量、词性标注、解析等,这些是由程序员决定的。
下一步就是提出特征表征I(x),并允许我们的记忆 m 进行更新,从而反映出我们已经接收到的新输入 x。 (责任编辑:本港台直播) |