Dynamic Routing Between Capsules

Sara Sabour, Nicholas Frosst, Geoffrey E Hinton
10/26/2017
cs.CV

Official code: Sarasra/models (2,882 stars, Apache-2.0, last commit 2019-12-14).

Abstract

A capsule is a group of neurons whose activity vector represents the instantiation parameters of a specific type of entity such as an object or an object part. We use the length of the activity vector to represent the probability that the entity exists and its orientation to represent the instantiation parameters. Active capsules at one level make predictions, via transformation matrices, for the instantiation parameters of higher-level capsules. When multiple predictions agree, a higher level capsule becomes active. We show that a discrimininatively trained, multi-layer capsule system achieves state-of-the-art performance on MNIST and is considerably better than a convolutional net at recognizing highly overlapping digits. To achieve these results we use an iterative routing-by-agreement mechanism: A lower-level capsule prefers to send its output to higher level capsules whose activity vectors have a big scalar product with the prediction coming from the lower-level capsule.

View on arXivView PDF

Code Implementations(1)

Sarasra/modelsOfficial100%
Apache-2.0

Models and examples built with TensorFlow

2,8821,139C++, GLSLJan 26, 20186 years agoApache-2.0

Similar Papers

Cite this paper

@article{sabour2017dynamic,
  title  = {Dynamic Routing Between Capsules},
  author = {Sara Sabour and Nicholas Frosst and Geoffrey E Hinton},
  year   = {2017},
  eprint = {1710.09829},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1710.09829}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1710.09829.svg)](https://codeofpaper.com/paper/1710.09829)

Discussion