具有信息规格说明的高效实用程序合成
Efficient Pragmatic Program Synthesis with Informative Specifications
摘要:
提供示例是最终用户与程序合成器交互的最常见方式之一。然而,程序合成系统假设与程序一致的示例是随机选择的,并且不利用用户务实地选择示例的事实。先前的工作将程序合成建模为实用的通信,但需要对整个程序空间进行低效的枚举。在本文中,我们表明,它是可能的,以建立一个程序合成器,这是既务实和有效的近似的联合分布的程序与产品的独立因素,并分别对每个因素进行语用推理。这种分解的分布近似精确的联合分布时,务实的例子,是兼容的基本神经符号程序合成算法。令人惊讶的是,我们发现,合成器假设一个因子近似比合成器假设一个确切的联合分布时,自然的人类输入进行评估。这表明人类在交流程序时可能会假设一个因子分布。
英文摘要:
Providing examples is one of the most common way for end-users to interact with program synthesizers. However, program synthesis systems assume that examples consistent with the program are chosen at random, and do not exploit the fact that users choose examples pragmatically. Prior work modeled program synthesis as pragmatic communication, but required an inefficient enumeration of the entire program space. In this paper, we show that it is possible to build a program synthesizer that is both pragmatic and efficient by approximating the joint distribution of programs with a product of independent factors, and performing pragmatic inference on each factor separately. This factored distribution approximates the exact joint distribution well when the examples are given pragmatically, and is compatible with a basic neuro-symbolic program synthesis algorithm. Surprisingly, we find that the synthesizer assuming a factored approximation performs better than a synthesizer assuming an exact joint distribution when evaluated on natural human inputs. This suggests that humans may be assuming a factored distribution while communicating programs.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。