Skip to the content

Geometric deep learning IEEE BigData 2024

Same dots, different wires. Two readers out of three cannot tell.

SO(3) Equivariant Framework for Spatial Networks

  1. Tian Xia1
  2. Sarp Aykent2

Affiliations at the time of publication1Microsoft, Cambridge, Massachusetts, USA 2Computer Science and Software Engineering Department, Auburn University, Auburn, Alabama, USA

A spatial network has wiring and it has shape. The paper builds a neural network, SVNNet, that reads both at once, walking the wires one, two and three steps out from every node, and is built so that turning the whole thing does not change its answer.

The paper reports the best value in every column of its three results tables. Section 04 shows how large the margins are.

Figure 1Illustration

123456

Network A: one ring

123456

Network B: two triangles

  1. Dots only the 15 distances between dots15 distancesidentical
  2. Wires only every dot has two neighboursall 6 alikeidentical
  3. Wires and geometry the six wire lengths1.0000 ×6 against 1.7321 ×6different
Wire the six dots as

Flip to network B and watch the three readers. No dot moves: only the wires do.

Six invented points. The paper says that approaches using only spatial or only network data cannot distinguish certain graphs, and gives no example. This pair is ours. The two wirings are different graphs; “Wires only” is the colour test the paper cites, which cannot separate them. Toy numbers, not results.

01 The problem

Read only the dots, or only the wires, and different networks look the same.

A spatial network is a graph whose nodes sit at positions in space: it has wiring and it has shape. The paper’s starting point is that most proposed approaches either use only one of the two or are tied to one kind of input. Here are three invented pairs, and five readers that each see a little more. Pick a pair, then look through each reader.

Figure 2Illustration

Pick a pair, then climb the ladder of readers

Pair A: same dots, different wires

123456
One ring
123456
Two triangles

Same: every position, and how the wiring looks from every dot (its Weisfeiler-Lehman colour). Differs: the wire lengths.

Look through one reader

Pair B: same wires and lengths, different angles

52143
Four spokes laid flat
34125
Four spokes spread evenly

Same: the wiring and every wire length. Differs: the angles between steps.

Look through one reader

Pair C: same wires, lengths and angles, different twist

4231
Chain twisted to 60°
4231
Chain twisted to 180°

Same: the wiring, every wire length and every angle. Differs: the twist.

Look through one reader
What each reader says about each pair. Computed in your browser from invented coordinates; not from the paper.
ReaderPair APair BPair C
1. Dots onlypositions, no wires identical different different
2. Wires onlywiring, no positions identical identical identical
3. Wires and lengthsone step, Eq. (1) different identical identical
4. Plus anglestwo steps, Eq. (2) already apart different identical
5. Plus twiststhree steps, Eq. (3) already apart already apart different

Read across. Dots only misses pair A. Wires only misses all three. The paper’s three rungs of geometry, read along the wires, separate all three: lengths catch A, angles catch B, twists catch C. In the paper’s words, “the first-order neighbors are not sufficient to model the complete geometric graph”, and third-order neighbours “provide a unique 3D property by the two planes formed from the four nodes”.

IllustrationThree invented pairs and five fingerprints computed in your browser, in toy units. The readers are ours, not the paper’s baselines: in the paper’s experiments every model received both coordinates and connectivity (Section V). “Wires only” is the Weisfeiler-Lehman colour test the paper cites: two nodes get the same colour when the wiring around them looks the same. The two wirings of pair A are different graphs, and identical only as far as that test can see. The angle is the one Equation (2) prints, between the two steps of a path (0° for a straight line). The sign of a twist is the toy’s convention. These numbers are not results.

Dots without wires

“Existing works on point clouds don't consider the network connections in spatial networks.”
Section I, page 1883

Wires without dots

“the regular GNNs are at most as powerful as the Weisfeiler-Lehman Isomorphism Test”
Section I, page 1884

Every dot wired to every dot

“such networks cannot handle the spatial networks, where both spatial data and network connectivity matter”
Section II-C, page 1884, on point-cloud and equivariant models that treat the graph as complete

