可微神经计算机

在一个最近的自然研究,我们介绍了一种记忆增强神经网络,称为可微神经计算机。显示出它能学会用记忆来回答复杂的问题,结构化数据,包括人工生成的故事,家谱,甚至还有伦敦地铁的地图。我们还证明了它可以通过强化学习来解决一个方块拼图游戏。

柏拉图把记忆比作一块蜡碑,上面有一个印象,强加给它一次,将保持不变。他用隐喻表达了现代可塑性的概念——我们的思想可以通过经验来塑造和重塑。但是我们记忆的蜡不只是形成印象,它也形成了联系,从一个记忆到下一个。像洛克这样的哲学家认为,如果记忆是在时间和空间的附近形成的,那么它们是相互联系的。代替蜡,最有力的隐喻表达这是马塞尔普鲁斯特的马德琳蛋糕;对普鲁斯特来说,作为一个成年人,他尝到了甜食的味道,就不难看出他童年时的种种联想。众所周知,这些情景记忆(事件记忆)依赖于人脑中的海马体。

今天,我们的记忆隐喻已经被提炼。我们不再把记忆看作是蜡笔,而是一个重建的过程,由此经验从其组成部分重新组合。而不是刺激和行为反应之间的简单联系,记忆和行动之间的关系是可变的,以上下文和优先级为条件。一篇简单的记忆知识,例如伦敦地铁的布局记忆,可以用来回答问题,“你怎么从皮卡迪利广场到摩尔盖特?”还有问题,“与Moorgate相邻的地方,在北线往北走?”.这完全取决于问题;记忆的内容和它们的使用是可以分开的。另一种观点认为,为了执行计算,存储器可以被组织起来。更像乐高而不是蜡,记忆可以根据手头的问题重新组合。

神经网络擅长模式识别和快速,反应式决策,但是,我们只是刚刚开始建立可以缓慢思考的神经网络——也就是说,故意或理性地运用知识。例如,一个神经网络如何能存储像传输网络中的连接这样的事实的记忆,然后从逻辑上推理出它的知识来回答问题?在最近的一篇论文中,我们展示了如何将神经网络和记忆系统结合起来,使学习机器能够快速存储知识并灵活地推理。这些模型,我们称之为可微神经计算机(dncs)。可以从神经网络之类的例子中学习,但它们也可以像计算机一样存储复杂的数据。

在普通计算机中,处理器可以从随机存取存储器(RAM)读写信息。RAM给处理器更多的空间来组织计算的中间结果。信息的临时占位符称为变量,并存储在内存中。在电脑里,形成一个保存数值的变量是一个简单的操作。而且制作数据结构也很简单——内存中的变量包含链接,这些链接可用于访问其他变量。最简单的数据结构之一是一个列表——一系列变量可以逐项读取。例如,一个人可以在一个运动队中存储一个球员名单,然后逐个读出每个名字。更复杂的数据结构是一棵树。例如,在家谱中,从孩子到父母的联系可以被遵循读出一个血统。图是最复杂、最通用的数据结构之一,就像伦敦地铁网。

当我们设计dncs时,我们希望机器能够学会自己形成和导航复杂的数据结构。DNC的核心是一个称为控制器的神经网络,类似于计算机中的处理器。控制器负责接收输入,读写记忆,产生可以解释为答案的输出。内存是一组位置,每个位置都可以存储一个信息向量。

控制器可以在内存上执行多个操作。每时每刻,它选择是否写入内存。如果它选择写,它可以选择在新的未使用的位置或位于已包含控制器正在搜索的信息的位置。这允许控制器更新存储在某个位置的内容。如果内存中的所有位置都用完了,控制器可以决定释放位置,就像计算机如何重新分配不再需要的内存。当控制器确实写入时,它将信息向量发送到内存中选定的位置。每次写信息时,这些地点通过联系的方式联系起来,它表示信息存储的顺序。

