Summary - TerpreT: A Probabilistic Programming Language for Program Induction

12/02/2016
by   Alexander L. Gaunt, et al.
0

We study machine learning formulations of inductive program synthesis; that is, given input-output examples, synthesize source code that maps inputs to corresponding outputs. Our key contribution is TerpreT, a domain-specific language for expressing program synthesis problems. A TerpreT model is composed of a specification of a program representation and an interpreter that describes how programs map inputs to outputs. The inference task is to observe a set of input-output examples and infer the underlying program. From a TerpreT model we automatically perform inference using four different back-ends: gradient descent (thus each TerpreT model can be seen as defining a differentiable interpreter), linear program (LP) relaxations for graphical models, discrete satisfiability solving, and the Sketch program synthesis system. TerpreT has two main benefits. First, it enables rapid exploration of a range of domains, program representations, and interpreter models. Second, it separates the model specification from the inference algorithm, allowing proper comparisons between different approaches to inference. We illustrate the value of TerpreT by developing several interpreter models and performing an extensive empirical comparison between alternative inference algorithms on a variety of program models. To our knowledge, this is the first work to compare gradient-based search over program space to traditional search-based alternatives. Our key empirical finding is that constraint solvers dominate the gradient descent and LP-based formulations. This is a workshop summary of a longer report at arXiv:1608.04428

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/15/2016

TerpreT: A Probabilistic Programming Language for Program Induction

We study machine learning formulations of inductive program synthesis; g...
research
12/07/2020

SuperCoder: Program Learning Under Noisy Conditions From Superposition of States

We propose a new method of program learning in a Domain Specific Languag...
research
05/21/2016

Programming with a Differentiable Forth Interpreter

Given that in practice training data is scarce for all but a small set o...
research
03/13/2023

Improved Tree Search for Automatic Program Synthesis

In the task of automatic program synthesis, one obtains pairs of matchin...
research
10/02/2018

Inference Over Programs That Make Predictions

This abstract extends on the previous work (arXiv:1407.2646, arXiv:1606....
research
11/09/2017

Learning to select examples for program synthesis

Program synthesis is a class of regression problems where one seeks a so...
research
06/13/2022

From Perception to Programs: Regularize, Overparameterize, and Amortize

Toward combining inductive reasoning with perception abilities, we devel...

Please sign up or login with your details

Forgot password? Click here to reset