A simple neural network module for relational reasoning

by   Adam Santoro, et al.

Relational reasoning is a central component of generally intelligent behavior, but has proven difficult for neural networks to learn. In this paper we describe how to use Relation Networks (RNs) as a simple plug-and-play module to solve problems that fundamentally hinge on relational reasoning. We tested RN-augmented networks on three tasks: visual question answering using a challenging dataset called CLEVR, on which we achieve state-of-the-art, super-human performance; text-based question answering using the bAbI suite of tasks; and complex reasoning about dynamic physical systems. Then, using a curated dataset called Sort-of-CLEVR we show that powerful convolutional networks do not have a general capacity to solve relational questions, but can gain this capacity when augmented with RNs. Our work shows how a deep learning architecture equipped with an RN module can implicitly discover and learn to reason about entities and their relations.


Finding ReMO (Related Memory Object): A Simple Neural Architecture for Text based Reasoning

To solve the text-based question and answering task that requires relati...

Recurrent Relational Networks for Complex Relational Reasoning

Humans possess an ability to abstractly reason about objects and their i...

What Can Neural Networks Reason About?

Neural networks have successfully been applied to solving reasoning task...

Relationships from Entity Stream

Relational reasoning is a central component of intelligent behavior, but...

A Question-Answering framework for plots using Deep learning

Deep Learning has managed to push boundaries in a wide variety of tasks....

Relational Gating for "What If" Reasoning

This paper addresses the challenge of learning to do procedural reasonin...

Not-So-CLEVR: Visual Relations Strain Feedforward Neural Networks

The robust and efficient recognition of visual relations in images is a ...

Code Repositories


keras implementation of [A simple neural network module for relational reasoning](https://arxiv.org/pdf/1706.01427.pdf)

view repo


Tensorflow implementation of Relation Network (bAbI dataset)

view repo


Relation Networks for CLEVR implemented in PyTorch

view repo


Tensorflow Implementation of Relation Networks for the bAbI QA Task, detailed in "A Simple Neural Network Module for Relational Reasoning," [https://arxiv.org/abs/1706.01427] by Santoro et. al.

view repo


Implementation of "Matching Networks for One Shot Learning" in Keras https://arxiv.org/abs/1606.04080

view repo

Please sign up or login with your details

Forgot password? Click here to reset