生成语用样例以训练神经程序合成器
机器学习
2025-04-18 v2 人工智能
编程语言
摘要
按例编程是合成一个与用户提供的输入输出样例集一致的程序的任务。由于样例往往是对意图的欠规范,一个好的合成器必须从许多与给定样例集一致的程序中选出意图程序。先前工作将程序合成框架化为听者(合成程序)与说者(选择样例的用户)之间的合作博弈,并表明计算语用推理模型在选取用户意图程序上有效。然而,这些模型需要对大量程序和样例进行反事实推理,在现实程序空间中不可行。本文中,我们提出PraX,一种用神经网络分摊该搜索的新方法。我们通过听者与说者模型间的自博弈采样程序与样例对,并利用语用推理从该样本中选取信息量大的训练样例。随后我们用该信息性数据集训练模型,以提升合成器在无人类监督下消歧用户所给样例的能力。我们在从样例字符串合成正则表达式这一挑战性任务上验证PraX,发现我们的方法(1)比未选取语用样例训练的模型高出23%(相对提升51%);(2)在与人类提供的语用样例数据集上的监督学习性能相当,尽管训练中未使用人类数据。
引用
@article{arxiv.2311.05740,
title = {Generating Pragmatic Examples to Train Neural Program Synthesizers},
author = {Saujas Vaduguru and Daniel Fried and Yewen Pu},
journal= {arXiv preprint arXiv:2311.05740},
year = {2025}
}
备注
ICLR 2024