DeepAI AI Chat
Log In Sign Up

Neural Programmer-Interpreters

11/19/2015
by   Scott Reed, et al.
Google
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

10/17/2014

Learning to Execute

Recurrent Neural Networks (RNNs) with Long Short-Term Memory units (LSTM...
02/08/2018

Improving the Universality and Learnability of Neural Programmer-Interpreters with Combinator Abstraction

To overcome the limitations of Neural Programmer-Interpreters (NPI) in i...
08/27/2019

Compositional Verification of Heap-Manipulating Programs through Property-Guided Learning

Analyzing and verifying heap-manipulating programs automatically is chal...
06/09/2019

Write, Execute, Assess: Program Synthesis with a REPL

We present a neural program synthesis approach integrating components wh...
07/26/2023

ExeDec: Execution Decomposition for Compositional Generalization in Neural Program Synthesis

When writing programs, people have the ability to tackle a new complex t...
09/01/2021

Learning compositional programs with arguments and sampling

One of the most challenging goals in designing intelligent systems is em...
05/30/2019

Learning Compositional Neural Programs with Recursive Tree Search and Planning

We propose a novel reinforcement learning algorithm, AlphaNPI, that inco...

Code Repositories

npi

Neural Programmer-Interpreter Implementation (Reed, de Freitas: https://arxiv.org/abs/1511.06279), in Tensorflow


view repo

Wheat-Yield-prediction-for-United-States-by-environmental-features

None


view repo

NPI

a Neural Programmer-Interpreters implementation(NPI) with Tensorflow


view repo