Neural Programmer-Interpreters
Scott Reed, Nando de Freitas

TL;DR
The paper introduces the neural programmer-interpreter (NPI), a neural network architecture that learns to represent, compose, and execute programs across diverse environments, improving generalization and sample efficiency.
Contribution
The NPI architecture combines a recurrent core, program memory, and domain-specific encoders to enable multi-environment program learning and compositionality, advancing neural program induction.
Findings
NPI successfully learns addition, sorting, and 3D model canonicalization.
A single NPI can execute 21 subprograms and their compositions.
NPI demonstrates improved generalization and sample efficiency.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Neural Network Applications · Adversarial Robustness in Machine Learning · Reinforcement Learning in Robotics
