编写、执行、评估:使用REPL的程序综合
Write, Execute, Assess: Program Synthesis with a REPL
摘要:
我们提出了一个神经程序合成方法集成组件的编写,执行和评估代码导航的搜索空间的可能的程序。我们配备了一个解释器或读取-评估-打印循环(REPL),立即执行部分编写的程序,暴露他们的语义搜索过程。REPL解决了程序合成的一个基本挑战:语法上的微小变化可能导致语义上的巨大变化。我们训练了一对模型,一个建议编写新代码的策略,以及一个评估到目前为止编写的代码的前景的价值函数。在测试时,我们可以将这些模型与顺序蒙特卡罗算法结合起来。我们将我们的方法应用到两个领域:合成文本编辑程序和推断2D和3D图形程序。
英文摘要:
We present a neural program synthesis approach integrating components which write, execute, and assess code to navigate the search space of possible programs. We equip the search process with an interpreter or a read-eval-print-loop (REPL), which immediately executes partially written programs, exposing their semantics. The REPL addresses a basic challenge of program synthesis: tiny changes in syntax can lead to huge changes in semantics. We train a pair of models, a policy that proposes the new piece of code to write, and a value function that assesses the prospects of the code written so-far. At test time we can combine these models with a Sequential Monte Carlo algorithm. We apply our approach to two domains: synthesizing text editing programs and inferring 2D and 3D graphics programs.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。