肯定有更多的信息需要采集。因为这可以被认为是 GRU 背后的想法的延伸,我不会进行深入地分析。如果你想对每一个门和每一步计算进行深入地演算,请查看 Chris Olah 的一篇非常好的博客文章:。这是迄今为止,在 LSTM 上最受欢迎的教程,它一定会帮助你理解这些单元工作的这么好的原因和其工作方式。 LSTM 和 GRU 的比较 让我们从两者相似之处看起。这两种单元具有能够保持序列中字的长期依赖性的特殊功能。长期依赖性指两个词或者短语可能会在不同的时间段出现的情况,但是它们之间的关系对于解决最终目标仍然至关重要。LSTM 和 GRU 能够通过忽略或者保持序列中的某些信息的门来获取这些依赖性。 两个单元之间的差异在于它们所拥有的门的数量(GRU – 2, LSTM – 3)。这影响了输入通过的非线性数,并最终影响整体计算。GRU 也不具有与 LSTM 相同的记忆单元(ct)。 看论文之前 只是做一个快速的注释。还有一些其他的深度模型在自然语言处理(NLP)当中很有用。递归神经网络(recursive neural networks)和用于自然语言处理(NLP)的卷积神经网络(CNN)有时会在实践中应用,但不像循环神经网络(Recurrent neural Network)那样流行。循环神经网络(RNN)是在大多数深度学习自然语言处理(NLP)系统中的支柱。 好的。现在我们对与自然语言处理(NLP)相关的深度学习有了不错的理解,让我们来看一些论文。由于在自然语言处理(NLP)中有许多不同领域的问题(从机器翻译到问题回答),我们可以研究许多论文,但是我发现其中有三篇论文有着独到的见解。2016 年,在自然语言处理(NLP)方面有着巨大的进步,但是让我们从 2015 年的一篇论文看起。 论文:记忆网络(Memory Networks) 链接:https://arxiv.org/pdf/1410.3916v11.pdf 简介:第一篇文章,我们将要讨论的是在问答(Queston Answering)子领域的一个非常有影响力的论文。作者是 Jason Weston、Sumit Chopra 和 Antoine Bordes,这篇论文介绍了一类称为记忆网络的模型。 记忆网络的直观思想是:为了准确地回答关于一段文本的问题,你需要以某种方式记忆被提供的最初的信息。如果我问你「RNN 代表什么?」,(假设你已经完全阅读了这篇文章),你将会给我一个答案。因为你通过阅读这篇文章的第一部分所得到的信息,将会存储在你记忆中的某个地方。你只需要几秒钟来找到这个信息,并用文字将其表述出来。现在,我不知道大脑是如何作到这一点的,但是为信息保留存储空间的想法仍然存在。 本文中描述的记忆网络是唯一的,因为它是一种能够读写的关联记忆(associative memory)。有趣的是,我们并没有这种类型的卷积神经网络或者 Q 网络(Q-Network)(应用于强化学习)或者传统的神经网络的记忆。这是因为问答任务很大程度上依赖于建模的能力或者保持追踪长期依赖性的能力,比如追踪故事中的角色或事件的时间线。使用卷积神经网络和 Q 网络,「记忆(memory)」是一种内置在网络的权重。因为它可以学习从状态到动作的不同的筛选或者映射。首先,可以使用 RNN 和 LSTM,但是它们通常不能记忆来自过去的输入(这在回答任务中中非常重要)。 网络架构 好的,现在让我们来看一看这个网络如何处理它给出的初始文本。就像大多数机器学习算法一样,第一步是将输入转化为特征表示。这需要使用词向量、词性标签等。这真的取决于编程者。
下一步将采用特征表示 I(x),并允许更新我们的记忆 m 以反映我们接收到的最新的输入 x。
你可以认为记忆 m 是一种由单独的记忆 mi 组成的数组。这些单独的记忆 mi 中的每一个都可以作为整体的记忆 m,特征表示 I(x) 和/或者它本身。该函数 G 可以简单地将整个表示 I(x) 存储在单独的记忆单元 mi 中。基于新的输入,你可以修改函数 G 来更新过去的记忆。第三和第四步包括基于问题读取记忆以获得特征表示 o,然后对其解码以输出最终答案 r。
R 函数可以用来将特征表示从记忆转化为问题的即可靠又准确的答案。 (责任编辑:本港台直播) |