ProTo: Program-Guided Transformer for Program-Guided Tasks
arXiv:2110.00804
Abstract
Programs, consisting of semantic and structural information, play an important role in the communication between humans and agents. Towards learning general program executors to unify perception, reasoning, and decision making, we formulate program-guided tasks which require learning to execute a given program on the observed task specification. Furthermore, we propose the Program-guided Transformer (ProTo), which integrates both semantic and structural guidance of a program by leveraging cross-attention and masked self-attention to pass messages between the specification and routines in the program. ProTo executes a program in a learned latent space and enjoys stronger representation ability than previous neural-symbolic approaches. We demonstrate that ProTo significantly outperforms the previous state-of-the-art methods on GQA visual reasoning and 2D Minecraft policy learning datasets. Additionally, ProTo demonstrates better generalization to unseen, complex, and human-written programs.
arXiv commentAccepted in NeurIPS 2021
References in corpus (18)
- An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
- XLNet: Generalized Autoregressive Pretraining for Language Understanding
- Hierarchical Question-Image Co-Attention for Visual Question Answering
- Simple Baseline for Visual Question Answering
- Neural-Symbolic Learning and Reasoning: A Survey and Interpretation
- Neural GPUs Learn Algorithms
- ResT: An Efficient Transformer for Visual Recognition
- The Neuro-Symbolic Concept Learner: Interpreting Scenes, Words, and Sentences From Natural Supervision
- Code Structure Guided Transformer for Source Code Summarization
- Unicoder: A Universal Language Encoder by Pre-training with Multiple Cross-lingual Tasks
- RobustFill: Neural Program Learning under Noisy I/O
- Neural-Symbolic Computing: An Effective Methodology for Principled Integration of Machine Learning and Reasoning
- Learning to Infer and Execute 3D Shape Programs
- Towards Synthesizing Complex Programs from Input-Output Examples
- Hierarchical Reinforcement Learning for Zero-shot Generalization with Subtask Dependencies
- Learning to Execute Programs with Instruction Pointer Attention Graph Neural Networks
- Object-Centric Diagnosis of Visual Reasoning
- Differentiable Functional Program Interpreters