Skip to yearly menu bar Skip to main content


Perceiver IO: A General Architecture for Structured Inputs & Outputs

Andrew Jaegle · Sebastian Borgeaud · Jean-Baptiste Alayrac · Carl Doersch · Catalin Ionescu · Fengning Ding · Skanda Koppula · Daniel Zoran · Andrew Brock · Evan Shelhamer · Olivier Henaff · Matthew Botvinick · Andrew Zisserman · Oriol Vinyals · Joao Carreira

Keywords: [ computer vision ] [ BERT ] [ natural language processing ] [ glue ] [ Multimodal ] [ starcraft ] [ imagenet ]


A central goal of machine learning is the development of systems that can solve many problems in as many data domains as possible. Current architectures, however, cannot be applied beyond a small set of stereotyped settings, as they bake in domain & task assumptions or scale poorly to large inputs or outputs. In this work, we propose Perceiver IO, a general-purpose architecture that handles data from arbitrary settings while scaling linearly with the size of inputs and outputs. Our model augments the Perceiver with a flexible querying mechanism that enables outputs of various sizes and semantics, doing away with the need for task-specific architecture engineering. The same architecture achieves strong results on tasks spanning natural language and visual understanding, multi-task and multi-modal reasoning, and StarCraft II. As highlights, Perceiver IO outperforms a Transformer-based BERT baseline on the GLUE language benchmark despite removing input tokenization and achieves state-of-the-art performance on Sintel optical flow estimation with no explicit mechanisms for multiscale correspondence.

Chat is not available.