LLM2D
生成 pragmatics 例子以训练神经程序合成器
Generating Pragmatic Examples to Train Neural Program Synthesizers
作者: Saujas Vaduguru, Daniel Fried, Yewen Pu
发布日期: 4/18/2025
arXiv ID: oai:arXiv.org:2311.05740v2

摘要

arXiv:2311.05740v2 宣告类型: 交叉替换 摘要: 编程示范是指合成分解一个程序,使其与用户提供的输入输出示例一致。由于示例往往是用户意图的不足描述,一个好的合成器必须从许多与给定示例集一致的程序中选择用户意图的程序。先前的工作将程序合成框架设为听者(合成程序)与说者(用户选择示例)之间的合作博弈,并表明计算推理论证模型在选择用户意图的程序方面是有效的。然而,这些模型需要在大量程序和示例上进行反事实推理,这在真实的程序空间中是不可行的。在本文中,我们提出了 PraX,一种利用神经网络来减轻这种搜索的新方法。我们通过听者模型与说者模型之间自博弈生成程序和示例的配对样本,并使用推理论证选择具有信息性的训练示例。然后,我们使用这些信息性的数据集来训练模型,以提高合成器在不需要人类监督的情况下对用户提供的示例进行澄清的能力。我们对从示例字符串合成正规表达式这一具有挑战性的任务进行了验证,并发现我们的方法(1)比没有选择推理论证示例训练的模型高出23%(相对增加51%)(2)尽管在训练中未使用任何人类数据,在推理论证示例数据集上与监督学习的性能相当。