Skip to main content
QUICK REVIEW

[论文解读] Strong Generalization and Efficiency in Neural Programs

Yujia Li, Felix Gimeno|arXiv (Cornell University)|Jul 7, 2020
Reinforcement Learning in Robotics参考文献 30被引用 19
一句话总结

本文提出了一种新颖的框架,结合模仿学习与强化学习,训练神经程序以实现对任意输入规模的强泛化能力,并在效率上超越手工编码的算法。通过设计受CPU指令集启发的专用神经接口,并利用强化学习优化效率,模型学习到了排序、搜索和0/1背包算法,其性能优于传统实现方式(包括快速排序),同时达到O(n log n)的时间复杂度,并在训练分布之外实现完美泛化。

ABSTRACT

We study the problem of learning efficient algorithms that strongly generalize in the framework of neural program induction. By carefully designing the input / output interfaces of the neural model and through imitation, we are able to learn models that produce correct results for arbitrary input sizes, achieving strong generalization. Moreover, by using reinforcement learning, we optimize for program efficiency metrics, and discover new algorithms that surpass the teacher used in imitation. With this, our approach can learn to outperform custom-written solutions for a variety of problems, as we tested it on sorting, searching in ordered lists and the NP-complete 0/1 knapsack problem, which sets a notable milestone in the field of Neural Program Induction. As highlights, our learned model can perform sorting perfectly on any input data size we tested on, with $O(n log n)$ complexity, whilst outperforming hand-coded algorithms, including quick sort, in number of operations even for list sizes far beyond those seen during training.

研究动机与目标

  • 开发能够对训练分布之外的任意输入规模实现强泛化能力的神经程序归纳模型。
  • 优化算法效率(例如操作次数、时间复杂度),而不仅关注正确性。
  • 通过强化学习发现超越手工编码教师策略的更高效新算法。
  • 研究输入/输出接口设计对神经程序学习中泛化能力与效率的影响。
  • 证明神经模型在NP完全问题与排序任务中,可在正确性与效率两方面超越经典算法。

提出的方法

  • 设计一个具有自定义指令集与内存接口的神经控制器,受CPU架构启发,以实现对程序执行的精确控制。
  • 使用模仿学习与监督损失预训练模型,使其在有限输入规模上模仿教师算法(例如冒泡排序、插入排序、快速排序)。
  • 应用强化学习并使用形状化奖励与稀疏奖励,以优化操作次数与回合长度等效率指标。
  • 通过课程学习策略,逐步增加输入规模进行训练(例如冒泡-插入排序为10–20,快速排序为30–50),以提升训练稳定性。
  • 利用展开长度与奖励形状引导策略学习,使模型趋向高效且正确的行为,而不过度依赖模仿。
  • 通过在远超训练范围的输入规模上测试,评估泛化能力,包括排序任务中高达1000个元素的输入。

实验结果

研究问题

  • RQ1神经程序能否在远超训练阶段所见规模的输入上实现正确泛化?
  • RQ2神经模型的输入/输出接口设计如何影响泛化能力与效率?
  • RQ3强化学习能否发现比模仿阶段所用教师策略更高效的算法?
  • RQ4神经模型在操作次数与时间复杂度方面,能在多大程度上超越手工编码算法?
  • RQ5是否可能通过神经程序归纳学习到0/1背包问题等NP完全问题的可证明正确且高效的算法?

主要发现

  • 该模型在排序任务中实现了完美泛化,能正确排序任意测试规模的数组,包括高达1000个元素,且时间复杂度为O(n log n)。
  • 所学习的模型在操作次数方面优于手工编码的快速排序,即使在远超训练阶段所见规模的输入上也表现更优。
  • 使用稀疏奖励的强化学习所生成的算法性能优于仅使用模仿学习的模型,最佳模型在效率上甚至超越了教师策略。
  • 使用奖励形状的模型收敛更快,但稀疏奖励设置最终生成的策略效率更高。
  • 与教师策略相比,神经程序展现出截然不同的、非模仿的行为模式,如执行轨迹视频所示,表明其发现了新型算法策略。
  • 该方法成功学习到0/1背包问题的高效解法,标志着神经程序归纳领域的一项里程碑式进展。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。