We propose the neural programmer-interpreter (NPI): a recurrent and compositional neural network that learns to represent and execute programs. NPI has three learnable components: a task-agnostic recurrent core, a persistent key-value program memory, and domain-specific encoders that enable a single NPI to operate in multiple perceptually diverse environments with distinct affordances. By learning to compose lower-level programs to express higher-level programs, NPI reduces sample complexity and increases generalization ability compared to sequence-to-sequence LSTMs. The program memory allows efficient learning of additional tasks by building on existing programs. NPI can also harness the environment (e.g. a scratch pad with read-write pointers) to cache intermediate results of computation, lessening the long-term memory burden on recurrent hidden units. In this work we train the NPI with fully-supervised execution traces; each program has example sequences of calls to the immediate subprograms conditioned on the input. Rather than training on a huge number of relatively weak labels, NPI learns from a small number of rich examples. We demonstrate the capability of our model to learn several types of compositional programs: addition, sorting, and canonicalizing 3D models. Furthermore, a single NPI learns to execute these programs and all 21 associated subprograms.
This paper provides an overview of developments in a dual processing theory of automatic and controlled processing that began with the empirical and theoretical work described by Schneider and Shiffrin (1977) and Shiffrin and Schneider (1977) over a quarter century ago. A review of relevant empirical findings suggests that there is a set of core behavioral phenomena reflecting differences between controlled and automatic processing that must be addressed by a successful theory. These phenomena relate to: consistency in training, serial versus parallel processing, level of effort, robustness to stressors, degree of control, effects on long-term memory, and priority encoding. We detail a computational model of controlled processing, CAP2, that accounts for these phenomena as emergent properties of an underlying hybrid computational architecture. The model employs a large network of distributed data modules that can categorize, buffer, associate, and prioritize information. Each module is a connectionist network with input and output layers, and each module communicates with a central Control System by outputting priority and activity report signals, and by receiving control signals. The Control System is composed of five processors including a Goal Processor, an Attention Controller, an Activity Monitor, an Episodic Store, and a Gating & Report Relay. The transition from controlled to automatic processing occurs in this model as the data modules become capable of transmitting their output without mediation by the Control System. We describe recent progress in mapping the components of this model onto specific neuroanatomical substrates, briefly discuss the potential for applying functional neuroimaging techniques to test the model’s predictions, and its relation to other models. © 2003 Cognitive Science Society, Inc. All rights reserved.