论文标题
与查询的神经程序合成
Neural Program Synthesis with Query
论文作者
论文摘要
为了找到满足用户意图给定输入输出示例的程序,程序综合吸引了对机器学习领域的兴趣日益增加。尽管现有方法的表现有希望,但它们的大部分成功都来自精心设计的输入输出示例的特权信息。但是,提供此类投入输出示例是不现实的,因为它要求用户能够用培训分布下的一些输入输出示例来描述基础程序。在这项工作中,我们提出了一个基于查询的框架,该框架训练查询神经网络,以从大查询空间自动和互动地生成信息丰富的输入输出示例。查询的质量取决于查询和相应程序之间的相互信息的数量,这可以指导查询框架的优化。为了更准确地估计互信息,我们介绍了功能空间(F空间),该功能空间(F空间)以一种可区分的方式对输入输出示例和程序之间的相关性进行了建模。我们评估了针对Karel任务和列表处理任务的基于查询的框架的有效性和概括。实验结果表明,基于查询的框架可以生成信息丰富的输入输出示例,这些示例可以实现甚至超过精心设计的输入输出示例。
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.