除了写作,控制器可以从内存中的多个位置读取。可以根据每个位置的内容搜索内存,或者,可以向前和向后跟踪关联的时间链接,以回忆顺序或反向写入的信息。读出信息可用于回答环境中的问题或采取的行动。一起,这些操作使DNC能够选择如何分配内存,将信息存储在内存中,在那里很容易找到。

全屏幕 全屏移动
DNC架构说明。神经网络控制器接收外部输入,基于这些,使用读写操作(称为“heads”)与内存交互。为了帮助控制器导航内存,dnc存储“时间链接”以跟踪写入内容的顺序,并记录每个内存位置的当前“使用”级别。

对于非技术读者,我们反复使用“控制器可以”或“可辨别的神经计算机…做出选择”这样的短语,这似乎有点奇怪。我们这样说是因为可辨别的神经计算机学会了如何使用记忆,以及如何从零开始产生完全的答案。他们利用优化的魔力学会了这样做:当一个dnc产生一个答案时,我们将答案与期望的正确答案进行比较。随着时间的推移,控制器学习生成越来越接近正确答案的答案。在这个过程中,它知道如何使用它的内存。

我们想对涉及构建数据结构和使用这些数据结构回答问题的DNC进行测试。图形数据结构对于表示可以任意连接到形成路径和循环的数据项非常重要。在本文中,我们表明,一个DNC可以自己学习写下一个任意图的描述,并回答有关它的问题。当我们描述伦敦地铁的车站和线路时,我们可以请一个DNC回答如下问题:“从邦德街开始,把中心线朝一个方向停下来,四站方向的圆线,禧年线朝着两站的方向,你在哪站下车?”或者,DNC可以计划路线,比如“你怎么从摩尔盖特到皮卡迪利广场?”

全屏幕 全屏移动
使用随机生成的图(左)对DNC进行训练。训练后,它接受了测试,看是否能在伦敦地铁(右)。(来自,去,edge)用于定义网络图的三倍图如下所示,以及两种任务的示例:“遍历”,要求从一个车站开始并遵循一系列线路;以及“最短路径”,要求它找到两个车站之间最快的路线。

在家谱里,我们证明,它可以回答需要复杂扣除的问题。例如,尽管我们只描述了父母,孩子,以及与网络的兄弟关系,我们可以问这样的问题:“谁是弗雷娅的舅舅?”我们还发现,通过可视化控制器正在读取内存中的哪些位置来产生什么答案,可以分析DNC是如何使用它们的内存的。在我们的比较中,传统的神经网络也不能存储信息,或者他们不能学会用一种可以概括为新例子的方式推理。

DNC回答关于家谱的问题

我们也可以通过强化学习来培训DNC。在这个框架中,我们让民主党全国委员会采取行动,但从未给出答案。相反,当它产生了一系列良好的动作(如儿童游戏“热或冷”)时,我们会得分。我们将一个DNC连接到一个简单的环境中,彩色的方块成堆地排列着。我们会给它指示要达到的目标:“把浅蓝色的块放在绿色下面;红色左边的橙色;橙色下面的紫色;深蓝色右边的浅蓝色;红色下面的绿色;还有绿色左边的紫色。

求解移动块拼图

我们可以建立大量这样的可能目标,然后要求网络执行将在命令下产生一个或另一个目标状态的操作。在这种情况下,就像电脑一样,DNC可以在内存中存储多个子例程,每个可能的目标一个,然后执行一个或另一个。

人类记忆是如何工作的这个问题由来已久,我们的理解仍在发展。我们希望dncs既能为计算机科学提供一个新的工具,又能为认知科学和神经科学提供一个新的隐喻:这里有一个学习机器,无需事先编程,能够将信息组织成相关事实,并利用这些事实解决问题。

有关DNC的更多信息,请看我们的报纸和一个意见片赫伯特·杰格关于深度神经推理。

全屏幕 全屏移动
艺术家对民主变革委员会的印象。发光控制器网络可视为一个工厂的操作员,在那里信息以零和一的形式传递。由三个机械臂读数操纵,在代表记忆的卷轴上书写和擦除,最后导出为新生成的二进制序列。

我们的开源实现可在github.