The paper’s motivation names molecules, brain networks, and mobility and transportation networks. Every real-world experiment in the paper is a molecular dataset.

02 The idea

Cut one wire, twist one part or move one node, and the toy notices. Turn the whole thing and nothing it reports changes.

“we need a model that preserves the relative rotational information for both geometric and network features but is invariant to global rotations.”Section I, page 1884

SVNNet listens along the wires. Every node hears paths of one, two and three wires, each written down twice: as numbers that ignore rotation and as arrows that turn. A small unit the paper calls the Spatial Vector Neuron updates the two together. Below is a seven-node toy with node 0 listening. Change its wiring first, then its shape, and only then turn it.

Figure 3Illustration

Rewire it, reshape it, then turn it.

IllustrationA hand-built toy with seven invented nodes, one layer, and fixed numbers in place of learned weights. It follows the form of the paper’s Equations (1) to (6) and (10). It is not the trained network and its numbers are not results.

  • wire node 0 hears, tagged 1st, 2nd or 3rd for the step that reaches it
  • out of earshot
  • cut
  • can be added
  • node 0’s three arrows

What just happened

  1. Nothing yet. Cut wire 4-5 and read what node 0 lost.

Rewire: no dot moves

Click a wire in the drawing, or press it here. Solid wires can be cut, dashed ones added.

Reshape: no wire changes

0°
Hops heard

This toy has one layer, so you can see what each step adds by itself. The paper searches over 4, 8 or 16 layers (Table V) and does not report which it used. The paper’s formula for the twist contains a function it does not define; the sign convention here is the toy’s.

0.00

Turn: the last check

0°
0°
Largest change in Stays put caused by turning and shifting alone0
Arrow gap turn then compute, against compute then turn0
  1. Cut wire 4-5 and read what node 0 lost. No dot moved, and the numbers changed.
  2. Open Reshape and twist the tail. Then set Hops heard to 2 steps: node 0 goes deaf to the twist, because it reaches node 0 only along its one three-step path.
  3. Last, open Turn and drag the network. The right column turns. The left column does not move, and the first meter stays at rounding level.
Under the hood: break one of the two rules
Rule

Rule intact: every weight acts on channels, never on x, y and z separately, and every input is a difference between two nodes.

Both broken variants are ours. The paper states the two rules and does not test breaking them.

3621045
One step: 3 paths. 0, 1; 0, 4; 0, 5.
3621045
Two steps: 4 paths. 0, 1, 2; 0, 1, 6; 0, 4, 5; 0, 5, 4.
3621045
Three steps: 1 path. 0, 1, 2, 3.

With scripts on, this figure becomes a bench: cut and add wires, twist the tail, slide a node, turn the network, and read what node 0 reports.

How to read it. Node 0 listens. A wire carries a small tag, 1st, 2nd or 3rd: the step at which a path from node 0 first reaches it. The left column of the ledger holds what should stay put: path counts, the length, angle and twist of the one three-step path, node 0’s numbers, the 3 by 3 output of the invariant block, and the one number for the whole network. The right column holds what turns: the directions along that path and node 0’s three arrows. A small mark beside a number means your last action changed it. Path counts are exact counts on this toy and say nothing about cost. What the toy cannot show: accuracy, anything learned, or speed. The paper never says which function the last non-linearity on arrows is, so the toy leaves it out.

03 Follow one three-step path

Three wires into one node: numbers stay in their lane, arrows in theirs, and they cross in only three ways.

Follow the one three-step path of the toy, from node 3 through nodes 2 and 1 into node 0, through a layer. The live values are the ones you left on the bench. Every box opens.

Figure 4Illustration

Step through the path 3, 2, 1, 0 and open any box

