DreamCoder:通过醒睡贝叶斯程序学习增长可泛化、可解释的知识
人工智能
2020-06-16 v1 机器学习
摘要
专家的问题解决由其用于思考问题和解决方案的强大语言所驱动。获取专业知识意味着学习这些语言——概念系统,以及使用它们的技能。我们提出DreamCoder,一个通过编写程序来学习解决问题的系统。它通过创建用于表达领域概念的编程语言,以及引导在这些语言内搜索程序的神经网络来构建专业知识。一种“醒睡”学习算法交替地用新的符号抽象扩展语言,并在想象和重放的问题上训练神经网络。DreamCoder既解决经典的归纳编程任务,也解决如绘图和构建场景等创造性任务。它重新发现了现代函数式编程、向量代数和经典物理(包括牛顿定律和库仑定律)的基础。概念由较早学习的那些组合构建,产生可解释且可迁移到新任务的多层符号表示,同时仍随经验可扩展且灵活地增长。
引用
@article{arxiv.2006.08381,
title = {DreamCoder: Growing generalizable, interpretable knowledge with wake-sleep Bayesian program learning},
author = {Kevin Ellis and Catherine Wong and Maxwell Nye and Mathias Sable-Meyer and Luc Cary and Lucas Morales and Luke Hewitt and Armando Solar-Lezama and Joshua B. Tenenbaum},
journal= {arXiv preprint arXiv:2006.08381},
year = {2020}
}