paper-with-me

Papers

Summary - TerpreT: A Probabilistic Programming Language for Program Induction

2016-12-02 · Alexander L. Gaunt, Marc Brockschmidt, Rishabh Singh, Nate Kushman, Pushmeet Kohli, Jonathan Taylor, Daniel Tarlow

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

📄 PDF Abstract BibTeX arXiv:1612.00817

Code (0)

등록된 구현이 없습니다.

Tasks

Probabilistic ProgrammingProgram inductionProgram Synthesis

Similar Papers 제목 키워드 기반

Monte Carlo Action Programming

2017-02-25 · Lenz Belzner

This paper proposes Monte Carlo Action Programming, a programming language framework for autonomous systems that act in large probabilistic state spaces with high branching factors. It comprises formal syntax and semanti…

Nonstandard Interpretations of Probabilistic Programs for Efficient Inference

2011-12-01 · NeurIPS 2011 12 · David Wingate, Noah Goodman, Andreas Stuhlmueller, Jeffrey M. Siskind

Probabilistic programming languages allow modelers to specify a stochastic process using syntax that resembles modern programming languages. Because the program is in machine-readable format, a variety of techniqu…

Probabilistic Programming

Effect Handling for Composable Program Transformations in Edward2

2018-11-15 · Dave Moore, Maria I. Gorinova

Algebraic effects and handlers have emerged in the programming languages community as a convenient, modular abstraction for controlling computational effects. They have found several applications including concurrent pro…

Probabilistic Programming

Deployable probabilistic programming

2019-06-20 · David Tolpin

We propose design guidelines for a probabilistic programming facility suitable for deployment as a part of a production software system. As a reference implementation, we introduce Infergo, a probabilistic programming fa…

Decision MakingProbabilistic Programming

A Dynamic Programming Algorithm for Inference in Recursive Probabilistic Programs

2012-06-15 · Andreas Stuhlmüller, Noah D. Goodman

We describe a dynamic programming algorithm for computing the marginal distribution of discrete probabilistic programs. This algorithm takes a functional interpreter for an arbitrary probabilistic programming language an…

Probabilistic Programming