One SVNNet layer drawn as two lanes. The upper lane carries numbers that stay put, the lower lane arrows that turn. The lanes cross three times: lengths go up, a gate comes down, and inner products go up where the arrows lane ends. A dashed frame marks one layer. One layer, repeated Numbers lane / stays put Arrows lane / turns with the network / ends at the invariant block predictionnode features go on to the next layerlength rEq. 1 angle αEq. 2 twist ϕEq. 3 node featuresnot in the toy directions DEq. 1 map numbersWs, Eq. 4 lengthsfirst crossing fuse, ReLUWsf, Eq. 4 mix channelsWv, Eq. 5 second mixWvsc, Eq. 5 gatesecond crossing join,mix againWvf, then σv pooloverpathsEq. 6 E | T | Qside by side fusingSVNEq. 11, 14 skip +layernormEq. 11, 15 widenby 4,narrowEq. 12 inner productsthird crossing combineWfu pool nodes,then an MLP sum overlayers, Eq. 13

single line: numbers, stays put double line: arrows, turns

  1. Walk out along the wires: one, two, three steps

    From the listening node, the network follows wires out to first, second and third-order neighbours. Every such path becomes a message. The paper calls them edges, triplets and quadruplets.

    Toy, node 0
    3 one-step, 4 two-step, 1 three-step paths
    Followed
    node 0, 1, 2, 3 (the paper’s i, j, k, p)
  2. Describe the path twice: numbers that stay, arrows that turn

    One wire gives a length and a unit direction. Two wires add the angle between the two steps. Three wires add a dihedral angle, from the two planes the four nodes form. Lengths and angles go to the numbers lane; directions go to the arrows lane.

    Toy, stays
    r 1.3928, angle 87.2°, twist −141.4°
    Toy, turns
    (−0.9503, −0.2592, −0.1728) (−0.7634, 0.5937, −0.2545) (−0.6462, −0.5026, 0.5744)
  3. Numbers update numbers, and arrows report only their length

    The scalar path of the Spatial Vector Neuron: a linear map of the numbers, a linear map of the arrows’ lengths, the two joined, mapped back and passed through ReLU. A length does not change when the network turns. This is the first crossing.

    Toy, lengths in
    1.0000, 1.0000, 1.0000
    Toy, numbers out
    0.0000, 0.4539
  4. Arrows are mixed channel by channel, then rescaled by a gate the numbers set

    The vector path: a linear mix across channels (the same weight acts on x, y and z); a sigmoid gate computed from the numbers multiplies a second mix of the arrows, the paper’s “scaled gating”; the two sets are joined and mixed again. A gate rescales an arrow; it cannot bend it. This is the second crossing.

    The paper does not say which function the final non-linearity on arrows is; the toy leaves it out.

    Toy, gate
    0.9737, 0.9239
    Toy, arrows out
    (0.1566, −0.2869, 0.1216) (−1.5755, −0.6990, 0.1093)
  5. Messages of each order are pooled, and the three orders sit side by side

    Messages of the same order are combined without regard to order, the three results are concatenated, and another neuron fuses them into the node’s new numbers and arrows. The paper adds a skip connection, layer normalisation on the numbers, and a stack of two SVN layers that widens by 4 and narrows again.

    The paper writes this layer twice, in Equations (11) to (12) and (14) to (15), with small differences; the diagram shows what both share. The toy takes a mean and leaves out the skip, the normalisation and the stack.

    Toy node 0, stays
    1.9375, 1.6080, 1.7420
    Toy node 0, turns
    (−0.7509, −0.3505, 0.0369) (−0.9213, −0.0672, −0.2924) (−0.3477, −0.0052, 0.1086)
  6. Before anything is predicted, arrows are turned into numbers

    The invariant block replaces each arrow by its three 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’s reason: predictions “are invariant to the pose of the input”. This is the third crossing, and the arrows lane ends here.

    Toy, 3 by 3, stays
    −0.1683, −0.0592, −0.3224 / −0.1978, −0.1087, −0.3815 / −0.0674, −0.0230, −0.1290
  7. Every layer, including the first, votes on the answer

    Each layer’s node features pass through their own output block: invariant block, pooling over all nodes, a small MLP. The outputs of all layers, including the initial one, are added, and a final MLP makes the prediction.

    The toy has one layer, takes a mean over its seven nodes and has no MLP.

    Toy, whole network
    −1.3328 stays put

