论文标题

神经程序合成与可区分的修复器

Neural Program Synthesis with a Differentiable Fixer

论文作者

Balog, Matej, Singh, Rishabh, Maniatis, Petros, Sutton, Charles

论文摘要

我们提出了一种新的程序综合方法,该方法将基于编码器的综合体系结构与可区分的程序修复程序结合在一起。我们的方法灵感来自于人类开发人员在第一次尝试时很少正确的程序,并执行基于迭代测试的程序修复以获得所需的程序功能。同样,我们的方法首先学习以一组输入输出示例编码为条件的程序进行分发,然后使用可区分的固定程序迭代执行修复操作。修复程序以示例输入为输入,以输入为输入,并在程序上生成一个新分布,以减少当前程序输出与所需示例输出之间的差异。我们在鲁棒域上端到端训练我们的体系结构,并表明与使用梁搜索相比,固定器模块的添加可显着提高合成精度。

We present a new program synthesis approach that combines an encoder-decoder based synthesis architecture with a differentiable program fixer. Our approach is inspired from the fact that human developers seldom get their program correct on the first attempt, and perform iterative testing-based program fixing to get to the desired program functionality. Similarly, our approach first learns a distribution over programs conditioned on an encoding of a set of input-output examples, and then iteratively performs fix operations using the differentiable fixer. The fixer takes as input the original examples and the current program's outputs on example inputs, and generates a new distribution over the programs with the goal of reducing the discrepancies between the current program outputs and the desired example outputs. We train our architecture end-to-end on the RobustFill domain, and show that the addition of the fixer module leads to a significant improvement on synthesis accuracy compared to using beam search.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源