神经程序员-解释器
机器学习
2016-03-01 v4 神经与进化计算
摘要
我们提出了神经程序员-解释器(NPI):一种递归且可组合的神经网络,能够学习表示和执行程序。NPI 具有三个可学习组件:一个与任务无关的递归核心,一个持久键值程序记忆,以及特定领域的编码器,使单个 NPI 能够在多个具有不同可见度且具有不同示能性的感知环境中运行。通过学习组合低层程序来表达高层程序,与序列到序列 LSTM 相比,NPI 降低了样本复杂度并提高了泛化能力。程序记忆允许通过在现有程序基础上构建来高效学习额外任务。NPI 还可以利用环境(例如带有读写指针的暂存器)来缓存计算的中间结果,从而减轻递归隐单元的长期记忆负担。在本工作中,我们使用全监督执行轨迹训练 NPI;每个程序都有以输入为条件的对直接子程序调用的示例序列。NPI 不是在大量相对弱的标签上进行训练,而是从少量丰富示例中学习。我们展示了我们的模型学习几种类型可组合程序的能力:加法、排序和 3D 模型规范化。此外,单个 NPI 学习执行这些程序及所有 21 个关联子程序。
引用
@article{arxiv.1511.06279,
title = {Neural Programmer-Interpreters},
author = {Scott Reed and Nando de Freitas},
journal= {arXiv preprint arXiv:1511.06279},
year = {2016}
}
备注
ICLR 2016 conference submission