DreamDecompiler: Improved Bayesian Program Learning by Decompiling Amortised Knowledge

06/13/2023
by   Alessandro B. Palmarini, et al.
0

Solving program induction problems requires searching through an enormous space of possibilities. DreamCoder is an inductive program synthesis system that, whilst solving problems, learns to simplify search in an iterative wake-sleep procedure. The cost of search is amortised by training a neural search policy, reducing search breadth and effectively "compiling" useful information to compose program solutions across tasks. Additionally, a library of program components is learnt to express discovered solutions in fewer components, reducing search depth. In DreamCoder, the neural search policy has only an indirect effect on the library learnt through the program solutions it helps discover. We present an approach for library learning that directly leverages the neural search policy, effectively "decompiling" its amortised knowledge to extract relevant program components. This provides stronger amortised inference: the amortised knowledge learnt to reduce search breadth is now also used to reduce search depth. We integrate our approach with DreamCoder and demonstrate faster domain proficiency with improved generalisation on a range of domains, particularly when fewer example solutions are available.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/20/2022

Learning logic programs by discovering where not to search

The goal of inductive logic programming (ILP) is to search for a hypothe...
research
04/18/2019

Playgol: learning programs through play

Children learn though play. We introduce the analogous idea of learning ...
research
10/13/2019

Neural Program Synthesis By Self-Learning

Neural inductive program synthesis is a task generating instructions tha...
research
10/24/2021

Scaling Neural Program Synthesis with Distribution-based Search

We consider the problem of automatically constructing computer programs ...
research
04/21/2020

Knowledge Refactoring for Program Induction

Humans constantly restructure knowledge to use it more efficiently. Our ...
research
05/01/2015

Bayesian Policy Reuse

A long-lived autonomous agent should be able to respond online to novel ...
research
06/03/2023

LambdaBeam: Neural Program Search with Higher-Order Functions and Lambdas

Search is an important technique in program synthesis that allows for ad...

Please sign up or login with your details

Forgot password? Click here to reset