神经图灵机(NTM)是一种图灵机的循环神经网络模型。该方法由Alex Graves等人于2014年发表,结合了神经网络的模糊模式匹配能力与可编程计算机的算法能力。NTM旨在通过使用计算过程中可读可写的外部存储器,从示例中学习简单算法。
NTM由一个神经网络控制器组成,该控制器通过注意机制与外部存储资源耦合。记忆交互是端到端可微的,这使得可以使用梯度下降对其优化。这种可微性使得整个系统能够使用标准机器学习技术(如反向传播)进行训练,而无需离散或不可微的操作。
架构与操作
NTM中的控制器通常是循环神经网络,例如长短期记忆(LSTM)网络,它接收输入并产生输出,同时发出命令以读取和写入外部存储器。存储器为实数值矩阵,控制器使用注意力权重来确定要访问的存储位置。这些权重通过基于内容的寻址计算,后者将当前控制器状态与存储内容相比较,并支持迭代等操作的基于位置的寻址。
读取和写入操作设计为可微的。读取操作生成存储器行的加权和,而写入操作则将擦除向量和添加向量按注意力权重缩放,以更新存储器条目。这种设计使网络能够学习以适合基于梯度的优化的方式存储和检索信息。
学习能力
具有LSTM网络控制器的NTM可以仅从示例中推断简单算法,如复制、排序和关联回忆。在实验中,NTM已展示出比传统循环网络更有益的训练效果,并能泛化到比训练期间更长的输入序列。这种能力源于显式外部记忆,它提供了控制器可以学习的稳定存储介质。
Graves及其同事的原始论文表明,NTM可以学习复制任意长度的序列、对一列数字进行排序以及执行关联回忆(即网络根据部分提示检索存储的项目)。这些任务充分体现了该模型将模式识别与算法推理相结合的能力。
实现与挑战
原始NTM论文的作者并未发布其源代码。首个稳定的开源实现于2018年在第27届国际人工神经网络大会上发表,并获得最佳论文奖。其他开源实现也存在,但截至2018年,它们仍不足以在生产环境中稳定使用。这些实现的开发者报告了各种问题,包括训练过程中梯度有时不明原因地变为NaN,导致训练失败;收敛速度慢;或缺乏学习速度的报告。
这些挑战源于可微外部存储的递归网络训练的复杂性,因为注意力机制和存储更新可能带来不稳定的梯度。2018年获奖的实现通过引入架构改进和训练策略解决了部分问题,但更广泛的采用仍受限制。
影响与扩展
可微神经机是神经Turing机的延伸,其注意力机制控制存储的活跃区域,并提升性能。由谷歌DeepMind的研究人员于2016年提出,可微神经计算机通过包括每次。例如时间链接和内存分配等更复杂的记忆采样模式扩展了NTMs,使其能够解决图形遍历、提问回答等任务。
NTM的概念也影响了更广泛的深度学习和人工智能研究,尤其是在模型需要存储和操纵结构化信息以跨越较长时间视野的应用中。虽然像transformer这样的大规模模型在许多应用中已基本取代NTM,但可微外部记忆的思想仍是研究结合学习与符号计算的神经架构的基础概念。
局限
尽管NTM具有理论吸引力,但它们有实际局限性。训练可能计算量大且不稳定,如上述实现挑战中所述。这些模型也无法处理非常大的存储容量,因为注意机制随存储尺寸而扩展。此外,NTMs未在生产系统中广泛采用,许多实际应用倾向于采用更容易训练和扩展的架构以适应比如用于大型语言模型的transformer。
关于改进具有增强记忆的网络的与神经网络的混合方法的研究正在继续,这结合了传统NTM的优点与现代架构。然而截至2010年代后期,NTMs主要仍是研究工具而非部署技术。
参考文献
Graves, A., Wayne, G., & Danihelka, I. (2014)。 神经Turing机. arXiv预印本 arXiv:1410.5401。
Collier, M., & Beel, J. (2018). 实现神经Turing机。在第27届国际神经计算大会论文集。