Neural Turing Machines-NTM系列(一)简述

本文简述了神经图灵机(NTM),一种使用神经网络实现图灵机理论的计算模型。NTM通过训练能够处理具有时序关联的任务。文章详细介绍了NTM的组成部分,包括Reading和Writing操作,以及基于内容和位置的寻址策略。控制器网络(Controller Network)是NTM的重要部分,其结构可以选择递归网络或前馈网络,用于控制NTM的操作。
摘要由CSDN通过智能技术生成

Neural Turing Machines-NTM系列(一)简述

NTM是一种使用Neural Network为基础来实现传统图灵机的理论计算模型。利用该模型,可以通过训练的方式让系统“学会”具有时序关联的任务流。
论文:http://arxiv.org/abs/1410.5401
中文翻译:http://www.dengfanxin.cn/?p=60
ppt:http://llcao.net/cu-deeplearning15/presentation/NeuralTuringMachines.pdf
基于Theano的python语言实现1:https://github.com/shawntan/neural-turing-machines
基于Theano的python语言实现2:https://github.com/snipsco/ntm-lasagne
基于Torch的实现:https://github.com/kaishengtai/torch-ntm
基于Tensor Flow的实现:https://github.com/carpedm20/NTM-tensorflow
基于C#的实现:https://github.com/JanTkacik/NTM
基于JS语言的实现:https://github.com/gcgibson/NTM
GO语言实现:https://github.com/fumin/ntm
相关博客1:https://blog.wtf.sg/category/neural-turing-machines/
相关博客2 :https://medium.com/snips-ai/ntm-lasagne-a-library-for-neural-turing-machines-in-lasagne-2cdce6837315#.twrvqnda9
百度贴吧:http://tieba.baidu.com/p/3404779569
知乎中关于强人工智能的一些介绍:http://www.zhihu.com/question/34393952

1.图灵机

首先,我们来复习一下大学的知识,什么是图灵机呢?图灵机并不是一个实体的计算机,而是一个理论的计算模型,由计算机技术先驱Turing在1936年提出(百度知道)
它包含如下基本元素:
TAPE:磁带,即记忆体(Memory)
HEAD:读写头,read or write TAPE上的内容
TABLE:一套控制规则,也叫控制器(Controller),根据机器当前状态和HEAD当前所读取的内容来决定下一步的操作。在NTM中,TABLE其实模拟了大脑的工作记忆
register:状态寄存器,存储机器当前的状态。
如下图:
这里写图片描述

2. 神经图灵机(NTM)

所谓的NTM,其实就是使用NN来实现图灵机计算模型中的读写操作。其模型中的组件与图灵机相同。那么,NTM中是怎么实现的呢?

2.1 Reading 操作

假设t时刻的内存数据为 Mt , Mt 为一矩阵,大小为 N×M ,其中N为内存地址的数目,M为每个内存地址向量的长度。设 wt 为t时刻加于N个内存地址上的权值, wt 为一N维向量,且每个分量 wt(i) 满足:
iwt(i)=1,i,0wt(i)1
定义读取向量为 rt (即t时刻Read Head读取出来的内容),大小为M,且满足:
rt=iwt(i)Mt(i)
显然, rt Mt(i) 的凸组合。

2.2 Writing 操作

写操作分解为顺序执行的两步:
1.擦除(erase)
2.添加(add)
wt 为Write Head发出的权值向量, et 为擦除向量,它们的所有分量值都在0,1之间,前一个时刻的Memory修改量为:
M˜t(i)=Mt1(i)[1wt(i)et]
式中的空心圆圈表示向量按元素逐个相乘(point-wise),显然,这里的 et 指出了每个分量将被擦除的量。举个简单的例子:
假设 N=2,M=3
Mt1=(142536)
wt=[0.1,0.3,0.7]T
et=[0.2,0.5,0.6]
M˜t(1)=Mt1(1)[1wt(1)et]
=[1,2,3](10.1[0.2,0.5

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值