论文标题

Dreamcoder:通过唤醒鼻唇贝叶斯计划学习的越来越多的可解释知识学习

DreamCoder: Growing generalizable, interpretable knowledge with wake-sleep Bayesian program learning

论文作者

Ellis, Kevin, Wong, Catherine, Nye, Maxwell, Sable-Meyer, Mathias, Cary, Luc, Morales, Lucas, Hewitt, Luke, Solar-Lezama, Armando, Tenenbaum, Joshua B.

论文摘要

解决问题的专家问题是由强大的语言驱动的,以思考问题及其解决方案。获得专业知识意味着学习这些语言 - 概念系统,以及使用它们的技能。我们介绍Dreamcoder,该系统学会通过编写程序来解决问题。它通过创建用于表达域概念的编程语言以及神经网络来建立专业知识,以指导这些语言中的程序搜索。 ``Wake-Sleep''学习算法交替地扩展了语言,并通过新的符号抽象扩展了语言,并在想象中和重播问题上训练神经网络。 Dreamcoder解决了经典的归纳编程任务和创意任务,例如绘制图片和建筑场景。它重新发现了现代功能编程,矢量代数和古典物理学的基础知识,包括牛顿和库仑的定律。概念是从早些时候学到的那些人中构建的,产生了可解释和转移到新任务的多层符号表示,同时仍然可以通过经验来稳定而灵活地成长。

Expert problem-solving is driven by powerful languages for thinking about problems and their solutions. Acquiring expertise means learning these languages -- systems of concepts, alongside the skills to use them. We present DreamCoder, a system that learns to solve problems by writing programs. It builds expertise by creating programming languages for expressing domain concepts, together with neural networks to guide the search for programs within these languages. A ``wake-sleep'' learning algorithm alternately extends the language with new symbolic abstractions and trains the neural network on imagined and replayed problems. DreamCoder solves both classic inductive programming tasks and creative tasks such as drawing pictures and building scenes. It rediscovers the basics of modern functional programming, vector algebra and classical physics, including Newton's and Coulomb's laws. Concepts are built compositionally from those learned earlier, yielding multi-layered symbolic representations that are interpretable and transferrable to new tasks, while still growing scalably and flexibly with experience.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源