论文标题
在神经程序中的强大概括和效率
Strong Generalization and Efficiency in Neural Programs
论文作者
论文摘要
我们研究了在神经程序诱导框架中强烈推广的有效学习算法的问题。通过仔细设计神经模型的输入 /输出界面,并通过模仿,我们能够学习为任意输入大小而产生正确结果的模型,从而实现强大的概括。此外,通过使用强化学习,我们为程序效率指标进行了优化,并发现超过模仿教师的新算法。这样,我们的方法可以学会胜过各种问题的定制解决方案,因为我们在分类,在有序列表中进行搜索和NP核算的0/1 knapsack问题进行了测试,这在神经程序诱导领域设定了一个显着的里程碑。作为亮点,我们学到的模型可以在我们测试的任何输入数据大小上完美地进行分类,具有$ O(n log n)$复杂性,同时表现优于手工编码的算法(包括快速排序),甚至在列表尺寸的列表尺寸的数量远远超出了训练中所看到的列表尺寸。
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.