Neural Program Synthesis with Query
Aiming to find a program satisfying the user intent given input-output
examples, program synthesis has attracted increasing interest in the area of
machine learning. Despite the promising performance of existing methods, most
of their success comes from the privileged information of well-designed
input-output examples. However, providing such input-output examples is
unrealistic because it requires the users to have the ability to describe the
underlying program with a few input-output examples under the training
distribution. In this work, we propose a query-based framework that trains a
query neural network to generate informative input-output examples
automatically and interactively from a large query space. The quality of the
query depends on the amount of the mutual information between the query and the
corresponding program, which can guide the optimization of the query framework.
To estimate the mutual information more accurately, we introduce the functional
space (F-space) which models the relevance between the input-output examples
and the programs in a differentiable way. We evaluate the effectiveness and
generalization of the proposed query-based framework on the Karel task and the
list processing task. Experimental results show that the query-based framework
can generate informative input-output examples which achieve and even
outperform well-designed input-output examples.