The three crossings, in one line. Our reading of Equations (4), (5) and (10): arrows influence numbers only through lengths and inner products, and numbers influence arrows only by rescaling them. Nothing else crosses.

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.

IllustrationA diagram drawn for this page from Equations (1) to (15). The paper has no architecture figure. Live values come from the toy layer of Figure 3, not the trained network, and are not results.

04 The evidence

The paper prints the best value in all thirteen columns. In five of them the two printed ± ranges overlap.

Four synthetic targets and nine molecular datasets, ten models each. Every value below is a printed cell of Tables I to III. Which cell is best, every gap and every count is computed by this page from those cells. So is the reading of the ± ranges (a printed value, minus and plus its ±): it is this page’s, not the paper’s, and the paper reports no significance test.

Figure 5Measured, Tables I to III

Read all thirteen columns, then open any one

All thirteen columns

SVNNet prints the best value in 13 of 13 columns. Against the best baseline in each column, the gap is larger than the two printed spreads together in 8 (τ, υ, ρ, ToxCast, Tox21, HIV, MUV, BBBP) and smaller in 5 (Ω, LIPO, ESOL, ClinTox, BACE). This is a plain reading of the printed ± values, not a statistical test; the paper reports none.

The runner-up changes from column to column: GatedGNN twice, SGMP three times, DimeNet four times, PointNet twice, SGCN once, PPFNet once.

One column at a time

Column
Order

Point at the chart, tap it, or focus it and use the arrow keys to read exact values.

  • SVNNet, this paper
  • the paper’s “graph neural network models”
  • its “spatial network models”
  • ± as printed

± as printed. Table II’s caption says three runs with standard deviation. Tables I and III do not say what ± is. All ten models received the same 3D coordinates and connectivity; for molecules the 3D positions were generated with RDKit (Section V).

The tables as printed

Measured, Tables I to IIIEvery cell as printed, in the paper’s row order. Bold and underlined: what the paper prints in bold, which is the whole SVNNet row. Computed by this page: that row is also the best cell in each of the 13 task columns.

Table I, page 1887. “Performance on regression tasks.” Four synthetic targets (τ, υ, ρ, Ω: as the paper names them, clustering coefficient, spatial diameter, spatial radius and interaction radius) and two real-world tasks, LIPO and ESOL. Root mean square error, no units printed; lower is better.
MethodsτυρΩLIPOESOL
GIN0.162±0.0030.881±0.0801.010±0.0801.863±0.2211.132±0.0240.661±0.051
GAT0.165±0.0091.058±0.0061.153±0.1361.992±0.1091.131±0.0150.725±0.107
GatedGNN0.063±0.0050.427±0.0050.565±0.0051.699±0.1020.822±0.0270.621±0.025
PointNet0.152±0.0010.665±0.0440.810±0.0371.642±0.0890.863±0.0130.588±0.034
PPFNet0.133±0.0010.652±0.0250.783±0.0241.771±0.0250.750±0.0250.696±0.044
SGCN0.134±0.0001.173±0.0210.905±0.0171.691±0.0000.885±0.0470.817±0.062
SchNet0.158±0.0000.903±0.0211.045±0.0591.894±0.0520.901±0.1080.753±0.020
DimeNet0.103±0.0271.266±0.1470.556±0.0941.412±0.0590.613±0.0130.730±0.047
SGMP0.068±0.0050.748±0.1680.450±0.0461.332±0.0310.941±0.1800.851±0.033
SVNNet0.046±0.0020.343±0.0210.204±0.0191.265±0.0580.539±0.0810.552±0.011
Table II, page 1889. “Performance of five real-world classification tasks over five datasets. The AUC-ROC metrics were reported for comparison, averaged across three runs with std.” Higher is better. The first four rows describe the datasets.
DatasetToxCastTox21ClinToxHIVMUVAvg.
# Graphs8,5757,8311,47841,12793,087
# Nodes18.78±11.5818.57±11.3526.16±15.6125.51±12.1124.23±5.05
# Edges38.52±25.2738.59±25.0555.77±33.754.94±26.4352.56±11.53
# Labels617122117
GIN36.34±0.1250.98±3.9192.92±0.5068.78±4.2553.85±0.4960.58
GAT39.26±0.0343.69±0.3293.17±0.0969.97±5.7949.92±0.5459.20
GatedGNN46.67±0.0045.07±0.0293.52±0.0871.40±1.2047.79±0.3460.89
PointNet37.64±0.1044.69±0.9393.75±0.1571.74±1.3253.40±0.3360.25
PPFNet36.94±0.2156.51±0.2595.90±0.8568.39±2.3743.67±0.1860.28
SGCN65.03±0.1468.55±0.0092.26±0.9163.16±1.6352.67±0.0059.13
SchNet52.61±0.0238.50±0.1094.70±0.5471.72±1.9342.43±0.0057.39
DimeNet61.49±0.0670.65±0.2495.43±0.3361.51±0.4853.87±0.0060.99
SGMP45.23±0.0843.39±1.6294.01±0.5755.65±7.9840.65±0.0055.78
SVNNet78.08±0.1279.03±1.0296.13±0.1577.28±0.1168.06±1.2179.72

