神经编程器比快速排序更好

2020-07-10 14:04:08

下载PDF摘要:在神经程序归纳的框架下,我们研究了学习强泛化的高效算法的问题。通过仔细设计神经模型的输入/输出接口,并通过仿真,我们能够学习到对任意输入大小都能产生正确结果的模型,实现了很强的泛化。此外,通过使用强化学习,我们对程序效率度量进行了优化,并发现了新的算法,这些算法超过了老师在模拟中使用的算法。有了这一点,我们的方法可以学会在各种问题上优于自定义编写的解决方案,因为我们在排序、有序列表中的搜索和NP-Complete 0/1背包问题上进行了测试,这在神经程序归纳领域建立了一个值得注意的里程碑。作为亮点,我们的学习模型可以完美地对我们测试的任何输入数据大小执行排序,复杂度为$O(Nlogn)$,同时在操作数量上优于手工编码的算法,包括快速排序,即使是对于远远超过训练期间看到的列表大小的操作。