We present a new synthesis algorithm to solve program synthesis over noisy datasets, i.e., data that may contain incorrect/corrupted input-output examples. Our algorithm uses an abstraction refinement based optimization process to synthesize programs which optimize the tradeoff between the loss over the noisy dataset and the complexity of the synthesized program. The algorithm uses abstractions to divide the search space of programs into subspaces by computing an abstract value that represents outputs for all programs in a subspace. The abstract value allows our algorithm to compute, for each subspace, a sound approximate lower bound of the loss over all programs in the subspace. It iteratively refines these abstractions to further subdivide the space into smaller subspaces, prune subspaces that do not contain an optimal program, and eventually synthesize an optimal program. We implemented this algorithm in a tool called Rose. We compare Rose to a current state-of-the-art noisy program synthesis system using the SyGuS 2018 benchmark suite. Our evaluation demonstrates that Rose significantly outperforms this previous system: on two noisy benchmark program synthesis problems sets drawn from the SyGus 2018 benchmark suite, Rose delivers speedups of up to 1587 and 81.7, with median speedups of 20.5 and 81.7. Rose also terminates on 20 (out of 54) and 4 (out of 11) more benchmark problems than the previous system. Both Rose and the previous system synthesize programs that are optimal over the provided noisy data sets. For the majority of the problems in the benchmark sets ($272$ out of $286$), the synthesized programs also produce correct outputs for all inputs in the original (unseen) noise-free data set. These results highlight the benefits that Rose can deliver for effective noisy program synthesis.


翻译:我们提出了一个新的合成算法, 以解决在噪音数据集上的程序合成, 即可能包含不正确/ 中断输入输出示例的数据。 我们的算法使用一个基于抽象的精细优化优化程序, 以综合程序, 优化噪音数据集损失与合成程序复杂性之间的权衡。 算法使用抽象的算法, 将程序搜索空间分成子空间, 计算出在子空间中代表所有程序输出的抽象值。 抽象值使我们的算法能够对每个子空间中所有程序的损失进行精确的较低约束。 它反复完善这些抽象性, 将空间进一步细分为较小的子空间, Prume 子空间不包含最佳程序, 并最终合成一个最佳程序。 我们在名为Rose的工具中应用了这个算法将程序搜索空间的搜索空间分为一个小空间。 我们用SyGue 2018 基准套计算出一个当前最先进的程序合成系统。 我们的评估显示, Rose 明显超越了这个系统: 从 SyGue 205 中绘制的两个更精确的基准化的合成程序集集集, 提供 205 20 的精确的精确的精确的系统 和 2087 标准 的精化系统 。

0
下载
关闭预览

相关内容

专知会员服务
16+阅读 · 2021年5月21日
专知会员服务
26+阅读 · 2021年4月13日
专知会员服务
41+阅读 · 2020年9月6日
【2020新书】现代C++初学者指南,301页pdf
专知会员服务
163+阅读 · 2020年7月24日
【Uber AI新论文】持续元学习,Learning to Continually Learn
专知会员服务
37+阅读 · 2020年2月27日
【论文推荐】小样本视频合成,Few-shot Video-to-Video Synthesis
专知会员服务
24+阅读 · 2019年12月15日
机器学习入门的经验与建议
专知会员服务
94+阅读 · 2019年10月10日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
53+阅读 · 2019年9月29日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
逆强化学习-学习人先验的动机
CreateAMind
16+阅读 · 2019年1月18日
Unsupervised Learning via Meta-Learning
CreateAMind
43+阅读 · 2019年1月3日
Disentangled的假设的探讨
CreateAMind
9+阅读 · 2018年12月10日
已删除
将门创投
5+阅读 · 2018年2月28日
【论文】变分推断(Variational inference)的总结
机器学习研究会
39+阅读 · 2017年11月16日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Arxiv
7+阅读 · 2020年3月1日
Arxiv
3+阅读 · 2018年4月10日
VIP会员
相关VIP内容
专知会员服务
16+阅读 · 2021年5月21日
专知会员服务
26+阅读 · 2021年4月13日
专知会员服务
41+阅读 · 2020年9月6日
【2020新书】现代C++初学者指南,301页pdf
专知会员服务
163+阅读 · 2020年7月24日
【Uber AI新论文】持续元学习,Learning to Continually Learn
专知会员服务
37+阅读 · 2020年2月27日
【论文推荐】小样本视频合成,Few-shot Video-to-Video Synthesis
专知会员服务
24+阅读 · 2019年12月15日
机器学习入门的经验与建议
专知会员服务
94+阅读 · 2019年10月10日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
53+阅读 · 2019年9月29日
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
逆强化学习-学习人先验的动机
CreateAMind
16+阅读 · 2019年1月18日
Unsupervised Learning via Meta-Learning
CreateAMind
43+阅读 · 2019年1月3日
Disentangled的假设的探讨
CreateAMind
9+阅读 · 2018年12月10日
已删除
将门创投
5+阅读 · 2018年2月28日
【论文】变分推断(Variational inference)的总结
机器学习研究会
39+阅读 · 2017年11月16日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Top
微信扫码咨询专知VIP会员