Select any box in the drawing to read what it does, where the paper describes it, and its live toy value.
Length r
First-order neighbours, an edge: λij. Section III, Eq. (1), page 1885
- In
- two positions
- Out
- one number
- Toy, live
- 1.3928
stays put
The difference of two positions, d = ci − cj, and its length r. Turning the whole network turns the difference and leaves its length alone.
A slip in the paper. The prose writes rji and the equation rij; this page follows the equation.
Angle α
Second-order neighbours, a triplet: λijk. Section III, Eq. (2), page 1885
- In
- two steps of a path
- Out
- one angle
- Toy, live
- 87.2°
stays put
The arctangent of the cross product’s length over the dot product of the two steps: the angle between the two steps, 0° for a straight line. The three nodes must be distinct.
Twist ϕ
Third-order neighbours, a quadruplet: λijkp. Section III, Eq. (3), page 1885
- In
- three steps of a path
- Out
- one dihedral angle
- Toy, live
- −141.4°
stays put
The paper: “the angle between the normal directions of the planes” that the four nodes form. It is the only one of the three that needs a third wire, and the only one the twist slider changes.
Not in the paper. The formula contains a function s( ) that the paper does not define. The toy reads it as a sign; that convention is ours.
Node features x
The embeddings of the nodes on the path. Section IV-A, Eq. (6); Section IV-C, page 1887
- In
- the previous layer
- Out
- numbers and arrows for every node on the path
numbers stay put arrows turn
In the paper a message is built from the embeddings of the nodes on the path together with the path’s geometry, and node features and their types are embedded as the network’s first step. The toy has no node features: its messages are built from geometry alone.
Not in the paper. What the node and edge types are, and how they are embedded, is not described.
Directions D
Direction vectors Dij. Section III, Eq. (1), page 1885
- In
- the path’s wires
- Out
- one unit arrow per wire
- Toy, live
- (−0.9503, −0.2592, −0.1728) (−0.7634, 0.5937, −0.2545) (−0.6462, −0.5026, 0.5744)
turns
Each wire’s difference divided by its length. In the paper’s words, “The direction vector provides the relative direction of the neighbor.” These are the arrows that enter the lower lane.
Map the numbers
Scalar transformation Ws. Section IV-A.1, Eq. (4), page 1885
- In
- the path’s numbers
- Out
- numbers
- Toy, live
- 1.3928, 87.2°, −141.4°
stays put
A linear map of the numbers. They were built from relative geometry, so the paper calls them “roto- and translation invariant”: a turn of the network does nothing to them.
Crossing 1: arrows report their length
Row-wise L2 norm, then Wrdc. Section IV-A.1, Eq. (4); proof of Theorem 1, page 1886
- In
- arrows
- Out
- one length per arrow
- Toy, live
- 1.0000, 1.0000, 1.0000
crosses between the lanes
Every arrow is reduced to its length, and the lengths pass through a linear map into the numbers lane. The proof rests on one line: the length of a turned arrow equals the length of the arrow.
Fuse, then ReLU
Wsf and the non-linearity σs. Section IV-A.1, Eq. (4), page 1885
- In
- mapped numbers and mapped lengths, joined
- Out
- the message’s numbers
- Toy, live
- 0.0000, 0.4539
stays put
The mapped numbers and the mapped lengths are concatenated, mapped back to the width of the numbers and passed through ReLU. Everything that entered was already immune to a turn, so the result is too.
Mix the channels
The “vector perceptron” Wv. Section IV-A.2, Eq. (5), pages 1885 to 1886
- In
- arrows
- Out
- mixed arrows
turns
A linear mix across channels. The proof: “the same parameters are applied to all columns”, so x, y and z are treated alike and a turn passes straight through the map.
A second mix, for the gate
Wvsc. Section IV-A.2, Eq. (5), pages 1885 to 1886
- In
- arrows
- Out
- arrows, one per gate value
turns
A second channel mix of the same arrows. Its output is what the gate rescales. Like the first mix, it never treats x, y and z differently.
Crossing 2: numbers set a gate
“Scaled gating”: a sigmoid of Wssc s. Section IV-A.2, Eq. (5); proof of Theorem 1, page 1886
- In
- the path’s numbers
- Out
- one number between 0 and 1 per arrow
- Toy, live
- 0.9737, 0.9239
crosses between the lanes
The numbers pass through a linear map and a sigmoid, and each result multiplies one arrow. A number times an arrow is still an arrow that turns with the network: the gate rescales it and cannot bend it.
Join and mix again
Row-wise concatenation, Wvf, then σv. Section IV-A.2, Eq. (5), second line, page 1886
- In
- the mixed arrows and the gated arrows
- Out
- the message’s arrows
- Toy, live
- (0.1566, −0.2869, 0.1216) (−1.5755, −0.6990, 0.1093)
turns
The two sets of arrows are concatenated, mixed once more across channels and passed through a final non-linearity.
Not in the paper. The paper never says which function σv is; its proof asserts that it is equivariant. The toy leaves it out.
Pool over paths
Aggr, a permutation invariant aggregation. Section IV-A, Eq. (6), page 1886
- In
- every message of one order that ends at this node
- Out
- one set of numbers and arrows per order
- Toy, live
- 3 one-step, 4 two-step, 1 three-step
numbers stay put arrows turn
Messages of the same order that end at the same node are combined “using permutation invariant aggregation functions”, so the order in which nodes are listed does not matter.
Not in the paper. Table V searches MEAN and SUM; which one the reported models use is not stated. The toy takes a mean.
E, T and Q side by side
Edges E, triplets T and quadruplets Q. Section IV-A, Eq. (6); Eq. (14), page 1887
- In
- the pooled one-step, two-step and three-step results
- Out
- one longer set of numbers and arrows
numbers stay put arrows turn
The paper: “we row-wise concatenate the output of n-order message passing functions”. On the bench, setting Hops heard to 2 steps empties the third of these.
The fusing SVN
SVN applied to the concatenated messages. Section IV-C, Eq. (11); proof of Theorem 2, Eq. (14), page 1887
- In
- the concatenated messages
- Out
- the node’s new numbers and arrows
- Toy, live
- 1.9375, 1.6080, 1.7420
numbers stay put arrows turn
Another Spatial Vector Neuron, with the same two lanes and the same two crossings inside it, maps the concatenated messages to the node’s new numbers and arrows.
Skip connection and layer normalisation
Add the input; LayerNorm on scalars. Section IV-C, Eq. (11); proof of Theorem 2, Eq. (14) and (15), page 1887
- In
- the fused features and the layer’s input
- Out
- their sum, with the numbers normalised
numbers stay put arrows turn
The paper: “We use a skip connection to add the input to the output.” Its proof lists “layer normalization on scalars” among the operations that keep the symmetry.
Two accounts in the paper. The two printed accounts of the layer place the normalisation differently. The toy has neither.
Widen by 4, then narrow
q, a stack of two SVN layers. Section IV-C, Eq. (12), page 1887
- In
- the node’s features
- Out
- features of the same size
numbers stay put arrows turn
The paper: “the first layer scales up the representation with a scale of 4, and the second layer scales it back to the original size.” The result goes both to the next layer and to this layer’s own output block.
Not in the toy. The toy has no such stack.
Crossing 3: the invariant block
Vinv = V (Winv V)T. Section IV-B, Eq. (10), pages 1886 to 1887; proof of Theorem 2, page 1888
- In
- the node’s arrows
- Out
- three numbers per arrow
- Toy, live
- −0.1683, −0.0592, −0.3224 / −0.1978, −0.1087, −0.3815 / −0.0674, −0.0230, −0.1290
crosses between the lanes
Each arrow is replaced by its inner products with three reference arrows, which are learned mixtures of the same arrows. Inner products do not change when everything turns together. The paper says a full product of two C-channel features “takes quadratic time complexity”, and that reducing the reference to 3 by 3 “effectively reduces the complexity to O(n)”.
Not in the paper. The paper does not say what n is in that remark, and reports no measurement of cost.
Combine
Wfu. Proof of Theorem 2, “Graph Output Block”, page 1888
- In
- the node’s numbers and the invariant block’s output
- Out
- one set of numbers per node
- Toy, live
- −1.6804
stays put
The network combines the numbers with the invariant block’s output through Wfu into a single representation. From here on there are no arrows left to turn.
Pool over nodes, then an MLP
Graph pooling to a “virtual node”; a multi-layer perceptron. Section IV-B, page 1887; proof of Theorem 2, page 1888
- In
- one set of numbers per node
- Out
- one set of numbers for the whole network
- Toy, live
- −1.3328
stays put
Node features are aggregated to one virtual node and a multi-layer perceptron produces the block’s output. The proof: “At this point, the representation is invariant under all R.”
Not in the paper. The proof lists MEAN, SUM, MAX and MIN; Table V searches MEAN and SUM; the choice is not reported. The toy takes a mean and has no MLP.
Sum over layers
Gout, the sum of every layer’s graph output. Section IV-C, Eq. (13), page 1887; proof of Theorem 2, page 1888
- In
- the output block of every layer
- Out
- the prediction
stays put
Every version of the node representation, “including the initial node representation”, passes through its own graph output block. The outputs are added, and a final multi-layer perceptron makes the prediction.
Not in the paper. How many layers the reported models have is not stated: Table V searches 4, 8 and 16. The toy has one.