Spectral Burn-In and Retrieval Switch
Implementation & benchmark of arXiv:2607.14885 — Contraction versus Recurrence: An Exponential Separation in Observation-Based Prediction of Deterministic Dynamics
Source paper: Contraction versus Recurrence: An Exponential Separation in Observation-Based Prediction of Deterministic Dynamics arXiv:2607.14885 ⓘ · analyzed Aug 30, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Use the observer contraction rate as an online inference controller. Run the latent observer when its estimated contraction is strong, and invoke expensive retrieval or latent-state reinitialization only when contraction is weak or observation residuals indicate model mismatch.
Formulas
Mathematical statement
Let \(r_t\) denote the local contraction estimate, equal to \(\rho(A_{cl,t})\) for a linear observer or an estimated Jacobian norm for a nonlinear model. Under contraction, state error follows \(E_k\approx E_0r_t^k\), so the predicted burn-in to reach \(\varepsilon\) is \(k_t=\lceil\log(\varepsilon/E_0)/\log r_t\rceil\) for \(0<r_t<1\). The paper contrasts this with recurrence cost \(\mathbb{E}[T_{rec}(\varepsilon)]\asymp\varepsilon^{-d}\), where \(d\) is pointwise attractor dimension. The controller uses observer rollout if \(r_t\le r_{max}<1\) and residuals are small; otherwise it retrieves a similar context or resets the latent state.
Implementation notes
Attach the controller to a recurrent state-space model or a transformer with recurrent latent memory. At each inference step compute the observation residual \(q_t=\|y_t-g(z_t)\|\), estimate \(r_t\) using 3--10 power iterations on Jacobian-vector products, and maintain an error estimate \(\hat E_t\). Set \(k_t=\lceil\log(\varepsilon/E_0)/\log(\max(r_t,r_{min}))\rceil\), where \(E_0\) is calibrated from validation transients and \(r_{min}\) avoids numerical singularities. Continue cheap observer rollout when \(r_t\le r_{max}\) and \(q_t\le\tau\). Otherwise retrieve a nearest latent delay window from a memory bank, blend it with the current state, or rerun the encoder. The recurrence and observer scaling laws are taken from the paper; \(r_t\), \(E_0\), \(\tau\), and \(d\) are estimated empirically. First test on Lorenz-63 with noisy scalar observations, comparing always-retrieve, always-observer, and adaptive switching at matched prediction error. Sweep \(\varepsilon\) from \(10^{-2}\) to \(10^{-6}\). The predicted signature is observer burn-in linear in \(\log(1/\varepsilon)\), retrieval frequency falling sharply for \(r_t<1\), and a compute crossover near \(\varepsilon^{-d}=\log(1/\varepsilon)/(1-r_t^2)\).
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Confirmed ✓
Stage 2 · Practical benchmark result: Significantly worse ✗
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
Stage 1 — Mechanism check agent confidence 8/10
Built and ran a reproducible scalar contraction verification plus a noisy Lorenz-63 observer/retrieval switch in run_experiment.py. The core mechanism manifested: predicted burn-in exactly matched observed recurrence steps, log(1/epsilon) slopes agreed with 1/|log r| within 2.2%, and the stability boundary occurred at r=1. Adaptive switching detected 79.4% of injected mismatch steps while reducing retrieval rate to 35.9%, but it did not improve accuracy in this toy implementation: adaptive RMSE was 5.09 versus 0.75 for always-observer and 14.40 for always-retrieve.
- Agent confidence
- 8/10
- Baseline
- Always-observer: RMSE 0.7497, normalized cost 1.00, retrieval rate 0%; always-retrieve: RMSE 14.3996, normalized cost 7.00, retrieval rate 100%.
- Idea
- Adaptive switch: RMSE 5.0887, normalized cost 3.153, retrieval rate 35.88%; mismatch-step recall 79.44%, non-mismatch switch rate 25.54%. Scalar math: burn-in step error 0 for all tested r and epsilon; log-scaling relative slope error 0.05%-2.17%; observed stability boundary r=1.
Limitations: The Lorenz observer uses a hand-designed fixed contraction proxy rather than 3-10 Jacobian-vector power iterations, and retrieval uses nearest scalar observation rather than a learned latent delay-window index. No trained neural state-space model, real retrieval system, FLOP profiling, epsilon sweep in the learned model, or repeated random seeds was tested. The adaptive policy is evidence for the switching mechanism and math, not a demonstrated end-to-end accuracy or speed win.
How to run: python3 run_experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2607.14885)
Significantly WORSE than the tuned baseline (+171.5%, p=0.0081, wins 0 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0028
- Idea mean
- 0.0075
- Effect (Δ)
- 0.0048 (+171.5%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- Hurts
- Baseline tuning
- swept over 3 configs
The built-in dynamics task uses independent pendulum windows rather than long online streams, so retrieval is a nearest final-hidden-state context fallback rather than a learned delay-window memory. The contraction estimate is a hidden-state norm-ratio proxy, not exact Jacobian-vector power iteration. FLOP and wall-clock speed were not measured. The final comparison used the baseline-selected learning rate; the report records the shared three-value learning-rate union.
How to run: python3 bench_experiment.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Failed ✗
Agent confidence: 10/10
Implemented the spectral burn-in/retrieval switch on the structurally matched built-in dynamics track using independently trained rnn_small systems, paired seeds, baseline learning-rate sweep, and the official report protocol. The trained latent contraction proxy had median 0.988, above the 0.94 threshold, causing 100% retrieval; retrieval was consistently worse than observer rollout. The idea lost significantly with delta_mean=+0.00476083 MSE and permutation p=0.0081.
- Baseline
- Best lr=0.01; 8-seed mean MSE 0.0027758953.
- Idea
- lr=0.01; 8-seed mean MSE 0.0075367271; retrieval rate 100%; median trained latent contraction proxy 0.9880073.
Benchmark result
Significantly WORSE than the tuned baseline (+171.5%, p=0.0081, wins 0 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0028
- Idea mean
- 0.0075
- Effect (Δ)
- 0.0048 (+171.5%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- Hurts
- Baseline tuning
- swept over 3 configs
The built-in dynamics task uses independent pendulum windows rather than long online streams, so retrieval is a nearest final-hidden-state context fallback rather than a learned delay-window memory. The contraction estimate is a hidden-state norm-ratio proxy, not exact Jacobian-vector power iteration. FLOP and wall-clock speed were not measured. The final comparison used the baseline-selected learning rate; the report records the shared three-value learning-rate union.
How to run: python3 bench_experiment.py
Artifacts
- bench_experiment.py 4.3 KB View Raw
- bench_report.json 4.1 KB View Raw
- report.md 1.8 KB View
- report_bench_2026-08-31T110915.md 3.3 KB View
- results.json 6.3 KB View Raw
- run_experiment.py 5.5 KB View Raw