EXPLAINER

Graph Neural Networks (GNNs)

conceptfreshness: stablesources not yet verified

GNNs learn from data shaped like graphs — molecules, social networks, road maps — by passing messages between connected nodes.

Short answer: A GNN updates each node's representation by aggregating messages from its neighbours over several rounds. It suits relational data (molecules, networks, recommendation); over-smoothing and scalability are known challenges.

What is it?

Some data is naturally a network: atoms joined by bonds, people connected by friendships. A graph neural network lets each node repeatedly "ask its neighbours" and update what it knows, so after a few rounds each node's summary reflects its surroundings.

Also known as: GNN, GCN, graph convolutional network, message passing, GraphSAGE, GAT, graph attention network, graph deep learning.

Technical definition

Message-passing framework (Gilmer et al., 2017): h_v^{k+1} = U(h_v^k, AGG({M(h_u^k, h_v^k, e_uv)})). Variants: GCN (Kipf & Welling, 2016), GraphSAGE, GAT (attention), and graph transformers. Tasks: node, edge and graph-level prediction. Challenges: over-smoothing with depth, over-squashing, scaling to large graphs (sampling), and expressiveness limits (Weisfeiler–Lehman). Applications include molecules and materials (AI in Drug Discovery, AI for Materials Discovery) and weather models such as GraphCast (AI Weather and Climate Forecasting Models).

Entity type: concept · Freshness class: stable.

When should I use it?

Use when relationships between entities carry the signal.

Implementation patterns

  • Node classification with neighbourhood sampling.
  • Graph-level prediction with readout pooling (molecular property prediction).
  • Edge prediction for recommendations/link prediction.
  • Equivariant GNNs for 3-D physical systems.

Technologies and frameworks

Commonly associated: PyTorch Geometric, DGL, Jraph, NetworkX. Names are examples of what exists, not recommendations, and projects change quickly.

Practical guide

  1. Define nodes, edges and features.
  2. Split train/test carefully for graphs.
  3. Start with GCN/GraphSAGE baselines.
  4. Add domain symmetries where relevant.

Common failure modes

  • Over-smoothing with many layers.
  • Memory blow-up on large graphs.
  • Leakage between train and test nodes in transductive setups.
  • Poorly defined graph construction.

Troubleshooting

  • Performance drops with depth — Use fewer layers, residual connections, or different aggregators.
  • Out of memory — Neighbourhood sampling or cluster-based mini-batching.

Contrasted with

Questions this page answers

  • What is a graph neural network?
  • How does message passing work in GNNs?
  • What are GNNs used for?
  • What is over-smoothing?

Typical goals: model relational or graph data; understand GNN use in science.

Sources and verification

Status: not independently verified. This entry was authored on 2026-10-06 from general technical knowledge, without live checking of the sources below. Treat every source as a lead to confirm (identifier, title, authorship, current version) before publication or citation.

Freshness class: stable — Core ideas that change slowly (maths, classic algorithms). Re-review yearly.

Canonical sources (unverified leads):

  • Kipf & Welling, Semi-Supervised Classification with Graph Convolutional Networks (2016) — arXiv:1609.02907
  • Gilmer et al., Neural Message Passing for Quantum Chemistry (2017) — arXiv:1704.01212
  • Veličković et al., Graph Attention Networks (2017) — arXiv:1710.10903