Oversmoothing in Graph Neural Networks
Open the demo as a standalone page
Why deep GNNs fail: oversmoothing
Every node in the graph below holds a 3-dimensional feature vector, rendered directly as its colour (each channel capped at 0–255). Press Forward pass to run one graph-convolution layer: each node replaces its vector with the average of its neighbours' vectors — and its own. Press it again, and again, and watch what happens.
Graph
Layer 0
Hover a node to inspect its feature vector.
Feature diversity—
0 layers60 layers
Convergence target
The colour every node is heading toward: the degree-weighted average of the initial features.
Ready Each node starts with a distinct feature vector. Press Forward pass to run one message-passing layer.