Original: M ATRIX CAPSULES WITH EM ROUTING
Revised: M ATRIX CAPSULES WITH EM ROUTING

Original: Anonymous authors
Revised: Anonymous authors

Original: Paper under double-blind review
Revised: Paper under double-blind review

Original: A BSTRACT
Revised: A BSTRACT

Original: A capsule is a group of neurons whose outputs represent different properties of the same entity.
Revised: A capsule is a group of neurons whose outputs represent different properties of the same entity.

Revised: Each layer in a capsule network contains many capsules [a group of capsules forms a capsule layer and can be used in place of a traditional layer in a neural net].

Original: We describe a version of capsules in which each capsule has a logistic unit to represent the presence of an entity and a 4x4pose matrix which could learn to represent the relationship between that entity and the viewer.
Revised: We describe a version of capsules in which each capsule has a logistic unit to represent the presence of an entity and a 4x4 matrix which could learn to represent the relationship between that entity and the viewer (the pose).

Original: A capsule in one layer votes for the pose matrix of many different capsules in the layer above by multiplying its own pose matrix by  viewpoint-invariant transformation matrices that could learn to represent part-whole relationships.
Revised: A capsule in one layer votes for the pose matrix of many different capsules in the layer above by multiplying its own pose matrix by trainable viewpoint-invariant transformation matrices that could learn to represent part-whole relationships.

Original: Each of these votes is weighted by an assignment coefﬁcient.
Revised: Each of these votes is weighted by an assignment coefﬁcient.

Original: These coefﬁcients are iteratively updated  using the EM algorithm such that the output of each capsule is routed to a capsule in the layer above that receives a cluster of similar votes.
Revised: These coefﬁcients are iteratively updated for each image using the Expectation-Maximization algorithm such that the output of each capsule is routed to a capsule in the layer above that receives a cluster of similar votes.

Original: The whole system is trained discriminatively by unrolling 3 iterations of EM between each pair of adjacent  layers.
Revised: The transformation matrices are trained discriminatively by backpropagating through the unrolled iterations of EM between each pair of adjacent capsule layers.

Original: On the smallNORB benchmark, capsules reduce the number of test errors by 45% compared to the state-of-the-art.
Revised: On the smallNORB benchmark, capsules reduce the number of test errors by 45% compared to the state-of-the-art.

Original: Capsules also show far more resistance to white box adversarial attack than our baseline convolutional neural network.
Revised: Capsules also show far more resistance to white box adversarial attack than our baseline convolutional neural network.

Original:  I NTRODUCTION
Revised:  I NTRODUCTION

Original: Convolutional neural nets are based on a simple fact and a simple mechanism: a vision system needs to use the same knowledge at all locations in the image; this can be achieved by tying the weights of features detectors so that features learned at one location are available at other locations.
Revised: Convolutional neural nets are based on the simple fact that a vision system needs to use the same knowledge at all locations in the image. This is achieved by tying the weights of feature detectors so that features learned at one location are available at other locations.

Original: Convolutional capsules extend the sharing of knowledge across locations to include knowledge about the part-whole relationships that characterize a familiar shape.
Revised: Convolutional capsules extend the sharing of knowledge across locations to include knowledge about the part-whole relationships that characterize a familiar shape.

Original: Viewpoint changes have complicated effects on pixel intensities but simple, linear effects on the pose matrix that represents the relationship between an object or object-part and the viewer.
Revised: Viewpoint changes have complicated effects on pixel intensities but simple, linear effects on the pose matrix that represents the relationship between an object or object-part and the viewer.

Original: The aim of capsules is to make good use of this underlying linearity, both for dealing with viewpoint variation and  improving segmentation decisions.
Revised: The aim of capsules is to make good use of this underlying linearity, both for dealing with viewpoint variation and for improving segmentation decisions.

Original: Capsules use high-dimensional coincidence ﬁltering: a familiar object can be detected by looking for agreement between votes for its pose matrix.
Revised: Capsules use high-dimensional coincidence ﬁltering: a familiar object can be detected by looking for agreement between votes for its pose matrix.

Original: These votes come from parts that have already been detected.
Revised: These votes come from parts that have already been detected.

Original: A part produces a vote by multiplying its own pose matrix by a  transformation matrix that represents the viewpoint invariant relationship between the part and the whole.
Revised: A part produces a vote by multiplying its own pose matrix by a learned transformation matrix that represents the viewpoint invariant relationship between the part and the whole.

Original: As the viewpoint changes, the pose matrices of the parts and the whole will change in a coordinated way so that any agreement between votes from different parts will persist.
Revised: As the viewpoint changes, the pose matrices of the parts and the whole will change in a coordinated way so that any agreement between votes from different parts will persist.

Original: Finding tight clusters of high-dimensional votes that agree in a mist of irrelevant votes is one way of solving the problem of assigning parts to wholes.
Revised: Finding tight clusters of high-dimensional votes that agree in a mist of irrelevant votes is one way of solving the problem of assigning parts to wholes.

Original: It is non-trivial because we cannot grid the high-dimensional space.
Revised: It is non-trivial because we cannot grid the high-dimensional pose space [in the way the translation space is gridded to facilitate convolutions].

Original: To solve this challenge, we use a fast iterative process called ”routing-by-agreement” that updates the probability with which a part is assigned to a whole based on the proximity of the vote coming from that part to the votes coming from other parts that are assigned to the whole.
Revised: To solve this challenge, we use a fast iterative process called ”routing-by-agreement” that updates the probability with which a part is assigned to a whole based on the proximity of the vote coming from that part to the votes coming from other parts that are assigned to that whole.

Original: This is a powerful segmentation principle that allows knowledge of familiar shapes to drive segmentation, rather than just using low-level cues such as proximity or agreement in color or velocity.
Revised: This is a powerful segmentation principle that allows knowledge of familiar shapes to drive segmentation, rather than just using low-level cues such as proximity or agreement in color or velocity.

Original: Hinton et al. (2011) used a transformation matrix in a transforming autoencoder that learned to transform a stereo pair of images into a stereo pair from a slightly different viewpoint.
Revised: An important difference between capsules and standard neural nets is that the activation of a capsule is based on a comparison between multiple incoming pose predictions whereas in a standard neural net it is based on a comparison between a single incoming activity vector and a learned weight vector.

