One of the most challenging goals in designing intelligent systems is empowering them with the ability to synthesize programs from data. Namely, given specific requirements in the form of input/output pairs, the goal is to train a machine learning model to discover a program that satisfies those requirements. A recent class of methods exploits combinatorial search procedures and deep learning to learn compositional programs. However, they usually generate only toy programs using a domain-specific language that does not provide any high-level feature, such as function arguments, which reduces their applicability in real-world settings. We extend upon a state of the art model, AlphaNPI, by learning to generate functions that can accept arguments. This improvement will enable us to move closer to real computer programs. Moreover, we investigate employing an Approximate version of Monte Carlo Tree Search (A-MCTS) to speed up convergence. We showcase the potential of our approach by learning the Quicksort algorithm, showing how the ability to deal with arguments is crucial for learning and generalization.
翻译:设计智能系统最具有挑战性的目标之一是赋予它们从数据中合成程序的能力。 也就是说, 考虑到投入/ 产出对等形式的具体要求, 目标是训练一个机器学习模型来发现一个符合这些要求的程序。 最近一类方法利用组合搜索程序和深层学习合成程序。 然而, 它们通常只产生玩具程序, 使用没有提供任何高层次特征的域名语言, 比如功能参数参数, 从而降低其在现实世界环境中的可应用性。 我们扩展到艺术模型的状态, 阿尔法- 内普( AlphaNPI), 通过学习生成能够接受参数的功能。 这一改进将使我们能够更接近真正的计算机程序。 此外, 我们调查使用蒙特卡洛树搜索( A- MCTS) 的近似版本来加速融合。 我们通过学习Quicksort 算法来展示我们方法的潜力, 显示处理参数的能力对于学习和普及至关重要 。