本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

码报:【j2开奖】一文看懂系列之深入理解 RNN——神经图灵机(附代码)(2)

时间:2016-12-11 14:38来源:118图库 作者:j2开奖直播 点击:
RNNs无疑是深度学习的主要内容之一,它允许神经网络处理序列数据,如文本、音频和视频。 它们可以用于将序列编 码 至不同层级的理解(抽象层次不同

  RNNs无疑是深度学习的主要内容之一,它允许神经网络处理序列数据,如文本、音频和视频。 它们可以用于将序列编至不同层级的理解(抽象层次不同的知识表示)、标注序列,甚至从头开始生成新序列。

一个 RNN cell在处理序列数据时一直被重复使用,share weights。虽然我认为读者都应该知道这一点,但是考虑到可能有刚开始学的同学看,所以提一下。

  然而,简单的RNNs(vanilla version)是存在很多缺陷的,直到出现LSTM,增加了gates使得gradient vanishing不在成为问题。前几天还看到关于LSTM之父 Sepp Hochreiter and Jürgen Schmidhuber(尤其后者)如今并没有很大名气的讨论,大家有兴趣也可以了解一下。如今所有state-of-the-art的RNNs几乎都在使用LSTM。关于理解LSTM,推荐Olah's Blog。

  在这基础之上出现了很多更加 powerful 的增强型RNNs,这些研究都是非常激动人心的。而这其中我们主要讨论以下4种:

  

码报:【j2开奖】一文看懂系列之深入理解 RNN——神经图灵机(附代码)

  本质上,它们都是RNNs的扩展,并且它们甚至可以组合在一起使用,这是由于注意力机制的使用将它们联系在了一起。Attention将是RNNs发展史上一个非常重要的里程碑。这四种模型都是非常酷的,但由于时间和篇幅关系,我们先从Neural Turing Machine开始,剩下的在后续文章中讨论。也算是为了弥补我之前没有那么成功的 NTM 分享经验。

  神经图灵机 - Neural Turing Machines

  NTM(Graves, et al., 2014)在一个很高的层面上构建神经计算模型,作为图灵机的实现。核心思想是在RNNs的基础上augment记忆模块。张量是神经网络的语言,因此记忆模块就是一组张量,具体地,原文使用一组向量来表示。实际上,只要可以保持一致性,使用一个高斯分布表示一个记忆单元也是可以的。

  

码报:【j2开奖】一文看懂系列之深入理解 RNN——神经图灵机(附代码)

  这里A被称作 controller(图中是在处理序列数据,有个错误,最后应该是x3,y3), 可以是FNNs(feedforward neural networks),也可以是RNNs,但RNNs能实现更多操作,因为它是 Turing Complete 的。

  那么,里面的读、写操作如何工作呢? 面临的挑战是,我们要使它们可微(differentiable)。 特别地,我们希望使它们相对于我们读取或写入的位置是可微的,以便我们可以学习读取和写入的位置。 这是棘手的,因为内存地址似乎是根本上离散的。

  NTM采取一个非常聪明的解决方案:每一步,他们读写无处不在,只是程度不同。

这里的idea是非常general的,那就是把离散操作转化为可微分的操作,核心是使用稀疏的连续性(sparse continuity)去表示离散(discreteness),这个概念并不新颖,但在神经网络中它将会变得很重要,也很常见。

  例如,在读取记忆的过程中, 与其指定单个位置,RNN给出“注意力分布”,其描述了我们关心不同存储器位置的程度的量。 这样,读取操作的结果是每个位置记忆内容的加权和。

  同理,写入记忆的过程也是使用一个“写入注意力分布”,每个位置都写,只是写的程度不同,那么这里就涉及到如何在一定程度结合新的记忆内容和老的记忆内容,作者使用的是新老内容的convex combination,满足凸性的线性组合就行,一个非常简单的函数是:(单个记忆位置), 里面的 就可以看做“遗忘率”,等于1的时候久的记忆将被抹去。

  但是NTM如何决定在记忆中的哪些位置需要他们的注意力? 他们实际上使用两种不同方法的组合:基于内容的注意和基于位置的注意。 基于内容的关注允许NTMs通过他们的内存搜索,并专注于匹配他们寻找的地方,而基于位置的注意允许内存中的相对移动,使NTM可以循环整个记忆。这个过程Olah他们的博客中一图解释得很清楚。

  

码报:【j2开奖】一文看懂系列之深入理解 RNN——神经图灵机(附代码)

  整个NTM工作的过程一目了然,里面有个卷积操作比较有意思,稍微有点tricky,大家可以去原文里看,叫circular convolution。

之所以我说NTM是具有里程碑式意义的,是因为这种读写能力允许NTM执行许多简单的算法,这是超越传统神经网络的。 例如,他们可以学习在存储器中存储长序列,然后在其上循环、重复它。 当他们这样做,我们可以看到其在哪些位置进行读写以更好地了解NTM在做什么。一定意义上,作为图灵机的实现,它具有实现目前计算机能使用的所以算法,并且它是可学习的。不过要实现这个目标还有很多工作要做。 (责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容