
摘要
程序由语义和结构信息组成,在人类与智能体之间的通信中发挥着重要作用。为了学习通用的程序执行器以统一感知、推理和决策,我们提出了程序引导的任务,这些任务需要学习在观察到的任务规范上执行给定的程序。此外,我们提出了一种程序引导的变压器(Program-guided Transformer, ProTo),该模型通过利用交叉注意力和掩码自注意力机制在任务规范与程序中的例程之间传递消息,从而整合了程序的语义和结构指导。ProTo 在一个学习到的潜在空间中执行程序,其表示能力比以往的神经符号方法更强。我们在 GQA 视觉推理数据集和 2D Minecraft 策略学习数据集上展示了 ProTo 显著优于先前的最先进方法。此外,ProTo 对未见过的、复杂的以及人类编写的程序表现出更好的泛化能力。