基于优先队列训练的神经网络程序合成
人工智能
2018-03-28 v2
摘要
我们考虑在存在关于程序输出的奖励函数情况下的程序合成任务,其目标是找到奖励最大的程序。我们采用一种迭代优化方案:在优先队列中当前已生成程序的前 K 个最佳程序组成的数据集上训练一个 RNN,然后通过从 RNN 采样合成新程序并加入优先队列。我们将所提称为优先队列训练(PQT)的算法,在一种简单但具图灵完备性的编程语言 BF 上,与遗传算法及强化学习基线进行基准比较。实验结果表明,我们简单的 PQT 算法显著优于基线。通过对奖励函数加入程序长度惩罚,我们能够合成简短且人类可读的程序。
引用
@article{arxiv.1801.03526,
title = {Neural Program Synthesis with Priority Queue Training},
author = {Daniel A. Abolafia and Mohammad Norouzi and Jonathan Shen and Rui Zhao and Quoc V. Le},
journal= {arXiv preprint arXiv:1801.03526},
year = {2018}
}