Over-smoothing vs Over-squashing: The Difference
Published:

Intuition First
Imagine you are in a room full of people whispering a message from person to person. Oversmoothing is what happens when everyone repeats the average of all messages they heard — after enough rounds, everyone says the same thing. The content has been diluted to nothing.
Oversquashing is different: imagine two distant groups connected by a single corridor (one “bridge” person). All information between the groups must squeeze through that one person. No matter how many rounds of whispering, the bridge person cannot faithfully relay an exponentially growing flood of messages.
Same symptom (performance collapse), completely different causes.
The Confusion
Both oversmoothing and oversquashing:
- Occur with deep GNNs
- Cause performance degradation
- Involve information loss
They are often mentioned together or confused. But they are fundamentally different phenomena.
Head-to-Head Comparison
| Property | Oversmoothing | Oversquashing |
|---|---|---|
| Root cause | Iterated averaging → all embeddings become collinear | Receptive-field growth + bottleneck topology → info bottleneck |
| Formal statement | \(\hat{A}^{K} \to u_1u_1^{\top}\), with \(u_1 \propto \tilde{D}^{1/2}\mathbf{1}\) | \(\lVert \partial h_v^{(K)}/\partial x_u \rVert \le (cw)^{K}(\hat{A}^{K})_{vu}\) |
| Governed by | Spectral gap \(1 - \mu\), \(\mu = \max_{i\ge2}\lvert\lambda_i\rvert\) | Entries of \(\hat{A}^{K}\); effective resistance \(R(u,v)\) |
| Direction | Forward pass (computation) | Both forward (dilution) and backward (gradient) |
| Which nodes affected | All nodes, especially nearby ones | Nodes that are far apart (long paths) |
| Graph structure | Worse on dense, well-connected graphs | Worse on tree-like, sparse graphs with bridge edges |
| With more layers | Provably gets worse (converges to a rank-one limit) | Could get better (reach distant nodes) but squashing increases |
| Measure | Dirichlet energy \(\to 0\); MAD \(\to 0\) | Jacobian norm \(\to 0\) |
| Spectral view | Low-pass filter removes high frequencies | Mostly topological (curvature, resistance), though \(\hat{A}^{K}\) ties the two together |
| Fix | Residual connections, jump knowledge, APPNP | Graph rewiring, global attention, virtual nodes |
When You Have Oversmoothing
You add layers hoping to capture longer-range patterns, but performance peaks at 2-3 layers then drops. Node embeddings in the last layer have near-zero pairwise distances. The model assigns nearly the same embedding to all nodes.
Symptom: accuracy peaks at 2-3 layers, then monotonically decreases. MAD scores drop toward zero with depth.
Fix: residual connections (GCNII), APPNP, JK-Net (jumping knowledge). Do NOT add more layers — that makes it worse.
When You Have Oversquashing
You have a task requiring long-range reasoning (e.g., predicting whether two distant atoms in a molecule will react). The model performs well on local structure tasks but fails on long-range ones. Adding more layers doesn’t help.
Symptom: performance on long-range tasks (e.g., LRGB benchmarks) is poor regardless of depth. Jacobian norms near zero for distant node pairs.
Fix: graph rewiring (SDRF, add virtual nodes), global attention (Graph Transformers, GPS). Adding residual connections does NOT fix oversquashing — information still can’t reach distant nodes.
Worked Diagnostic Example
Consider a 4-layer GCN on a path graph: A — B — C — D — E — F — G — H — I — J (10 nodes, so the distance from A to J is 9).
Oversmoothing check: track the Mean Average Distance (MAD) between node embeddings at each layer. As depth grows, MAD falls monotonically toward zero — the embeddings collapse onto \(\mathrm{span}(u_1)\) and all nodes start to look alike. If you need to classify node A differently from node J, the model progressively loses the ability to do so.
Oversquashing check: look at the Jacobian \(\partial h_A^{(K)} / \partial x_J\) — how much does node J’s input affect node A’s output?
- With \(K = 4\), node A’s receptive field reaches only 4 hops, and \(\mathrm{dist}(A,J) = 9 > 4\). So \((\hat{A}^{4})_{AJ} = 0\) and hence \(\partial h_A^{(4)}/\partial x_J = 0\) exactly — A literally cannot see J. No training fixes this; it is a statement about the computation graph.
- With \(K = 9\) the receptive field does reach J, but \((\hat{A}^{9})_{AJ}\) is minuscule, so the bound \(\lVert \partial h_A^{(9)}/\partial x_J \rVert \le (cw)^{9}(\hat{A}^{9})_{AJ}\) is near zero anyway.
A caveat on the second point, because it is a common overstatement: on a path the receptive field grows only linearly, not exponentially, and there is exactly one path from A to J. The decay here is not “exponentially many competing paths” — it comes from the random-walk mass spreading out over the whole 9-hop neighbourhood at every step, so that the share arriving from J alone is exponentially small in the distance. The exponential-fan-in story applies to tree-like or expander graphs; the effective-resistance story covers the path case too, and both are instances of the same \((\hat{A}^{K})_{vu}\) bound.
Both problems can coexist: you need 9 layers to reach J (depth demand), but 9 layers cause oversmoothing. The fix is not “just add more layers.”
A Unified View
Both Li et al. (oversmoothing) and Alon & Yahav (oversquashing) can be read as diagnosing failures of information flow, in different regimes:
Short range: Oversmoothing dominates (too many hops → convergence)
Long range: Oversquashing dominates (too little mass reaches distant nodes)
What makes them genuinely two sides of one coin is that both are statements about the same matrix, \(\hat{A} = \tilde{D}^{-1/2}\tilde{A}\tilde{D}^{-1/2}\), read in two different ways. Oversmoothing is about the limit of its powers,
a rank-one collapse controlled by the spectral gap. Oversquashing is about an individual entry of the same power, which upper-bounds how much one node can influence another:
So one pathology says the powers of \(\hat{A}\) converge to something uninformative, while the other says specific entries of those powers are too small. Depth pushes on both at once — which is exactly why it cannot resolve either.
They create opposing pressures on depth:
- Oversmoothing says: use FEWER layers
- Task requirements say: use MORE layers (to reach distant nodes)
- Oversquashing says: more layers don’t help anyway for bottlenecks
The resolution: decouple propagation from transformation (APPNP, SGC) and/or add global attention (Graph Transformers, GPS).
Fixes Summary
Oversmoothing fixes (forward collapse):
- GCNII: residual connections to initial representation
- JK-Net: concatenate all layer outputs
- APPNP: teleport back to initial features during propagation
- DropEdge: randomly drop edges to reduce averaging
- PairNorm: explicit normalisation to maintain diversity
Oversquashing fixes (bottleneck communication):
- SDRF: Ricci flow-based graph rewiring
- Virtual node: global communication node
- Graph Transformers: bypass message passing for long-range
- GPS: combine local MPNN + global attention
Fixes for both:
- GPS (General, Powerful, Scalable): local MPNN avoids oversmoothing; global attention bypasses oversquashing
Summary
| Question | Oversmoothing | Oversquashing |
|---|---|---|
| Where does info die? | Nearby (convergence) | At bottleneck edges (long range) |
| When does it hurt? | Dense graphs, many layers | Sparse graphs with bridges, long-range tasks |
| Can more layers help? | Never (makes it worse) | Should, but squashing increases too |
| Key fix | Residuals, less aggregation | Rewiring, global attention |
These two pathologies define the fundamental challenges of deep GNNs. Understanding both — and distinguishing them — is essential for diagnosing GNN failures and choosing appropriate solutions.
References
- Li, Q., Han, Z., & Wu, X.-M. (2018). Deeper Insights Into Graph Convolutional Networks for Semi-Supervised Classification. AAAI 2018 (oversmoothing).
- Alon, U., & Yahav, E. (2021). On the Bottleneck of Graph Neural Networks and Its Practical Implications. ICLR 2021 (oversquashing).
- Topping, J., Di Giovanni, F., Chamberlain, B. P., Dong, X., & Bronstein, M. M. (2022). Understanding over-squashing and Bottlenecks on Graphs via Curvature. ICLR 2022.
