Graph Neural Network
A network that learns from data whose structure is relationships rather than a grid or a sequence, by repeatedly letting each entity summarise what its neighbours know.
When not to use it
- Where the graph must be constructed from weak associations, in which case a well-chosen feature table usually performs better and is cheaper to maintain.
- Where relationships are incidental rather than causal, since the architecture assumes neighbourhood structure carries signal.
- Where the task needs long-range dependencies across a large graph, which is where over-squashing bites and a graph transformer or a different formulation is more appropriate.
Reach for something else instead
- Feature engineering with graph-derived statistics — degree, centrality and neighbourhood aggregates in a standard model, which captures much of the signal at a fraction of the complexity.
- Graph transformers — global attention instead of local message passing, which addresses over-squashing and gives up locality and efficiency.
- -
Further reading
- Gilmer et al. (2017), Neural Message Passing for Quantum Chemistry — the formulation that unified earlier variants under one framework.
- Xu et al. (2019), How Powerful are Graph Neural Networks? — the Weisfeiler-Lehman expressivity result.
Primary sources, listed so you can check the claims on this page rather than take them on trust.
Where people go wrong
- Stacking layers to capture distant structure, which produces over-smoothing rather than reach.
- Treating graph construction as preprocessing, when it is usually the decision that determines whether the model works.
- Assuming expressivity is unbounded, when standard message passing has a proven ceiling that matters for structural tasks.
At a glance
Where this sits
A starting point. Nothing needs to come before it.
Computed from the prerequisite graph, not assigned. How this works