论文标题

神经编码器:使用存储的神经程序学习通用计算

Neurocoder: Learning General-Purpose Computation Using Stored Neural Programs

论文作者

Le, Hung, Venkatesh, Svetha

论文摘要

人工神经网络通过通过人工神经元网络来处理数据,在机器学习方面具有独特性。神经内连接权重代表学习的神经程序,该计划指示网络如何计算数据。但是,如果没有外部记忆来存储神经程序,则在接受新数据培训时仅限于一个覆盖学习的程序。这在功能上等同于专用计算机。在这里,我们设计了神经编码器,这是一类全新的通用条件计算机,其中神经网络通过从一组可共享的模块化程序中撰写相关程序来以数据响应的方式“代码”本身。这可以被认为类似于用简单的乐高积木构建乐高结构。值得注意的是,我们的砖块通过学习改变了形状。外部内存用于创建,存储和检索模块化程序。像今天的存储程序计算机一样,NeuroCoder现在可以访问不同的程序来处理不同的数据。与手动制作的计算机程序不同,NeuroCoder通过培训创建程序。我们将神经模制器集成到当前的神经体系结构中,我们展示了学习模块化程序,处理严重的模式变化并记住旧程序的新能力,并在学习新程序时会在解决对象识别,玩视频游戏和持续学习任务时显示出很大的性能。与NeuroCoder的这种集成可以提高任何当前神经网络的计算能力,并赋予其全新的能力,以重用简单的程序来构建复杂的程序。首次将神经程序视为记忆中的基准,为模块化,递归和程序性神经编程铺平了方式。

Artificial Neural Networks are uniquely adroit at machine learning by processing data through a network of artificial neurons. The inter-neuronal connection weights represent the learnt Neural Program that instructs the network on how to compute the data. However, without an external memory to store Neural Programs, they are restricted to only one, overwriting learnt programs when trained on new data. This is functionally equivalent to a special-purpose computer. Here we design Neurocoder, an entirely new class of general-purpose conditional computational machines in which the neural network "codes" itself in a data-responsive way by composing relevant programs from a set of shareable, modular programs. This can be considered analogous to building Lego structures from simple Lego bricks. Notably, our bricks change their shape through learning. External memory is used to create, store and retrieve modular programs. Like today's stored-program computers, Neurocoder can now access diverse programs to process different data. Unlike manually crafted computer programs, Neurocoder creates programs through training. Integrating Neurocoder into current neural architectures, we demonstrate new capacity to learn modular programs, handle severe pattern shifts and remember old programs as new ones are learnt, and show substantial performance improvement in solving object recognition, playing video games and continual learning tasks. Such integration with Neurocoder increases the computation capability of any current neural network and endows it with entirely new capacity to reuse simple programs to build complex ones. For the first time a Neural Program is treated as a datum in memory, paving the ways for modular, recursive and procedural neural programming.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源