Printed as in the paper. For SGCN, SchNet and DimeNet the printed average differs from the mean of the row’s five cells (68.33, 59.99 and 68.59, computed by this page). This page does not chart the “Avg.” column.

Table III, page 1889. “Additional classification experiments on BBBP and BACE datasets. The results are reported in accuracy.” Higher is better. The first three rows describe the datasets.
DatasetBBBPBACEAvg.
# Graphs20391513
# Avg. Nodes24.06±10.5934.09±8.52
# Avg. Edges51.91±23.4373.72±17.53
GIN82.11±1.1368.20±3.7475.16
GAT82.28±1.4964.69±3.8073.49
GatedGNN85.85±1.4766.23±8.9676.04
PointNet80.49±2.1372.59±3.7476.54
PPFNet86.67±1.4978.95±3.4882.81
SGCN83.58±2.9465.35±3.6374.46
SchNet82.76±1.1380.92±0.6681.84
DimeNet85.20±1.2382.02±0.3883.61
SGMP86.83±1.2979.61±1.7483.22
SVNNet89.52±0.9183.52±2.2186.52

05 Which part matters

On the one task that was ablated, removing the invariant block costs the most, and every gap is smaller than the full model’s own printed spread.

The paper removes one part at a time and reports the error on LIPO. Table IV prints one number per row and no spreads, so the shaded band is borrowed from Table I, where the full model on the same task is printed as 0.539±0.081.

Figure 6Measured, Table IV

Take one part out and read the printed error

Pick a row above, or focus the chart and use the arrow keys.

The largest change is removing the invariant block: 0.615 against 0.539 for the full model, a difference of 0.076. Table I prints the full model’s spread on this task as ±0.081.

How to read it. One task, one number per row, no spreads. Root mean square error, lower is better. Every bar ends inside the band from 0.458 to 0.620. The paper ablates no other dataset, and has no row that removes the two-step or three-step messages, so it does not measure what the angles and twists contribute. It does not define the rows “- Vector Update” and “- Vector Scale”; the drawing points at the nearest operation the paper names.

numbers lane, s arrows lane, V vector path, Eq. 5 lengths gate invariant block
Table IV, page 1889. Ablation study of SVNNet on the LIPO task, RMSE; lower is better. One number per row; no spreads are printed.
RemovedGroupLIPO
- sFeatureFeature0.551
- VFeatureFeature0.548
- InvariantArchitectureArchitecture0.615
- Vector UpdateArchitectureArchitecture0.562
- Vector ScaleArchitectureArchitecture0.565
SVNNetnothing removednothing removed0.539

The takeaway

A spatial network is wiring and shape at once, and SVNNet reads both along the wires.

What the paper proposes

Features read along paths of one, two and three wires, written as numbers and as arrows; a neuron, the Spatial Vector Neuron, that updates the two in separate lanes; and an invariant block that turns arrows into numbers before anything is predicted.

