Graphs / Architecture
verifiedGraph Convolution
The simplest useful graph layer: average each node's neighbours, mix in the node itself, multiply by a weight matrix. It is a convolution in the sense that the same weights apply everywhere, but the neighbourhood is whatever the graph says rather than a fixed window. Two or three layers is usually the whole model.
The averaging is degree-normalised, which keeps high-degree nodes from dominating and is why the symmetric normalisation appears in the formula rather than a plain mean. The self-loop matters more than it looks: without mixing the node's own features back in, a node is defined entirely by its neighbours, and after a couple of layers everything that shares a neighbourhood becomes indistinguishable.
H super (l+1) = σ(D̂ super −1/2  D̂ super −1/2 H super (l) W super (l) ) with  = A + I adding the self-loop and D̂ its degree matrix. The symmetric normalisation gives the propagation matrix eigenvalues in [−1,1], which bounds what repeated application can do — and is exactly why repeated application drives features together.
neighbour-weight holds 50% of the budget; rest holds the remaining 50%.
Weight the layer puts on the neighbourhood against the weight it keeps on the node itself, in equal units. Drag the neighbour weight up to watch a node stop being anything of its own.
Reviewed by opendroid · 2026-08-18
- arXiv:1609.02907 — Semi-Supervised Classification with Graph Convolutional Networks