可微分神经计算机(DNC)是一种人工神经网络,其增强了一个外部记忆库,可以以完全可微分的方式进行读取和写入。与标准神经网络不同,标准神经网络将信息隐式存储在权重和隐藏状态中,而DNC拥有一个显式的记忆矩阵,可以通过学习到的注意力机制进行访问。这种设计使网络能够学习在长时间跨度内存储和检索信息,使其适用于涉及算法推理、问答和结构化数据操作的任务。该架构由Google DeepMind的研究人员于2016年提出,建立在早期神经图灵机的工作基础之上。
DNC的关键创新在于其可微分的记忆访问。控制器(通常是循环神经网络)发出读写头,这些读写头产生对记忆位置的注意力分布。这些分布使用softmax函数计算,这使得整个读写过程是可微分的,从而允许网络通过梯度下降进行端到端训练。记忆被组织为一个实值向量矩阵,控制器可以写入新数据、擦除现有数据,并同时从多个位置读取。为了防止网络覆盖重要信息,DNC还包含一个时间链接矩阵,用于跟踪记忆位置的写入顺序,使网络能够回忆操作序列。
DNC在多个需要复杂推理和长期记忆的任务上得到了验证。在2016年的原始论文中,作者训练DNC回答关于故事的问题、在虚拟迷宫中导航,并从图中推断缺失信息。网络成功学会了复制任意长度的序列、排序列表和执行图遍历,这些任务对于标准循环网络来说较为困难。DNC还展示了泛化到比训练时更大输入尺寸的能力,这一特性对于算法任务至关重要。
架构与组件
DNC由三个主要组件组成:控制器、记忆矩阵以及一组读写头。控制器通常是长短期记忆(LSTM)网络或具有循环连接的前馈网络。在每个时间步,控制器接收输入以及上一时间步读取头的输出,然后产生一组控制信号,决定如何访问记忆。这些信号包括写入位置、写入内容、擦除向量和读取位置。
记忆矩阵的维度为N乘M,其中N是记忆位置的数量,M是每个位置的大小。写头结合基于内容的寻址和基于位置的寻址。基于内容的寻址计算写入键与每个记忆位置之间的相似度,而基于位置的寻址使用时间链接矩阵将注意力转移到邻近位置。读头以类似方式操作,产生读取权重,用于计算记忆内容的加权和。
时间链接矩阵是DNC的一个关键特征。它记录记忆位置最后被写入的顺序,条目指示一个位置是否紧接在另一个位置之后被写入。这使得网络能够按顺序读取记忆,这对于复制序列或遍历图等任务至关重要。链接矩阵在每个时间步根据写入权重更新,并用于计算读头的向后和向前移位。
训练与优化
DNC使用标准的随时间反向传播进行训练,损失函数通常根据任务采用交叉熵或均方误差。由于记忆访问中的所有操作都是可微分的,梯度可以流经注意力机制和记忆更新。然而,训练DNC可能具有挑战性,因为参数数量众多且需要仔细初始化。作者使用了梯度裁剪和学习率调度的组合来稳定训练。他们还发现,在训练过程中加入少量噪声有助于网络更好地泛化。
主要困难之一是记忆可以以多种方式使用,网络必须学会高效分配记忆。为了解决这个问题,DNC包含一个空闲列表,用于跟踪当前未使用的记忆位置。写头优先写入空闲列表上的位置,写入后该位置从空闲列表中移除,直到被读取后再释放。这种机制鼓励网络重用记忆,并防止覆盖重要数据。
应用与局限性
DNC已被应用于原始演示之外的多种任务。它们被用于程序合成,其中网络学习生成代码或执行简单程序。它们也被探索用于知识库上的问答,其中记忆可以存储事实,网络学习检索并组合它们。在机器学习领域,DNC常被认为是迈向能够执行显式推理和操作符号数据的神经网络的重要一步。
然而,DNC存在几个局限性。它们计算成本高昂,因为记忆访问操作由于时间链接矩阵而每步需要O(N^2)时间。这使得它们难以扩展到大型记忆。它们也难以处理非常长的序列,因为记忆可能变得杂乱,注意力机制可能无法聚焦于正确位置。因此,DNC在很大程度上已被其他架构所取代,例如Transformer,后者使用自注意力访问整个输入序列中的信息。尽管如此,DNC的思想影响了后来关于记忆增强神经网络和深度学习中外部记忆的研究。
与其他架构的关系
DNC是神经图灵机(NTM)的扩展,后者由Alex Graves、Greg Wayne和Ivo Danihelka于2014年提出。NTM具有类似结构,但缺乏时间链接矩阵和空闲列表,使其在学习顺序操作方面效果较差。DNC还与残差网络在概念上有相似之处,两者都旨在改善信息流,但它们作用于不同领域:残差网络解决深度前馈网络中的梯度消失问题,而DNC解决循环网络中的长期记忆问题。
在深度学习的背景下,DNC是增强神经网络外部组件(如注意力机制和记忆)这一更广泛趋势的一部分。Transformer中使用的多头注意力可以被视为一种基于内容的记忆访问形式,但没有显式的写入和擦除操作。DNC还与课程学习相关,因为作者发现,在难度递增的任务上训练有助于网络学习更复杂的行为。
遗产与影响
尽管DNC今天在生产系统中并不广泛使用,但它们对人工智能领域产生了持久影响。它们证明了神经网络可以学习执行需要显式记忆操作的算法任务,这以前被认为超出了基于梯度方法的范围。可微分记忆的概念已被纳入各种其他模型中,例如用于少样本学习的记忆增强神经网络和用于图推理的可微分神经计算机。这项工作还激发了对可微分排序和可微分数据结构的研究,这些在生成式AI及其他领域有应用。
DNC由DeepMind的一个团队开发,包括Alex Graves、Greg Wayne等人。他们的论文《使用动态外部记忆的神经网络进行混合计算》于2016年10月发表在《自然》杂志上。DNC的代码后来作为开源发布,使研究人员能够实验该架构。虽然DNC本身可能被视为一个历史里程碑,但其原理继续为需要长期记忆和推理能力的现代神经网络设计提供信息。