What the paper reports

The best printed value in all thirteen columns of Tables I to III, and an ablation on one task. Read by this page: in five of those columns the two printed ± ranges overlap.

Not shown

No timing, memory or path counts, no test of the neuron inside another network, no variation of depth, and no real-world spatial network that is not a molecule.

06 Office hours

The night shift answers.

Written by Tian's agent while Tian slept and Pepper supervised. Pepper accepts no liability either.

Each answer says where in the paper it comes from, so you can check the agent's work.

Pepper, the tabby cat, supervising: fast asleep on his blanket on the sofa, beside the laptop.
Did the baselines see the same information, and where do a molecule’s 3D positions come from?

Yes on the first: the paper says every benchmark used “the 3D coordinates and the graph connectivity representations as the node and edge features”, following earlier work, so the graph neural network baselines were not blind to positions. The paper groups the nine baselines as three graph neural network models and six spatial network models, and says it leaves out domain-specific models, although its own descriptions call SchNet and DimeNet domain-specific. On the second: native 3D structures were not available, so conformations were generated with RDKit and the same ones were given to every model. Baseline tuning is not described. The readers in section 01 of this page are our own fingerprints, not these baselines.

Source: Section V, page 1888
It is best in every column. By how much, and what about the baselines that score under 50?

Best in all 13, computed from the cells. In 8 the gap to the next-best model is larger than the two printed spreads together, so the two printed ± ranges stay apart; in 5 it is smaller and the two ranges overlap (Ω, LIPO, ESOL, ClinTox, BACE). In 3 of those 5 (LIPO, ClinTox, BACE) the gap is also smaller than one of the two spreads alone: on LIPO the gap to the next lowest row, DimeNet, is 0.074 and the full model’s own printed spread is 0.081. Only Table II says what ± means (three runs); no significance test is reported. This page shows cells and gaps and does not restate the percentages in the paper’s running text, some of which depend on which baseline is taken as the reference. Sixteen of the 45 baseline AUC-ROC cells in Table II are below 50 (on ToxCast, Tox21 and MUV); the paper prints them and does not discuss them.

Source: Tables I, II and III, pages 1887 and 1889; counts and gaps computed by this page
Which part of the design is doing the work?

The paper ablates one task, LIPO. Removing the invariant block moves RMSE from 0.539 to 0.615, the largest change; removing the vector update or the vector scale gives 0.562 and 0.565; removing the scalar or the vector features gives 0.551 and 0.548. Table IV prints no spreads, and every one of these values lies inside the ±0.081 that Table I prints for the full model on the same task. No row removes the two-step or three-step messages, so the paper does not measure what the angles and twists contribute, and it does not define exactly what “Vector Update” and “Vector Scale” remove.

Source: Table IV and Section V-D, page 1889; Table I, page 1887
Is the symmetry proved or measured? And what about mirror images?

Proved by argument, not measured. Theorem 1 covers the neuron and Theorem 2 the network, for rotations in SO(3); translation is handled by building every input from differences between nodes, and node order by order-free aggregation. The proofs rest on weights acting on channels and never on x, y and z separately. The paper does not name the final non-linearity applied to vectors and asserts that it is equivariant. It reports no numerical equivariance test, and it says nothing about reflections. The bench on this page observes the proved property on a toy; it has no mirror control for that reason.

Source: Theorems 1 and 2 and their proofs, pages 1886 to 1888; Section IV-A.2
What does walking three steps out cost, and what was not tested?

The paper reports no training time, memory, parameter count or path count for any model; its one complexity remark concerns the invariant block. Experiments ran on one NVIDIA A100 with 40 GB. Not tested: the neuron inside any other network (the “drop-in” claim is a design claim), any variation of depth, any vector-valued target, and any real-world spatial network that is not a molecule; brain, social and transport networks are motivation only. The size of the synthetic dataset and the chosen hyper-parameters are not printed. The paper has no limitations or future-work section; these limits are read from what the experiments cover.

Source: Section IV-B, pages 1886 to 1887; Section V and Table V, pages 1888 to 1890