用排序摊销语用程序合成
Amortizing Pragmatic Program Synthesis with Rankings
AI总结:
本文提出用排序摊销语用程序合成,通过蒸馏全局排序加速推理,实验显示比精确RSA快数量级且更准确,单示例时近似精确。
摘要:
理性言语行为(RSA)框架在构建语用程序合成器方面取得了成功,这些合成器返回的程序除了与用户生成的示例逻辑一致外,还考虑了用户选择示例时具有信息性这一事实。我们提出了一种摊销缓慢、精确的RSA合成器的通用方法。我们的方法首先查询精确的RSA合成器以编译一个通信数据集。该数据集包含若干依赖于示例的程序子集排序。然后,它蒸馏出一个单一的程序全局排序,作为数据集中每个排序的近似。在推理时,该全局排序用于对从快速、非语用合成器生成的多个逻辑一致的候选程序进行排序。在两个程序合成领域使用我们的排序方法进行的实验,与精确RSA合成器相比,实现了数量级的加速,同时在与人类通信时比非语用合成器更准确。最后,我们证明了在从单个示例进行合成的特殊情况下,这种近似是精确的。
英文摘要:
The usage of Rational Speech Acts (RSA) framework has been successful in building \emph{pragmatic} program synthesizers that return programs which, in addition to being logically consistent with user-generated examples, account for the fact that a user chooses their examples informatively. We present a general method of amortizing the slow, exact RSA synthesizer. Our method first query the exact RSA synthesizer to compile a communication dataset. The dataset contains a number of example-dependent rankings of subsets of programs. It then distills a \textit{single} global ranking of all programs as an approximation to every ranking in the dataset. This global ranking is then used at inference time to rank multiple logically consistent candidate programs generated from a fast, non-pragmatic synthesizer. Experiments on two program synthesis domains using our ranking method resulted in orders of magnitudes of speed ups compared to the exact RSA synthesizer, while being more accurate than a non-pragmatic synthesizer when communicating with humans. Finally, we prove that in the special case of synthesis from a single example, this approximation is exact.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。