[NIPS2018]Library Learning for Neurally-Guided Bayesian Program Induction
作者:Kevin Ellis,Lucas Morales,Mathias Sablé-Meyer,Armando Solar-Lezama,Joshua B. Tenenbaum。(MIT)
1. 摘要
一般的程序归纳方法需要手工定义一个DSL(domain-specific language),用来限制程序的搜索空间并预定义一些程序的先验知识。而该文则提出了一种称之为EC2的方法,可以在训练用来搜索程序的神经网络时,进一步的学习新的函数并添加到DSL中(library of program components),然后在更新后的DSL中重新搜索程序。
2. 问题定义
该文提出的方法是在训练用以搜寻程序的神经网络时,不断更新并丰富DSL。上面是文章中举出的可以使用该方法的三个场景。三个例子分别为列表处理List Processing,文本编辑和符号回归,前两个输入为一些输入输出对,通过输入输出对有监督的学习出一个正确的程序,最后一个为输入图像,在提前限制的有理函数中利用神经网络搜索程序。
3. 方法介绍
EC2(ECC, Explore/Compress/Compile)。
Explore阶段,给定任务(如几百个例子),按照当前的DSL和神经网络搜索符合条件的程序。