Original:  However, that system required the transformation matrix to be supplied externally. More recently, routing-byagreement was shown to be very effective for segmenting highly overlapping digits (Sabour et al. but that system has several deﬁciencies that we have defeated in our work: It uses the length of the pose vector to represent the probability that the entity represented by a capsule is present.
Revised:  H OW CAPSULES WORK

Original: To keep the length less than 1 requires an unprincipled non-linearity that prevents there from being any sensible objective functionthat is minimized by the iterative routing procedure.
Revised: Neural nets typically use simple non-linearities in which a non-linear function is applied to the scalar output of a linear ﬁlter.

Original: It uses the cosine of the angle between two pose vectors to measure their agreement.
Revised: They may also use softmax non-linearities that convert a whole vector of logits into a vector of probabilities.

Original: Unlike the log variance of a Gaussian cluster, the cosine is not good at distinguishing between quite good agreement and very good agreement. It uses a vector oflength n rather than a matrix with n elements to represent a pose, so its transformation matrices have n 2 parameters rather than just n . 1. R ELATED WORK Among the multiple recent attempts on bringing underlying afﬁne manifold of images to CNNs, the two main streams are attempts on gaining viewpoint invarient vs equivarient.
Revised: Capsules use a much more complicated non-linearity that converts the whole set of activation probabilities and poses of the capsules in one layer into the activation probabilities and poses of capsules in the next layer.

Original: Spatial transformer networks (Jaderberg et al.
Revised: A capsule network consists of several layers of capsules.

Original: (2015) seeks viewpoint invarient by changing the sampling of CNNs according to a selection of afﬁne transformations. De Brabandere et al. (2016) extends spatial transformer networks where ﬁlters are adapted during inference depending on the input.
Revised: The set of capsules in layer L is denoted Ω L .

Original: They generate different ﬁlters for each locality in the feature map rather than applying the same transformation to all ﬁlters. Their approach is a step toward input covariance detection from traditional pattern matching frameworks like  standardconvolutional neural networks (LeCun et al.
Revised: Each capsule has a 4x4 pose matrix, M , and an activation probability, a . These are like the activities in a standard neural net: they depend on the current input and are not stored. In between each capsule i in layer L and each capsule j in layer L + 1 is a 4x4 trainable transformation matrix,

Original: Dai et al.
Revised: W ij .

Original: (2017) also improves upon STNs by generalizing the sampling method of ﬁlters. Our work differs substantially in that a unit is not activated based on the matching score with a ﬁlter (either ﬁxed or dynamically changing during inference).
Revised: These W ij (and two learned biases per capsule) are the only stored parameters and they are learned discriminatively.

Original: In our case, a capsule  isactivated only if the transformed poses coming from the layer below match each other. This is a more effective way to capture covariance and leads to models with many fewer parameters that generalize better. The success of CNNs has motivated many researchers to extend the translational equivariance built in to CNNs to include rotational equivariance (Cohen & Welling (2016), Dieleman et al. Oyallon & Mallat (2015)).
Revised: The pose matrix of capsule i is transformed by W ij to cast a vote

Original: The recent approach in Harmonic Networks (Worrall et al. (2017)) achieves rotation equivariant feature maps by using circular harmonic ﬁlters and returning both the maximal response and orientation using complex numbers. This shares the basic representational idea of capsules: By assuming that there is only one instance of the entity at a location, we can use several different numbers to represent its properties. They used a ﬁxed number of streams of rotation orders.
Revised: V ij =

Original: By enforcing the equality of the sum of rotation orders along any path they achieve patch-wise rotation equivariance. This approach is more parameter-efﬁcient than data augmentation approaches, duplicating feature maps, or duplicating ﬁlters (Fasel & Gatica-Perez (2006), Laptev et al. Our approach encodes general viewpoint equivarience rather than only Afﬁne 2D rotations. Symmetry networks (Gens & Domingos (2014)) uses iterative Lucas-Kanade optimization to ﬁnd poses that are supported by the most low-level features.
Revised: M i W ij for the pose matrix of capsule j .

Original: Their key weakness is that the iterative algorithm always starts at the same poses, rather than the mean of  the bottom-up votes. Lenc & Vedaldi (2016) proposes a feature detection mechanism (DetNet) that is equivariant to afﬁne transformations. DetNet is designed to detect the same points inthe image under different viewpoint variations. This effort is orthogonal to our work but DetNet might be a good way to implement the de-rendering ﬁrst-stage that activates the layerof primary capsules.
Revised: The poses and activations of all the capsules in layer

Original: Our routing algorithm can be seen as an attention mechanism. In this view it is related to work of Gregor et al. (2015), where they improved the decoder performance in a generative model by using
Revised: L + 1 are calculated by using a non-linear routing procedure which gets as input V ij and a i for all i ∈ Ω L , j ∈ Ω L +1 .

Original: Gaussian kernels to attend to different parts of the feature map generated by the encoder. Vaswani et al. (2017) uses a softmax attention mechanism to match parts of the query sequence to parts of the input sequence for the translation task and when generating an encoding for the query. They show improvement upon previous translation efforts using recurrent architectures.
Revised: The non-linear procedure is a version of the Expectation-Maximization procedure.

Original: Our algorithm has attention in the opposite direction. The competition is not between thelower-level capsules that a higher-level capsule might attend to. It is between  the higher-level capsules that a lower-level capsule might send its vote to.
Revised: It iteratively adjusts the means, variances, and activation probabilities of the capsules in layer L + 1 and the assignment probabilities between all i ∈ Ω L , j ∈ Ω L +1 . In appendix 1, we give a gentle intuitive introduction to routing-by-agreement and describe in detail how it relates to the EM algorithm for ﬁtting a mixture of Gaussians.

Original:  U SING EM FOR ROUTING - BY - AGREEMENT
Revised:  U SING EM FOR ROUTING - BY - AGREEMENT

Original: Let us suppose that we have already decided on the poses and activation probabilities of all the capsules in a layer and we now want to decide which capsules to activate in the layer above and how to assign each active lower-level capsule to one active higher-level capsule.
Revised: Let us suppose that we have already decided on the poses and activation probabilities of all the capsules in a layer and we now want to decide which capsules to activate in the layer above and how to assign each active lower-level capsule to one active higher-level capsule.

Original: For explanatory purposes, we start by assuming that all of the transformation matrices are the identity matrix because this makes it easy to map the assignment task onto the task of ﬁtting a mixture of Gaussians.

Original: Each capsule in the higher layer corresponds to a Gaussian and  each active capsule in the lower layer  corresponds to a data-point (or a fraction of a data-point if the capsule is partially active).
Revised: Each capsule in the higher layer corresponds to a Gaussian and the pose of each active capsule in the lower layer (converted to a vector) corresponds to a data-point (or a fraction of a data-point if the capsule is partially active).

Original: The only difference from a standard mixture of Gaussians is that we have far too many Gaussians so we need to introduce a penalty to stop us from assigning every data-point to a different Gaussian.

Original: Using the minimum description length principle we have a choice when deciding whether or not to activate a higher-level capsule.
Revised: Using the minimum description length principle we have a choice when deciding whether or not to activate a higher-level capsule.

Original: Choice 0 : if we do not activate it, we must pay a ﬁxed cost per data-point for describing the means of all the lower-level capsules that are assigned to a higherlevel capsule (assuming an improper uniform prior).
Revised: Choice 0 : if we do not activate it, we must pay a ﬁxed cost per data-point for describing the poses of all the lower-level capsules that are assigned to the higherlevel capsule. This cost is the negative log probability density of the data-point under an improper uniform prior.

Original: For fractional assignments we pay that fraction of the ﬁxed cost.
Revised: For fractional assignments we pay that fraction of the ﬁxed cost.

Original: Choice 1 : if we do activate the higher-level capsule we must pay a ﬁxed cost for coding its mean and  the fact that it is active and then pay additional costs, pro-rated by the assignment probabilities, for describing the discrepancies between the lower-level means and the values predicted for them when the mean of the higher-level capsule is used to predict them via the inverse of the transformation matrix.
Revised: Choice 1 : if we do activate the higher-level capsule we must pay a ﬁxed cost for coding its mean and variance and the fact that it is active and then pay additional costs, pro-rated by the assignment probabilities, for describing the discrepancies between the lower-level means and the values predicted for them when the mean of the higher-level capsule is used to predict them via the inverse of the transformation matrix.

Original: A much simpler way to compute the cost of describing the discrepancies is to use the squared distance between the mean of the higher-level capsule and the vote from the lower-level capsule, scaled by the variance of the higher-level capsule.
Revised: A much simpler way to compute the cost of describing a datapoint is to use the negative log probability density of that datapoint’s vote under the Gaussian distribution ﬁtted by whatever higher-level capsule it gets assigned to.

Original: This is incorrect because the transformation matrix may compress or expand probability density but we use itanyway because it saves us from having to perform any additional transformations during the iterative routing process.
Revised: This is incorrect for reasons explained in appendix 1, but we use it because it requires much less computation (also explained in the appendix).

Original: The difference in cost between these two choices, is  put through the logistic function on each iteration to determine the higher-level capsule’s activation probability.
Revised: The difference in cost between choice 0 and choice 1, is then put through the logistic function on each iteration to determine the higher-level capsule’s activation probability.

Original: If the transformation matrices are not the identity matrix, the iterative routing process differs from ﬁtting a standard mixture of Gaussians and the difference makes it converge much faster. The higherlevel capsules all get different views of the same set of data-points because they see the data-points transformed by different part-whole relationships. This means that data-points that form a tight cluster from the perspective of one capsule may be widely scattered from the perspective of another capsule. These different perspectives break the symmetry of the Gaussians much more strongly than simply starting with different means and variances.
Revised: Appendix 1 explains why the logistic is used.

Original: The cost of explaining a whole data-point i by using capsule c that has an axis-aligned covariance matrix is simply the sum over all dimensions of the cost of explaining each dimension, h , of i .
Revised: Using our efﬁcient approximation for choice 1 above, the cost of explaining a whole data-point i by using capsule j that has an axis-aligned covariance matrix is simply the sum over all dimensions of the cost of explaining each dimension, h , of the vote V ij .

Original: This is simply − ln
Revised: This is simply − ln

Original: ( P ih ) where P ih is the probability density of the h th component of the  vote from i under the capsule’s Gaussian model for dimension h which has variance  σ  2 h :
Revised: ( P hi | j ) where P hi | j is the probability density of the h th component of the vectorized vote V ij under j ’s Gaussian model for dimension h which has variance ( σ hj ) 2 and mean µ hj where µ j is the vectorized version of j ’s pose matrix M j .

Original: [Equation]
Revised: [Equation]

Original: Summing over all lower-level capsules for a single dimension of one higher-level capsule we get: cost h = (cid:88)
Revised: Summing over all lower-level capsules for a single dimension, h , of j we get: cost [Equation] = (cid:88)

Original: [Equation]
Revised: [Equation]

Original: Where (cid:80)i r i is the amount of data assigned to c ( i.e. the sum of its assignment probabilities, r i ), k is a constant and V ih is the value on dimension h of the vote from capsule i to capsule c .
Revised: Where (cid:80)

Original: V ih is the product of the the transformation matrix W ic that is learned discriminatively.
Revised: i r ij is the amount of data assigned to j , k is a constant and V hij is the value on dimension h of V ij .

Original: Turning on c increases the description length for the means of the lower-level capsules assigned to c by the sum of the cost over all dimensions, so we deﬁne the activation function of capsules c to be:
Revised: Turning on j increases the description length for the means of the lower-level capsules assigned to j by the sum of the cost over all dimensions so we deﬁne the activation function of capsules j to be:

Original: [Equation]
Revised: [Equation]

Original: where − b  represents the cost of describing the mean  of capsule c and λ is an inverse temperature parameter.
Revised: where − b j represents the cost of describing the mean and variance of capsule j and λ is an inverse temperature parameter.

Original: We learn b  discriminatively and set a ﬁxed schedule for λ as a hyper-parameter.
Revised: We learn b j discriminatively and set a ﬁxed schedule for λ as a hyperparameter.

Original: For ﬁnalizing the pose parameters and activations of the capsules in layer L + 1 we run the EM algorithm for few iterations (normally 3 ) after the pose parameters and activations have already been ﬁnalized in layer L .
Revised: For ﬁnalizing the pose parameters and activations of the capsules in layer L + 1 we run the EM algorithm for few iterations (normally 3 ) after the pose parameters and activations have already been ﬁnalized in layer L .

Original: The non-linearity implemented by a whole capsule layer is a form of cluster ﬁnding using the EM algorithm, so we call it EM Routing .
Revised: The non-linearity implemented by a whole capsule layer is a form of cluster ﬁnding using the EM algorithm, so we call it EM Routing .

Original: Procedure 1 Routing algorithm1 returns activation and pose of the capsules in layer L + 1 given the activations and votes of capsules in layer L .
Revised: Procedure 1 Routing algorithm returns activation and pose of the capsules in layer L + 1 given the activations and votes of capsules in layer L .

Original: V ich is an H dimensional vote from capsule i with activation a i in layer L to capsule c in layer L + 1 .
Revised: V hij is the h th dimension of the vote from capsule i with activation a i in layer L to capsule j in layer L + 1 .

Original: β a , β v are learned discriminatively and the inverse temperature λ increases at each iteration with a ﬁxed schedule.
Revised: β a , β v are learned discriminatively and the inverse temperature λ increases at each iteration with a ﬁxed schedule.

Original: 1: procedure EM R OUTING ( a , V ) 2: ∀ i, c : R ic ← 1 /size
Revised: 1: procedure EM R OUTING ( a , V ) 2: [Equation]

Original: ( L + 1) 3: for t iterations do 4: ∀ c : M c : , S c :, a (cid:48) c
Revised: 1 / | Ω L +1 | 3: for t iterations do 4: ∀ j ∈ Ω L +1 :

Original: ← M-
Revised: M-

Original: STEP (R : c , a ,  V : c : ) 5: ∀ i  :R i : ← E- STEP ( M , S , a(cid:48) , V  i:: ) return a(cid:48) , M 1: procedure
Revised: STEP ( a , R , V , j ) 5: ∀ i ∈ Ω L : E- STEP ( µ , σ , a , V , i ) return a , M 1: procedure

Original: M-
Revised: M-

Original: STEP (r , a ,  V (cid:48) ) (cid:46) for one higher-level capsule 2: ∀ 
Revised: STEP ( a , R , V , j ) (cid:46) for one higher-level capsule 2: ∀ i ∈

Original: i : r (cid:48) i ← r i ∗ a i 3: ∀ h : µ h ← (cid:80) ir (cid:48)
Revised: Ω L : R ij ← R ij ∗ a i 3: ∀ h : µ hj ← (cid:80) i

Original: i V (cid:48) ih (cid:80) i r (cid:48)
Revised: R ij V hij (cid:80) i R ij 4:

Original: i 4: ∀ h :  σ  2h ← (cid:80) i r (cid:48)
Revised: ∀ h : ( σ hj ) 2 ← (cid:80) i R

Original: i ( V (cid:48) ih − µ h ) 2 (cid:80)i r (cid:48)
Revised: ij ( V hij − µ hj ) 2 (cid:80)

Original: i  5: cost h ← ( β v + log ( σ h ))
Revised: i R ij 5: cost h ← ( β v + log ( σ hj ))

Original: (cid:80) i r (cid:48) i 6: a (cid:48) ← sigmoid ( λ ( β a − (cid:80) h cost h )) 7: return µ  one level
Revised: (cid:80) i R ij 6: a j ← sigmoid ( λ ( β a − (cid:80) h cost h )) 1: procedure E- STEP ( µ , σ , a , V , i ) (cid:46) for one lower-level capsule 2:

Original: [Table] a [Table]
Revised: ∀ j ∈ Ω L

Original: 4: return r
Revised: +1 : p

Original: There is a free energy function that is reduced by each step of the routing. The recomputation of the means and the variances reduces an energy equal to the squared distances of the votes from the means, weighted by the assignment probabilities. The recomputation of the capsule activations reduces a free energy equal to the sum of the (scaled) costs used in the logistic function minus the entropy of the activation values.
Revised: j ← 1 (cid:113)(cid:81)

Original: The recomputation of the assignment probabilities reduces the sum of the two energies above minus the entropies of the assignment probabilities.
Revised: Hh 2 π ( σ hj ) 2 e − (cid:80) Hh ( Vhij − µ hj )2 2 ( σhj ) 3: ∀ j ∈ Ω L +1 : R ij ← a j p j (cid:80) u ∈ Ω L +1 a u p u

Original:  T HE C APSULES M ODEL
Revised:  T HE C APSULES A RCHITECTURE

Original: The general architecture of our model is shown in Fig.
Revised: The general architecture of our model is shown in Fig.

Original: The model starts with a 5x5 convolutional layer with 32 channels (A=32) and a stride of 2 with a ReLU non-linearity.
Revised: The model starts with a 5x5 convolutional layer with 32 channels (A=32) and a stride of 2 with a ReLU non-linearity.

Original: All the other layers are capsule layers starting with the primary capsule layer.
Revised: All the other layers are capsule layers starting with the primary capsule layer.

Original: Each capsule has a 4x4 pose matrix and one logistic activation unit.

Original: The 4x4 pose of each of the B=32 primary capsule types is a  linear transformation of the output of all the lower layer ReLUs centered at that location.
Revised: The 4x4 pose of each of the B=32 primary capsule types is a learned linear transformation of the output of all the lower layer ReLUs centered at that location.

Original: The activations of the primary capsules are produced by applying the sigmoid function to weighted sums of the same set of lower layer ReLUs.
Revised: The activations of the primary capsules are produced by applying the sigmoid function to weighted sums of the same set of lower layer ReLUs.

Original: The primary capsules are followed by two 3x3 convolutional capsule layers (K=3), each withcapsule types (C=D=32) with strides of 2 and one, respectively.
Revised: The primary capsules are followed by two 3x3 convolutional capsule layers (K=3), each withcapsule types (C=D=32) with strides of 2 and one, respectively.

Original: The last layer of convolutional capsules is connected to the ﬁnal capsule layer which has one capsule per output class.
Revised: The last layer of convolutional capsules is connected to the ﬁnal capsule layer which has one capsule per output class.

Original: When connecting the last convolutional capsule layer to the ﬁnal layer we do not want to throw away information about the location of the convolutional capsules but we also want to make use of the fact that all capsules of the same type are extracting the same entity at different positions.
Revised: When connecting the last convolutional capsule layer to the ﬁnal layer we do not want to throw away information about the location of the convolutional capsules but we also want to make use of the fact that all capsules of the same type are extracting the same entity at different positions.

Original: We therefore share the transformation matrices between different positions of the same capsule type and add the scaled coordinate (row, column) of the center of the receptive ﬁeld of each capsule to the ﬁrst two elements of  its vote.
Revised: We therefore share the transformation matrices between different positions of the same capsule type and add the scaled coordinate (row, column) of the center of the receptive ﬁeld of each capsule to the ﬁrst two elements of the right-hand column of its vote matrix.

Original: We refer to this technique as Coordinate Addition.
Revised: We refer to this technique as Coordinate Addition.

Original: This should encourage the shared ﬁnal transformations to produce values for those two elements that represent the ﬁne position of the entity relative to the centerof the capsule’s receptiveﬁeld.
Revised: This should encourage the shared ﬁnal transformations to produce values for those two elements that represent the ﬁne position of the entity relative to the center the capsule’s receptive

Original: The routing procedure is used between each adjacent pair of capsule layers.
Revised: The routing procedure is used between each adjacent pair of capsule layers.

Original: For convolutional capsules, each capsule in layer L + 1 sends feedback only to capsules within its receptive ﬁeld in layer
Revised: For convolutional capsules, each capsule in layer L + 1 sends feedback only to capsules within its receptive ﬁeld in layer

Original: L .
Revised: L .

Original: Therefore each convolutional instance of a capsule in layer L receives at most kernel size X kernel size feedback from each capsule type in layer L + 1 .
Revised: Therefore each convolutional instance of a capsule in layer L receives at most kernel size X kernel size feedback from each capsule type in layer L + 1 .

Original: The instances closer to the border of the image receive fewer feedbacks with corner ones receiving only one feedback per capsule type in layer L + 1 .[Table] [Table] Our Best model (third row)
Revised: The instances closer to the border of the image receive fewer feedbacks with corner ones receiving only one feedback per capsule type in layer L + 1 .

Original: [Table]

Original: with multiple crops during testing

Original: [Table]

Original: 3. S PREAD L OSS
Revised: 4. S PREAD L OSS

Original: In order to make the training less sensitive to the initialization and hyper-parameters of the model [Table] we use ”spread loss” to directly maximize the gap between the activation of the target class ( a t ) and the activation of the other classes.
Revised: In order to make the training less sensitive to the initialization and hyper-parameters of the model, we use ”spread loss” to directly maximize the gap between the activation of the target class ( a t ) and the activation of the other classes.

Original: If the activation of a wrong class, a i , is closer than the margin, m , to a t then it is penalized by the squared distance to the margin:
Revised: If the activation of a wrong class, a i , is closer than the margin, m , to a t then it is penalized by the squared distance to the margin:

Original: [Equation]
Revised: [Equation]

Original: By starting with a small margin of 0 . 2 and linearly increasing it during training to 0 .
Revised: By starting with a small margin of 0 . 2 and linearly increasing it during training to 0 .

Original: 9 , we avoid dead capsules.
Revised: 9 , we avoid dead capsules in the earlier layers.

Revised: Spread loss is equivalent to squared Hinge loss with m = 1 .

Revised: Guermeur & Monfrini (2011) studies a variant of this loss in the context of multi class SVMs.

Original:  E XPERIMENTS
Revised:  E XPERIMENTS

Original: The smallNORB dataset (LeCun et al.
Revised: The smallNORB dataset (LeCun et al.

Original: (2004)) has gray-level stereo images of 5 classes of toy: airplanes, cars, trucks, humans and animals.
Revised: (2004)) has gray-level stereo images of 5 classes of toy: airplanes, cars, trucks, humans and animals.

Original: There are 10 physical instances of each class which are painted matte green.
Revised: There are 10 physical instances of each class which are painted matte green.

Original: 5 physical instances of a class are selected for the training data and the otherfor the test data.
Revised: 5 physical instances of a class are selected for the training data and the otherfor the test data.

Original: Every individual toy is pictured at 18 different azimuths (0-340), 9 elevations and 6 lighting conditions, so the training and test sets each contain 24,300 stereo pairs of 96x96 images.
Revised: Every individual toy is pictured at 18 different azimuths (0-340), 9 elevations and 6 lighting conditions, so the training and test sets each contain 24,300 stereo pairs of 96x96 images.

Original: We selected smallNORB as a benchmark for developing our capsules system because it is carefully designed to be a pure shape recognition task that is not confounded by context and color, but it is much closer to natural images than MNIST .
Revised: We selected smallNORB as a benchmark for developing our capsules system because it is carefully designed to be a pure shape recognition task that is not confounded by context and color, but it is much closer to natural images than MNIST.

Original: We downsample smallNORB to 48 × 48 pixels and normalize each image to have zero mean and unit variance.
Revised: We downsample smallNORB to 48 × 48 pixels and normalize each image to have zero mean and unit variance.

Original: During training we randomly crop 32 × 32 patches and, after add random brightness and contrast to the image.
Revised: During training we randomly crop 32 × 32 patches and add random brightness and contrast to the cropped images.

Original: During test we crop a 32 × 32 patch from the center of the image. We achieve 1 . 4 % test error on smallNORB when averaging the class activations over multiple patches and 1 . 8% when only using the cetral crop.
Revised: During test we crop a 32 × 32 patch from the center of the image and achieve 1 . 8 % test error on smallNORB. If we average the class activations over multiple crops at test time we achieve 1 . 4% .

Original: The best reported result on smallNORB  is2 .
Revised: The best reported result on smallNORB without using meta data is

Original:  56% (Cires¸an et al.
Revised: [Table] 56% (Cires¸an et al.

Original: To achieve this they added two additional stereo pairs of input images that are created by using an on-center off-surround ﬁlter and an off-center on-surround ﬁlter.
Revised: To achieve this they added two additional stereo pairs of input images that are created by using an on-center off-surround ﬁlter and an off-center on-surround ﬁlter.

Original: They also applied afﬁne distortions to the images.
Revised: They also applied afﬁne distortions to the images.

Original: Our work also beats the Sabour et al.
Revised: Our work also beats the Sabour et al.

Original: (2017) capsule work which achieves 2.7% on smallNORB.
Revised: (2017) capsule work which achieves 2 . 7% on smallNORB.

Original: We also tested our model on NORB which is a jittered version of smallNORB with added background and we achieved a 2.6% error rate which is on par with the state-of-the-art of 2.7% (Ciresan et al.
Revised: We also tested our model on NORB which is a jittered version of smallNORB with added background and we achieved a 2 . 6% error rate which is on par with the state-of-the-art of 2 . [Table]

Original: As the baseline for our experiments on generalization to novel viewpoints we train a CNN which has two convolutional layers with 32 and 64 channels respectively.
Revised: As the baseline for our experiments on generalization to novel viewpoints we train a CNN which has two convolutional layers with 32 and 64 channels respectively.

Original: Both layers have kernel size 5 and[Table] stride of 1 with a 2 × 2 max pooling.
Revised: Both layers have kernel size 5 and stride of 1 with a 2 × 2 max pooling.

Original: The third layer is a 1024 unit fully connected layer with dropout and connects to the 5-way softmax output layer.
Revised: The third layer is a 1024 unit fully connected layer with dropout and connects to the 5-way softmax output layer.

Original: All hidden units use the ReLU non-linearity.
Revised: All hidden units use the ReLU non-linearity.

Original: We use the same image preparation for  CNN baseline as described above for the capsule network.
Revised: We use the same image preparation for the CNN baseline as described above for the capsule network.

Original: Our baseline CNN was the result of an extensive hyperparameter search over ﬁlter sizes, numbers of channels and learning rates.
Revised: Our baseline CNN was the result of an extensive hyperparameter search over ﬁlter sizes, numbers of channels and learning rates.

Original: The CNN baseline achieves 5 .
Revised: The CNN baseline achieves 5 .

Original: 2% test error rate on smallNORB and has 4.2M parameters.
Revised: 2% test error rate on smallNORB and has 4.2M parameters.

Original: We deduce that the Cires¸an et al.
Revised: We deduce that the Cires¸an et al.

Original: (2011) network has 2.7M parameters.
Revised: (2011) network has 2.7M parameters.

Original: By using small matrix multiplies we reduced the number of parameters by a factor of 15 to 310K compared with our baseline CNN (and  9 w.r.t Cires¸an et al.
Revised: By using small matrix multiplies we reduced the number of parameters by a factor of 15 to 310K compared with our baseline CNN (and a factor of 9 w.r.t Cires¸an et al.

Original: A smaller capsule network of A = 64 , B = 8 , C 
Revised: A smaller capsule network of A = 64 , B = 8 , C =

Original: = D = 16 with only 68K trainable parameters achieves 2 .
Revised: D = 16 with only 68K trainable parameters achieves 2 .

Original: 2% test error rate which also beats the prior state-of-theart.
Revised: 2% test error rate which also beats the prior state-of-the-art. Fig.

Revised: 2 shows how EM routing adjusts the vote assignments and the capsule means to ﬁnd the tight clusters in the votes.

Revised: The histograms show the distribution of vote distances to the mean (pose) of each class capsule during routing iterations.

Revised: At the ﬁrst iteration votes are distributed equally between 5 ﬁnal layer capsules.

Revised: Therefore, all capsules receive votes closer than 0 .

Original: Replacing the MDL-derived capsule activation term with posterior probabilities that are proportional to the sum of the assignment probabilities increases the test error rate on smallNORB to 4 . 
Revised: 05 to their calculated mean. In the second iteration, assignment probability for agreeing votes increases. Therefore, most of the votes are assigned to the detected clusters, animal and human in the middle row, and the other capsules only receive scattered votes which are further than 0 . from the calculated mean.

Revised: Zoomed out version of Fig.

Revised: 2 in the Appendix shows the full distribution of vote distances at each routing iteration.

Revised: Instead of using our MDL-derived capsule activation term which computes a separate activation probability per capsule, we could view the capsule activations like the mixing proportions in a mixture of Gaussians and set them to be proportional to the sum of the assignment probabilities of a capsule and to sum to 1 over all the capsules in a layer.

Revised: This increases the test error rate on smallNORB to 4 .

Original: Tab.summarizes the effects of the number of routing iterations, the type of loss and the use of matrices rather than vectors for the poses.
Revised: Tab. 1 summarizes the effects of the number of routing iterations, the type of loss and the use of matrices rather than vectors for the poses.

Original: Exactly the same capsules model as Fig.
Revised: Exactly the same capsules architecture as Fig.

Original: 1 achieves 0.44% test error rate on MNIST.
Revised: 1 achieves 0 . 44% test error rate on MNIST.

Original: If the number of channels in the ﬁrst hidden layer is increased to 256, it achieves 11.9% test error rate on Cifar (Krizhevsky & Hinton (2009)).
Revised: If the number of channels in the ﬁrst hidden layer is increased to 256, it achieves 11 . 9% test error rate on Cifar10 (Krizhevsky & Hinton (2009)).

Original: 4. G ENERALIZATION TO NOVEL VIEWPOINTS
Revised: 5. G ENERALIZATION TO NOVEL VIEWPOINTS

Original: A more severe test of generalization is to use a limited range of viewpoints for training and to test on a much wider range.
Revised: A more severe test of generalization is to use a limited range of viewpoints for training and to test on a much wider range.

Original: We trained both our convolutional baseline and our capsule model on one third of the training data containing azimuths of (300, 320, 340, 0, 20, 40) and tested on the two thirds of the test data that contained azimuths from 60 to 280.
Revised: We trained both our convolutional baseline and our capsule model on one third of the training data containing azimuths of (300, 320, 340, 0, 20, 40) and tested on the two thirds of the test data that contained azimuths from 60 to 280.

Original: In a separate experiment we trained on thesmaller elevations and tested on the 6 larger elevations.
Revised: In a separate experiment we trained on thesmaller elevations and tested on the 6 larger elevations.

Original: It is hard to decide if the capsules model is better at generalizing to novel viewpoints because it is better at all viewpoints.
Revised: It is hard to decide if the capsules model is better at generalizing to novel viewpoints because it is better at all viewpoints [achieves better test accuracy on all viewpoints].

Original: To eliminate this confounding factor we stopped training the capsules model when its performance matched the baseline CNN on the third of the test set that used the training viewpoints.
Revised: To eliminate this confounding factor we stopped training the capsules model when its performance matched the baseline CNN on the third of the test set that used the training viewpoints.

Original: Then we compared these matched models on the two thirds of the test set with novel viewpoints.
Revised: Then we compared these matched models on the two thirds of the test set with novel viewpoints.

Original: Results in Tab.
Revised: Results in Tab.

Original: 2 show that, compared with the baseline CNN, capsules with matched performance on familiar viewpoints reduce the test error rate on novel viewpoints by about 30% for both novel azimuths and novel elevations.
Revised: 2 show that, compared with the baseline CNN, capsules with matched performance on familiar viewpoints reduce the test error rate on novel viewpoints by about 30% for both novel azimuths and novel elevations.

Original:  A DVERSARIAL R OBUSTNESS
Revised:  A DVERSARIAL R OBUSTNESS

Original: There is growing interest in the vulnerability of neural networks to adversarial examples; inputs that have been slightly changed by an attacker so as to trick a neural net classiﬁer into making the wrong classiﬁcation.
Revised: There is growing interest in the vulnerability of neural networks to adversarial examples; inputs that have been slightly changed by an attacker so as to trick a neural net classiﬁer into making the wrong classiﬁcation.

Original: These inputs can be created in a variety of ways, but straightforward strategies such as
Revised: These inputs can be created in a variety of ways, but straightforward strategies such as

Original: FGSM (Goodfellow et al.
Revised: FGSM (Goodfellow et al.

Original: (2014)) have been shown to drastically decrease accuracy in convolutional neural networks on image classiﬁcation tasks.
Revised: (2014)) have been shown to drastically decrease accuracy in convolutional neural networks on image classiﬁcation tasks.

Original: We compared our capsule model and a traditional convolutional model on their ability to withstand such attack.
Revised: We compared our capsule model and a traditional convolutional model on their ability to withstand such attack.

Original: FGSM computes the gradient of the loss w.r.t.
Revised: FGSM computes the gradient of the loss w.r.t.

Original: each pixel intensity and then changes the pixel intensity by a ﬁxed amount (cid:15) in the direction that increases the loss.
Revised: each pixel intensity and then changes the pixel intensity by a ﬁxed amount (cid:15) in the direction that increases the loss.

Original: So the changes only depend on the sign of the gradient at each pixel.
Revised: So the changes only depend on the sign of the gradient at each pixel.

Original: This can be extended to a targeted attack by updating the input to maximize the classiﬁcation probability of a particular wrong class.
Revised: This can be extended to a targeted attack by updating the input to maximize the classiﬁcation probability of a particular wrong class.

Original: We generated adversarial attacks using FGSM because it has only one hyper-parameter and it is easy to compare models that have very different gradient magnitudes.
Revised: We generated adversarial attacks using FGSM because it has only one hyper-parameter and it is easy to compare models that have very different gradient magnitudes.

Original: To test the robustness of our model we generated adversarial images from the test set using a fully trained model.
Revised: To test the robustness of our model we generated adversarial images from the test set using a fully trained model.

Original: We then reported the accuracy of the model on these images.
Revised: We then reported the accuracy of the model on these images.

Original: We found that our model is signiﬁcantly less vulnerable to both general and targeted FGSM adversarial attacks; a small epsilon can be used to reduce a convolutional model’s accuracy much more than an equivalent epsilon can on the capsule model (Fig. 3).
Revised: We found that our model is signiﬁcantly less vulnerable to both general and targeted FGSM adversarial attacks; a small epsilon can be used to reduce a convolutional model’s accuracy much more than an equivalent epsilon can on the capsule model (Fig. 3).

Original: It should also be noted that the capsule model’s accuracy after the untargeted attack never drops below chance ( 20% ) whereas the convolutional model’s accuracy is reduced to signiﬁcantly below chance with an epsilon of as small as 0 . 2 .
Revised: It should also be noted that the capsule model’s accuracy after the untargeted attack never drops below chance ( 20% ) whereas the convolutional model’s accuracy is reduced to signiﬁcantly below chance with an epsilon of as small as 0 . 2 .

Original: We also tested our model on the slightly more sophisticated adversarial attack of a Basic Iterative
Revised: We also tested our model on the slightly more sophisticated adversarial attack of a Basic Iterative

Original: Method (Kurakin et al.
Revised: Method (Kurakin et al.

Original: (2016)) which is simply the aforementioned attack except we take multiple smaller steps when creating the adversarial image.
Revised: (2016)) which is simply the aforementioned attack except we take multiple smaller steps when creating the adversarial image.

Original: Here too we ﬁnd that our model is much more robust to the attack than the traditional convolutional model.
Revised: Here too we ﬁnd that our model is much more robust to the attack than the traditional convolutional model.

Original: It has been shown that some robustness to adversarial attacks in models can be due to simply numerical instability in the calculation of the gradient Brendel & Bethge (2017).
Revised: It has been shown that some robustness to adversarial attacks in models can be due to simply numerical instability in the calculation of the gradient Brendel & Bethge (2017).

Original: To insure that this was not the sole cause of our model’s robustness we calculated the percentage of zeros values in the gradient with respect to the image in the capsule model and found it to be smaller than that of the
Revised: To insure that this was not the sole cause of our model’s robustness we calculated the percentage of zero values in the gradient with respect to the image in the capsule model and found it to be smaller than that of the

Original: CNN.
Revised: CNN.

Original: Furthermore the capsule gradients, although smaller that those of the CNN, are only smaller by 2 orders of magnitude, as opposed to 16 orders of magnitude  in Brendel et al.
Revised: Furthermore the capsule gradients, although smaller that those of the CNN, are only smaller by 2 orders of magnitude, as opposed to 16 orders of magnitude seen in Brendel et al.

Original: ’s work.
Revised: ’s work.

Original: Finally we tested our model’s robustness to black box attacks by generating adversarial examples with a CNN and testing them on both our capsule model and a different CNN. 
Revised: Finally we tested our model’s robustness to black box attacks by generating adversarial examples with a CNN and testing them on both our capsule model and a different CNN. We found that the capsule model did not perform noticeably better at this task than the CNN.

Revised:  R ELATED WORK

Original: We found that the capsule model did not perform noticeably better at this task than the CNN.
Revised: Among the multiple recent attempts at bringing the underlying afﬁne manifold of images to CNNs, the two main streams are attempts to achieve viewpoint invariance vs equivariance. The work pre- sented by Jaderberg et al. , Spatial Transformer Networks, seeks viewpoint invariance by changing the sampling of CNNs according to a selection of afﬁne transformations. De Brabandere et al.

Original: C ONCLUSION
Revised: (2016) extends spatial transformer networks where ﬁlters are adapted during inference depending on the input. They generate different ﬁlters for each locality in the feature map rather than applying the same transformation to all ﬁlters. Their approach is a step toward input covariance detection from traditional pattern matching frameworks like standard CNNs (LeCun et al. Dai et al.

Revised: (2017) improves upon spatial transformer networks by generalizing the sampling method of ﬁlters.

Revised: Our work differs substantially in that a unit is not activated based on the matching score with a ﬁlter (either ﬁxed or dynamically changing during inference).

Revised: In our case, a capsule is activated only if the transformed poses coming from the layer below match each other.

Revised: This is a more effective way to capture covariance and leads to models with many fewer parameters that generalize better.

Revised: The success of CNNs has motivated many researchers to extend the translational equivariance built in to CNNs to include rotational equivariance (Cohen & Welling (2016), Dieleman et al.

Revised: Oyallon & Mallat (2015)).

Revised: The recent approach in Harmonic Networks (Worrall et al.

Revised: (2017)) achieves rotation equivariant feature maps by using circular harmonic ﬁlters and returning both the maximal response and orientation using complex numbers.

Revised: This shares the basic representational idea of capsules: By assuming that there is only one instance of the entity at a location, we can use several different numbers to represent its properties.

Revised: They used a ﬁxed number of streams of rotation orders.

Revised: By enforcing the equality of the sum of rotation orders along any path they achieve patch-wise rotation equivariance.

Revised: This approach is more parameter-efﬁcient than data augmentation approaches, duplicating feature maps, or duplicating ﬁlters (Fasel & Gatica-Perez (2006), Laptev et al.

Revised: Our approach encodes general viewpoint equivariance rather than only afﬁne 2D rotations.

Revised: Symmetry networks (Gens & Domingos (2014)) use iterative Lucas-Kanade optimization to ﬁnd poses that are supported by the most low-level features.

Revised: Their key weakness is that the iterative algorithm always starts at the same poses, rather than the mean of the bottom-up votes.

Revised: Lenc & Vedaldi (2016) proposes a feature detection mechanism (DetNet) that is equivariant to afﬁne transformations.

Revised: DetNet is designed to detect the same points in the image under different viewpoint variations.

Revised: This effort is orthogonal to our work but DetNet might be a good way to implement the de-rendering ﬁrst-stage that activates the layer of primary capsules.

Revised: Our routing algorithm can be seen as an attention mechanism.

Revised: In this view it is related to work of

Revised: Gregor et al.

Revised: (2015), where they improved the decoder performance in a generative model by using

Revised: Gaussian kernels to attend to different parts of the feature map generated by the encoder.

Revised: Vaswani et al.

Revised: (2017) uses a softmax attention mechanism to match parts of the query sequence to parts of the input sequence for the translation task and when generating an encoding for the query.

Revised: They show improvement upon previous translation efforts using recurrent architectures.

Revised: Our algorithm has attention in the opposite direction.

Revised: The competition is not between the lower-level capsules that a higher-level capsule might attend to.

Revised: It is between the higher-level capsules that a lower-level capsule might send its vote to.

Revised: 7. P REVIOUS WORK ON CAPSULES

Revised: Hinton et al.

Revised: (2011) used a transformation matrix in a transforming autoencoder that learned to transform a stereo pair of images into a stereo pair from a slightly different viewpoint.

Revised: However, that system required the transformation matrix to be supplied externally.

Revised: More recently, routing-byagreement was shown to be very effective for segmenting highly overlapping digits (Sabour et al.

Revised: but that system has several deﬁciencies that we have overcome in our work:

Revised: It uses the length of the pose vector to represent the probability that the entity represented by a capsule is present.

Revised: To keep the length less than 1 requires an unprincipled non-linearity that prevents there from being any sensible objective function that is minimized by the iterative routing procedure.

Revised: It uses the cosine of the angle between two pose vectors to measure their agreement.

Revised: Unlike the log variance of a Gaussian cluster, the cosine is not good at distinguishing between quite good agreement and very good agreement.

Revised: It uses a vector of length n rather than a matrix with n elements to represent a pose, so its transformation matrices have n 2 parameters rather than just n .

Revised:  C ONCLUSION

Original: Building on the work of Sabour et al.
Revised: Building on the work of Sabour et al.

Original: (2017), we have proposed a new  capsule network architecture in which each capsule has a logistic unit to represent the presence of an entity and a 4x4 pose matrix to represent the relationship between that entity and the viewer.
Revised: we have proposed a new type of capsule system in which each capsule has a logistic unit to represent the presence of an entity and a 4x4 pose matrix to represent the pose of that entity.

Original: We also introduced a new iterative routing procedure between capsule layers, making use of the EM algorithm, which allows the output of each lower-level capsule to be routed to a capsule in the layer above so that each higherlevel capsule receives a cluster of similar pose votes, if such a cluster exists.
Revised: We also introduced a new iterative routing procedure between capsule layers, based on the EM algorithm, which allows the output of each lower-level capsule to be routed to a capsule in the layer above in such a way that active capsules receive a cluster of similar pose votes.

Original: This new architecture achieves signiﬁcantly better accuracy on the smallNORB data set then the state-of-the-art CNN, reducing the number of errors by 45%.
Revised: This new system achieves signiﬁcantly better accuracy on the smallNORB data set than the state-of-the-art CNN, reducing the number of errors by 45%.

Original: We have also shown it to be signiﬁcantly more robust to white box adversarial attacks than a baseline CNN.
Revised: We have also shown it to be signiﬁcantly more robust to white box adversarial attacks than a baseline CNN.

Original: SmallNORB is an ideal data-set for developing new shape-recognition models precisely because it lacks many of the additional features of images in the wild.
Revised: SmallNORB is an ideal data-set for developing new shape-recognition models precisely because it lacks many of the additional features of images in the wild.

Original: Now that our capsules model works well on NORB, we plan to implement an efﬁcient version so that we can test much larger models on much larger data-sets such as ImageNet. 
Revised: Now that our capsules model works well on NORB, we plan to implement an efﬁcient version so that we can test much larger models on much larger data-sets such as ImageNet. A A PPENDIX 1: A N INTUITIVE EXPLANATION OF THE COST FUNCTION THAT IS MINIMIZED DURING DYNAMIC ROUTING Dynamic routing is performed between two adjacent layers of capsules.

Revised: We will refer to these layers as the higher level and the lower level.

Revised: We complete the routing between one pair of layers before starting the routing between the next pair of layers.

Revised: The routing process has a strong resemblance to ﬁtting a mixture of Gaussian using EM, where the higher level capsules play the role of the

Original:  A S UPPLEMENTARY FIGURES
Revised: Gaussians and the means of the activated lower level capsules for a single input image play the role of the datapoints. We start by explaining the cost function that is minimized when using the EM procedure to ﬁt a mixture of Gaussians. We then derive our dynamic routing procedure by making two modiﬁcations to the procedure for ﬁtting a mixture of Gaussians. A. T HE COST FUNCTION FOR FITTING A MIXTURE OF G AUSSIANS

Revised: The EM algorithm for ﬁtting a mixture of Gaussians alternates between an E-step and an M-step.

Revised: The E-step is used to determine, for each datapoint, the probability with which it is assigned to each of the Gaussians.

Revised: These assignment probabilities act as weights and the M-step for each Gaussian consists of ﬁnding the mean of these weighted datapoints and the variance about that mean.

Revised: If we are also ﬁtting mixing proportions for each Gaussian, they are set to the fraction of the data assigned to the Gaussian.

Revised: The M-step holds the assignment probabilities constant and adjusts each Gaussian to maximize the sum of the weighted log probabilities that the Gaussian would generate the datapoints assigned to it.

Revised: The negative log probability density of a datapoint under a Gaussian can be treated like the energy of a physical system and the M-step is minimizing the expected energy where the expectations are taken using the assignment probabilities.

Revised: The E-step adjusts the assignment probabilities for each datapoint to minimize a quantity called ”free energy” which is the expected energy minus the entropy.

Revised: We can minimize the expected energy by assigning each datapoint with probabilty 1 to whichever Gaussian gives it the lowest energy ( i. e. the highest probability density).

Revised: We can maximize the entropy by assigning each datapoint with equal probability to every Gaussian ignoring the energy.

Revised: The best trade-off is to make the assignment probabilities be proportional to exp ( − E ) .

Revised: This is known as the Boltzmann distribution in physics or the posterior distribution in statistics.

Revised: Since the E-step minimizes the free energy w.r.t.

Revised: the assignment distribution and the M-step leaves the entropy term unchanged and minimizes the expected energy w.r.t.

Revised: the parameters of the Gaussians, the free energy is an objective function for both steps.

Revised: The softmax function computes the distribution that minimizes free energy when the logits are viewed as negative energies.

Revised: So when we use a softmax in our routing procedure to recompute assignment probabilities we are minimizing a free energy.

Revised: When we reﬁt the Gaussian model of each capsule we are minimizing the same free energy provided the logits of the softmax are based on the same energies as are optimized when reﬁtting the Gaussians.

Revised: The energies we use are the negative log probabilities of the votes coming from a lower level capsule under the Gaussian model of a higher level capsule.

Revised: These are not the correct energies for maximizing the log probability of the data (see the discussion of determinants below) but this does not matter for convergence so long as we use the same energies for ﬁtting the Gaussians and for revising the assignment probabilities.

Revised: [Equation]

Revised: A.

Revised: M ODIFICATION 1: M IXTURES OF TRANSFORMING G AUSSIANS

Revised: In a standard mixture of Gaussians, each Gaussian only has a subset of the datapoints assigned to it but all of the Gaussians see the same data.

Revised: If we view the capsules in the higher layer as the

Revised: Gaussians and the means of the active capsules in the lower layer as the dataset, each Gaussian sees a dataset in which the datapoints have been transformed by transformation matrices and these matrices are different for different Gaussians.

Revised: For one higher-level capsule, two transformed datapoints may be close together and for another higher-level capsule the same two datapoints may be transformed into points that are far apart.

Revised: Every Gaussian has a different view of the data.

Revised: This is a far more effective way to break symmetry than simply initializing the Gaussians with different means and it generally leads to much faster convergence.

Revised: If the ﬁtting procedure is allowed to modify the transformation matrices, there is a trivial solution in which the transformation matrices all collapse to zero and the transformed data points are all identical.

Revised: We avoid this problem by learning the transformation matrices discriminatively in an outer loop and we restrict the dynamic routing to modifying the means and variances of the Gaussians and the probabilities with which the datapoints are assigned to the Gaussians.

Revised: There is a more subtle version of the collapse problem that arises when different transformation matrices have different determinants.

Revised: Suppose that the datapoints in a particular subset are transformed into a cluster of points in the pose space of higher level capsule j and they are transformed into a different but equally tight cluster of points in the pose space of higher level capsule k .

Revised: It may seem that j and k provide equally good models of this subset of the datapoints, but this is not correct from a generative modeling perspective.

Revised: If the transformation matrices that map the datapoints into the pose space used by capsule j have bigger determinants, then j provides a better model.

Revised: This is because the probability density of a point in the pose space of a lower level capsule gets diluted by the determinant of the relevant transformation matrix when it is mapped to the pose of a higher level capsule.

Revised: This is would be a serious issue if we wanted to learn the transformation matrices by maximizing the probability of the observed datapoints, but we are learning the transformation matrices discriminatively so it does not matter.

Revised: It does, however, mean that when the dynamic routing maximizes the probability of the transformed datapoints it cannot be viewed as also maximizing the probability of the untransformed points.

Revised: The obvious way to avoid the determinant issue is to take the mean in pose space of a higher level capsule and to map this mean back into the pose space of each lower-level capsule using the inverses of the transformation matrices.

Revised: A mean in a higher-level pose space will generally map to different points in the pose spaces of different lower level capsules because the pose of a whole will generally make different predictions for the poses of the different parts of that whole.

Revised: If we use the lowerlevel pose space when measuring the misﬁt between the actual pose of a lower-level capsule and the top-down prediction of that pose obtained by applying the inverse transformation matrix to the mean of the higher level capsule, the collapse problem disappears and we can base decisions about routing on a fair comparison of how well two different top-down predictions ﬁt the actual pose of the lower-level capsule.

Revised: We do not use this correct method for two reasons.

Revised: First, it involves inverting the transformation matrices.

Revised: Second, it requires a new multiplication by the inverse transformation matrices every time the higher-level mean is modiﬁed during the dynamic routing.

Revised: By measuring misﬁts in the higher level pose space we avoid matrix inversions and, more importantly, we avoid having to multiply by the inverses in each iteration of the dynamic routing.

Revised: This allows us to do many iterations of dynamic routing for the same computational cost as one forward propagation through the transformation matrices.

Revised: A. M ODIFICATION 2: M IXTURES OF SWITCHABLE TRANSFORMING G AUSSIANS

Revised: In a standard mixture of Gaussians, the modiﬁable parameters are the means, (co)variances, and mixing proportions and the only thing that distinguishes different Gaussians is the values of these parameters.

Revised: In a mixture of transforming Gaussians, however, Gaussians also differ in the transformation matrices they use.

Revised: If these transformation matrices are ﬁxed during the ﬁtting of the other parameters, it makes sense to have a large set of transforming Gaussians available but to only use the small subset of them that have appropriate transformation matrices for explaining the data at hand.

Revised: Fitting to a dataset will then involve deciding which of the transforming Gaussians should be “switched on”.

Revised: We therefore give each transforming Gaussian an additional activation parameter which is its probability of being switched on for the current dataset.

Revised: To set the activation probability for a particular higher level capsule, j , we compare the description lengths of two different ways of coding the poses of the activated lower-level capsules assigned to j by the routing, as described in section 3. ”

Revised: Description length” is just another term for energy.

Revised: The difference in the two description lengths (in nats) is put through a logistic function to determine the activation probability of capsule j .

Revised: The logistic function computes the distribution ( p, 1 − p ) that minimizes free energy when the difference in the energies of the two alternatives is the argument of the logistic function.

Revised: The energies we use for determining the activation probabilities are the same energies as we use for ﬁtting the Gaussians and computing the assignment probabilities.

Revised: So all three steps minimize the same free energy but with respect to different parameters for each step.

Revised: In some of the explanations above we have implicitly assumed that the lower level capsules have activities of 1 or 0 and the assignment probabilities computed during the dynamic routing are alsoor 0.

Revised: In fact, these numbers are both probabilities and we use the product of these two probabilities as a multiplier on both the baseline description length of each lower-level mean and its alternative description length obtained by making use of the Gaussian ﬁtted by a higher level capsule.

Revised: B S UPPLEMENTARY FIGURES

Original: [Figure]
Revised: [Figure]