Finite-depth Lyapunov-growth estimation in GNNs
Research note · 29 September 2026
This study asks how to estimate the top finite-depth Jacobian growth rate of a trained graph neural network. It compares exact dense SVD on small cases, random full-space JVP probes, and residual-checked JVP/VJP power iteration. The experiments use tuned GCN, ChebNet, Hariri et al.'s Stable-ChebNet, and a deep feature-conditioned sheaf-diffusion baseline on homophilic, heterophilic, and barbell graph conditions.
Download the illustrated PDF report (2.7 MB) · code, configurations, and evidence
Key result
A maximum over independent random tangent probes is mathematically valid as a lower bound, but it was far too loose as a point estimator in these experiments: even 1,024 probes never reached the predeclared 0.01-per-layer accuracy target. In contrast, three-start, residual-checked power iteration on the complete Jacobian product matched exact tiny-case SVD references. The report explains why probe budgets depend on the singular spectrum and tangent dimension, rather than being a universal GNN hyperparameter.
If the estimator is restricted to forward-only JVP probes (no adjoint), the best measured estimator is the graph-aligned (smoothness-skewed) full-space multiprobe q ∝ (I + cL)^{-1}z: it beats iid probes on every cell at ~2–5× (gap@2^20 GCN 0.166 vs 0.313, ChebNet 0.154 vs 0.292, sheaf 0.045 vs 0.086 at equal wall), at microsecond marginal cost per batched probe — while forward-only refinement (v ← Bv/‖Bv‖) provably stalls at the spectral radius and never reaches the top singular rate.
The new Stable-ChebNet model-zoo entry (Hariri et al., arXiv:2506.07624v2) was evaluated with the same exact-SVD, full-spectrum, histogram, probe-convergence, timing, power-speedup, and forward-only follow-up protocols. Its exact top-rate histogram mean is 0.281, versus 0.804 (GCN), 1.024 (ChebNet), and 0.514 (sheaf), while its full products had no zero singular values in the 58 graph–signal examples. These are controlled synthetic-task results, not a full reproduction of the paper's long-range benchmark.
Datasets and input dependence
Training uses 16 balanced, 12-node homophilic contextual SBMs and validation uses six fresh graphs from the same distribution. Each node has a four-dimensional signal: a noisy class-dependent first coordinate and three noise coordinates. Hyperparameters are selected only from validation accuracy. Testing uses 12 fresh graphs from each of three conditions: matched homophilic SBMs, heterophilic SBMs with reversed edge probabilities, and 15-node barbells with a three-node bottleneck. Jacobian calibration uses the first three examples per condition for each of two model seeds. The complete split contains 58 unique graphs: 16 training, six validation, and 36 testing; Jacobian calibration reuses the first three test examples per condition, for nine unique graph/signal inputs.
The rate is computed pointwise: within a cell, the graph, feature signal, trained model, and forward trajectory are fixed; random probes vary tangent directions, not data inputs. Across cells, the report summarizes an empirical distribution over jointly generated graph/signal pairs. It therefore does not yet isolate variation in the input signal while holding a single graph fixed.
Estimator wall-clock comparison
On the tiny calibrated dimensions, dense Jacobian plus SVD was exact and fastest. Median one-thread CPU times per cell ranged from 0.003–0.071 seconds for dense SVD, 0.007–0.293 seconds for 1,024 vectorized probes, and 1.69–38.46 seconds for three-start/160-iteration power. The Stable-ChebNet timing medians were 0.0128 s dense SVD, 0.0401 s for 1,024 probes, and 9.07 s for fixed power. The fast random-probe method remained inaccurate. Dense storage scales quadratically, so the scalable recommendation remains residual-checked matrix-free power once an explicit Jacobian no longer fits.
Lyapunov-rate histograms
Loading a trained checkpoint of each architecture and drawing the same 300 graph/signal pairs per family, the exact reverse-mode dense-SVD rate gives 900 pointwise values per model. The models are cleanly separated in this pilot: ChebNet dominates every family (mean about 0.98–1.09), GCN is intermediate (about 0.79–0.83), Stable-ChebNet is lower (about 0.22–0.37), and the deep sheaf is lowest (about 0.51–0.53). Distributions are narrow relative to their means, so the finite-depth rate meaningfully distinguishes these trained architectures, and family has a smaller effect than model choice.
The same draws are also evaluated under a non-GNN control: linear graph heat diffusion ẋ = −Lx with a stable Euler step. Its top rate is exactly 0 (mean ≈ 2.7×10−17): the Laplacian preserves the constant node mode and decays everything else, so heat diffusion is mass-preserving and non-expanding here. This confirms the positive GNN rates are genuine growth, not an estimator artifact.
The exact estimator also returns the full singular-value spectrum, each draw giving eigenmode rates for modes 1 through 25. The GNNs are shown at widely spaced modes 1/13/25. ChebNet and the sheaf decay slowly and stay positive (ChebNet 1.024→0.389→0.248; sheaf 0.514→0.125→0.040), Stable-ChebNet decays smoothly (0.281→−0.028→−0.156), while GCN plunges negative by mode 13 (0.804→−0.73→−1.47), so growth is concentrated in just a few leading directions. Heat, evaluated on a single scalar field, keeps modes 1/2/3: mode 1 stays 0 (constant mode preserved) while modes 2/3 go negative (≈ −0.07 and −0.16), i.e. genuine contraction.
Expected empirical singular-value measures
A new full-spectrum experiment forms the complete depth-K hidden-state Jacobian by explicit reverse-mode autodiff and averages each normalized empirical singular-value measure over graph–signal pairs. It covers all 16 training graphs, six validation graphs, and 36 held-out test graphs for each GNN checkpoint, plus single-channel heat diffusion on the same graph distributions. Training top-rate means are 0.777 (GCN), 0.987 (ChebNet), 0.136 (Stable-ChebNet), 0.505 (sheaf), and approximately 0 (heat), while the bulk is strongly contracting; this is a fixed-depth spectral observable, not the spectrum of an expected Jacobian or an asymptotic Lyapunov distribution.
Direct checkpoint comparison confirms the replay: final training losses agree to approximately 10−18, and validation accuracies match exactly.
A numerical stability audit compares the float64 SVD spectra against a 100-digit mpmath recomputation: rank ordering is stable, but the deep contracting tail and near-zero classifications are precision-dependent, especially for GCN.
The expected measure is also split by the sign of its finite log-rates: positive mass corresponds to expanding singular directions and negative mass to contracting directions. Exact zero-rate mass and the separate zero-singular-value atom at −∞ are shown separately.
Pushing probes from 2^10 to 2^20 closes only ~20% of the gap per 1024\times more probes (GCN 0.390→0.318, ChebNet 0.380→0.308, Stable-ChebNet 0.198→0.160, sheaf 0.117→0.090).
Power-iteration speedup
Two matrix-free upgrades are 5–15\times faster than the original fixed 3×160 protocol while matching the exact
rate: early-stopping power (per-start stop at residual ≤10−7) and matrix-free Lanczos. Median per-cell
wall-clock: sheaf 30.7 s → 2.06 s (early) and 5.9 s (Lanczos). Relaxing the stop threshold to residual ≤10−2
buys additional speed only with fine-grained checks: at check_every=1 the residual hits 10−2 by sweep 3, so
per-cell times drop further to GCN 0.045 s, ChebNet 0.136 s, sheaf 1.09 s (~19–27× total, vs ~15× at 10−7),
at a worst-case rate error ~10−4.
Stable-ChebNet forward-only and adaptive follow-ups
On the same three seed-90000 operators, Stable-ChebNet's graph-smoothed forward-only probes reduced the 220 gap from 0.157 (iid) to 0.109, at about 37.5–40.0 seconds. Adjoint-enabled refinement reduced the gap to 0.0021–0.0048 in two steps and below 10−4 in three to five steps. The frequency-adaptive forward-only tilt was worse than fixed smoothing at small budgets, with pooled gaps 0.20 versus 0.14 at M=10.
Pierre's projected estimator
A separate experiment evaluates Pierre's deliberately different observable, which subtracts the node mean after every layer Jacobian action. Exact projected rates were lower than full-Jacobian rates on matched instances: mean GCN 0.344 versus 0.674, sheaf 0.427 versus 0.523, and ChebNet 0.844 versus 1.112. All 54 projected power-iteration cells passed the residual check and matched their projected dense-SVD references. Random projected probes still converged slowly and none reached the 0.01-per-layer target at 1,024 probes.
Recent spectral extensions
We now also condition the grouped spectral measure on one fixed graph while resampling signals, repeat the complete-product analysis on the MUTAG real-world molecular graph benchmark, and extend the expected-measure diagnostic to a no-pooling MNIST CNN and a four-hidden-layer 300-unit UCI HIGGS MLP. The complete 42-page report contains the full figure set, rank-concentration diagnostics, raw-singular-value checks, a 100-digit SVD precision control, continuation results, classification accuracies, loss curves, coverage/atom annotations, split details, and reproducibility manifests.
Recommended practice
- For small calibration cases, validate JVP/VJP products against a dense reverse-mode Jacobian and SVD.
- For the scalable finite-depth top rate, use multiple-start power iteration on the full unprojected Jacobian product; report residuals and do not accept nonconverged runs.
- Use random probes as labeled lower bounds or spectral-shape diagnostics, after calibration; do not silently treat a fixed probe count as the exponent.
- Do not insert a mean-zero projection when claiming to measure the full Jacobian: it changes the operator. If scientifically useful, report Pierre's projected cocycle as a separately named observable.