神经图灵机
【总述】本文通过将神经网络与外部存储资源结合起来构建神经图灵机,来扩展神经网络的功能。通过对复制、排序、联想等算法的实验表明神经图灵机可以从输入输出示例中推出简单算法。
1、【递归神经网络】
递归神经网络(Recurrent neural networks,RNNs)能够在较长的时间内学习和执行复杂的数据转换,且具有模拟任意程序的能力。RNNs的状态既取决于系统的输入又取决于当前状态,具有更丰富的存储和计算能力。理想的递归是x(t + 1)= x(t)+ i(t),其中i(t)是系统的输入。
2、【神经图灵机】
为了简化RNNs算法,本文扩充了递归网络形成“神经图灵机”(Neural Turing Machines,NTM),其通过大型的、可寻址的存储进行,使用注意过程选择性地读取和写入内存,为学习程序提供一种实用机制。NTM架构包含两个组件:神经网络控制器(neural network controller)和存储库(memory bank)。
研究者们将网络输出称为“头heads”,还定义了“模糊blurry”读写操作。模糊操作与内存中的所有元素或多或少地相互作用。模糊程度由注意力“聚焦”机制确定,该机制限制读取和写入操作与存储器的一小部分交互。每个读写磁头都有一个权重,定义了磁头在每个位置的读写程度。
【寻址机制】
读写权重是通过将两种寻址机制结合在一起产生的。一种是“基于内容的寻址content-based addressing”,基于位置值和控制器发出值之间的相似性,将注意力集中在位置上。另一种为“基于位置的寻址location-based addressing”,通过位置来寻址。
【控制器网络】
NTM最重要的参数是用作控制器的神经网络类型是递归网络还是前馈网络(feedforward network)。前馈控制器可以通过在每个步骤中在相同位置进行读写来模仿递归网络,其局限在于并发读和写磁头的数量对NTM执行的计算类型造成了瓶颈,而递归控制器有自己的内部存储器,不受此限制。
3、【实验】
对简单算法任务的初步实验。均有三种条件:具有前馈控制器的NTM、具有LSTM控制器的NTM和标准LSTM网络。
LSTM:递归网络的一项关键创新是长的短期记忆(Long Short-Term Memory)。LSTM在网络中嵌入了用于内存存储的完美集成器。
【复制】
复制任务测试NTM是否可以存储和调用长序列的任意信息、是否有更长的时间延迟。训练网络复制8位随机向量的序列,序列长度在1到20之间随机。
分析表明,NTM已经学会结合了基于内容和位置的寻址的复制算法。
【重复复制】
重复复制任务要求网络将复制的序列输出指定的次数,然后发出序列结束标记。看NTM是否可以学习简单的嵌套函数。网络接收随机二进制矢量的随机长度序列。后跟一个标量值,该值指示所需的次数,出现在单独的输入通道上。网络可以重现8个随机二元向量的序列,序列长度和重复次数都是从1到10随机。
【联想】
先前的任务表明NTM可以将算法应用于相对简单的线性数据结构。本阶段测试NTM学习类的实例的能力,以便对其中一个项目进行查询要求网络返回下一个项目。每个项目都由三个六位二进制矢量组成(每个项目总共18位)。训练期间,在单集中至少使用了2个项目,最多使用了6个项目。
【优先排序】
此任务测试NTM是否可以对数据进行排序。一系列随机二进制向量与每个向量的标量优先级等级一起输入到网络。优先级从[-1,1]范围中得出。目标序列包含根据其优先级排序的二进制向量,如图14。
对观察到的写入位置拟合了优先级的线性函数。
4、【结论】
本文引入了神经图灵机,实验表明它能从示例数据中学习简单的算法。