Hierarchical Neural Program Synthesis

03/09/2023
by   Linghan Zhong, et al.
0

Program synthesis aims to automatically construct human-readable programs that satisfy given task specifications, such as input/output pairs or demonstrations. Recent works have demonstrated encouraging results in a variety of domains, such as string transformation, tensor manipulation, and describing behaviors of embodied agents. Most existing program synthesis methods are designed to synthesize programs from scratch, generating a program token by token, line by line. This fundamentally prevents these methods from scaling up to synthesize programs that are longer or more complex. In this work, we present a scalable program synthesis framework that instead synthesizes a program by hierarchically composing programs. Specifically, we first learn a task embedding space and a program decoder that can decode a task embedding into a program. Then, we train a high-level module to comprehend the task specification (e.g., input/output pairs or demonstrations) from long programs and produce a sequence of task embeddings, which are then decoded by the program decoder and composed to yield the synthesized program. We extensively evaluate our proposed framework in a string transformation domain with input/output pairs. The experimental results demonstrate that the proposed framework can synthesize programs that are significantly longer and more complex than the programs considered in prior program synthesis works. Website at https://thoughtp0lice.github.io/hnps_web/

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/31/2021

Learning to Synthesize Programs as Interpretable and Generalizable Policies

Recently, deep reinforcement learning (DRL) methods have achieved impres...
research
07/09/2020

Program Synthesis with Pragmatic Communication

Program synthesis techniques construct or infer programs from user-provi...
research
09/26/2019

Human-Centric Program Synthesis

Program synthesis techniques offer significant new capabilities in searc...
research
09/12/2018

Automatic Program Synthesis of Long Programs with a Learned Garbage Collector

We consider the problem of generating automatic code given sample input-...
research
01/30/2023

Hierarchical Programmatic Reinforcement Learning via Learning to Compose Programs

Aiming to produce reinforcement learning (RL) policies that are human-in...
research
11/13/2018

FrAngel: Component-Based Synthesis with Control Structures

In component-based program synthesis, the synthesizer generates a progra...
research
06/14/2021

Learning to Combine Per-Example Solutions for Neural Program Synthesis

The goal of program synthesis from examples is to find a computer progra...

Please sign up or login with your details

Forgot password? Click here to reset