02
One round of messages
Freeze the old states. Gather neighbor information. Apply the same update everywhere.
Start with C
C begins at 1. Its neighbors A, B and D begin at 2, 0 and 3. Imagine that each neighbor sends its current value along the connecting edge. With all gates equal to one, C receives three messages: 2, 0 and 3.
Our toy rule keeps half of C's own value and adds half of the mean incoming message. The mean is the sum divided by the number of neighbors:
Three messages → mean 5/3 → half self plus half mean → new C=4/3.
| Node | Input h⁽⁰⁾ | New h⁽¹⁾ |
|---|---|---|
| A | 2.000 | 1.250 |
| B | 0.000 | 0.750 |
| C | 1.000 | 1.333 |
| D | 3.000 | 1.750 |
| E | 0.000 | 1.500 |
The arithmetic at every other node follows the same rule. D uses old C=1 and old E=0, so D's neighbor mean is 1/2 and its new state is 7/4. D does not read the newly computed C=4/3 in this round.
This is a synchronous update: everyone reads the same old snapshot, then all new states replace it together. Updating an array in place as you walk through the nodes would make later nodes read earlier results and create a different computation.
CL-009 · Derived from the toy rule. Fractions are exact; tables round only for display.
Give the operations names
Let be the neighbor set of node , and let be its degree, the count of neighbors. The index runs through that set. The gate multiplies the sender's state.
The first line aggregates messages into . The second combines the aggregate with the node's own state. We stipulate for every node and every round. An isolated node has no neighbors; our declared convention sets its aggregate to zero, giving .
Degree counts present edges, even if a gate reduces a message. It does not sum the gate values. That detail will matter when we edit C–D. Self information is carried by the term; there are no self-edges in our edge list.
CL-008 · Toy assumption: this exact averaging rule and isolated-node convention are choices for an inspectable model.
Where the neural part enters
A learned message-passing network replaces these simple operations with parameterized functions. A message function can use the receiver's state, sender's state and edge attributes. An update function combines the aggregate with the receiver. The symbol denotes the learnable parameters at layer .
AGG means an aggregation such as sum or mean. Our toy uses , a mean aggregate, and . Practical functions can transform vectors and use nonlinearities. The small arithmetic example exposes the same message–aggregate–update structure.
The functions are shared across nodes within a layer. C and E use the same parameters but receive different inputs. General networks may use different parameters in different layers; we additionally tie our two coefficients across rounds.
CL-002 · Gilmer et al., §2, equations (1)–(3)
Nothing in this guide fits those coefficients. A forward pass computes states with supplied parameters. Training would require an objective and an optimizer to change parameters. Advancing the layer control is another stage of the forward computation, not another training step.
CL-015 · Derived distinction: the canonical lab contains no loss, gradient calculation or parameter update.