Neuro-Symbolic Program Synthesis

11/06/2016
by   Emilio Parisotto, et al.
0

Recent years have seen the proposal of a number of neural architectures for the problem of Program Induction. Given a set of input-output examples, these architectures are able to learn mappings that generalize to new test inputs. While achieving impressive results, these approaches have a number of important limitations: (a) they are computationally expensive and hard to train, (b) a model has to be trained for each task (program) separately, and (c) it is hard to interpret or verify the correctness of the learnt mapping (as it is defined by a neural network). In this paper, we propose a novel technique, Neuro-Symbolic Program Synthesis, to overcome the above-mentioned problems. Once trained, our approach can automatically construct computer programs in a domain-specific language that are consistent with a set of input-output examples provided at test time. Our method is based on two novel neural modules. The first module, called the cross correlation I/O network, given a set of input-output examples, produces a continuous representation of the set of I/O examples. The second module, the Recursive-Reverse-Recursive Neural Network (R3NN), given the continuous representation of the examples, synthesizes a program by incrementally expanding partial programs. We demonstrate the effectiveness of our approach by applying it to the rich and complex domain of regular expression based string transformations. Experiments show that the R3NN model is not only able to construct programs from new input-output examples, but it is also able to construct new programs for tasks that it had never observed before during training.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/14/2017

Deep API Programmer: Learning to Program with APIs

We present DAPIP, a Programming-By-Example system that learns to program...
research
07/28/2020

BUSTLE: Bottom-up program-Synthesis Through Learning-guided Exploration

Program synthesis is challenging largely because of the difficulty of se...
research
03/15/2017

Neural Programming by Example

Programming by Example (PBE) targets at automatically inferring a comput...
research
10/11/2017

Neural Program Meta-Induction

Most recently proposed methods for Neural Program Induction work under t...
research
10/22/2020

Neural-Symbolic Integration: A Compositional Perspective

Despite significant progress in the development of neural-symbolic frame...
research
02/27/2020

Towards Modular Algorithm Induction

We present a modular neural network architecture Main that learns algori...
research
05/24/2023

Can Transformers Learn to Solve Problems Recursively?

Neural networks have in recent years shown promise for helping software ...

Please sign up or login with your details

Forgot password? Click here to reset