# Contractive Uncertainty-Gated Rollouts

- ID: 2400
- Canonical URL: https://synthcore.org/idea/2400/contractive-uncertainty-gated-rollouts
- API JSON: https://synthcore.org/api/idea/2400.json
- API Markdown: https://synthcore.org/api/idea/2400.md
- Verification status: failed_benchmark
- Source: [arXiv:2608.16431](https://arxiv.org/abs/2608.16431)
- Category: dynamics
- Solves: stability, accuracy, sample-efficiency
- ML areas: world-model, rnn, ssm, rl, training-dynamics
- Math tags: dynamical-systems, control-theory, stochastic-processes, spectral-theory
- Ratings: usefulness 8/10; difficulty 5/10; novelty 6/10

## Idea description

Split a learned transition model into a contractive nominal branch and a high-capacity excursion branch, and blend them using calibrated epistemic uncertainty. The nominal branch is used exclusively in the well-supported region, while the excursion branch is activated when the current latent state leaves that region, preventing flexible model errors from being recursively amplified during ordinary rollouts.

## Mathematical statement

Let zₜ be a latent state in Rᵈ, aₜ an action, g_nom a nominal transition, g_exc an excursion transition, and ζ(zₜ,aₜ) a nonnegative epistemic-uncertainty estimate. The hybrid transition is zₜ₊₁ = αₜ g_nom(zₜ,aₜ) + (1 − αₜ) g_exc(zₜ,aₜ), where αₜ = σ(ζ(zₜ,aₜ)), αₜ = 1 whenever ζ ≤ ζ⋆, and αₜ < 1 otherwise. Require the nominal branch to be contractive in a metric induced by positive-definite matrix P: ||g_nom(z,a) − g_nom(z′,a)||_P ≤ ρ ||z − z′||_P with 0 ≤ ρ < 1, where ||v||_P = √(vᵀPv). Nominal rollout discrepancies then satisfy ||e_k||_P ≤ ρᵏ ||e₀||_P. For excursions, assume ||g_exc(z,a)||_P ≤ c₀ + c₁ ||z||_P with c₁ ≤ 1, so growth is at most affine rather than unconstrained exponential. For a neural network with a 1-Lipschitz activation, a sufficient practical constraint is ||W_L||₂ times the product of ||W_ℓ||₂ over ℓ = 1,...,L−1 being at most ρ.

## Key formulas

- zₜ₊₁ = αₜ g_nom(zₜ,aₜ) + (1 − αₜ) g_exc(zₜ,aₜ),  αₜ = σ(ζ(zₜ,aₜ)),  ζ ≤ ζ⋆ implies αₜ = 1
- ||g_nom(z,a) − g_nom(z′,a)||_P ≤ ρ ||z − z′||_P,  0 ≤ ρ < 1
- ||e_k||_P ≤ ρᵏ ||e₀||_P  inside the nominal region
- ||g_exc(z,a)||_P ≤ c₀ + c₁ ||z||_P,  c₁ ≤ 1

## Implementation notes

Use this as the transition module of a latent world model, RSSM, SSM, or recurrent predictor. Instantiate two branches with identical input and output dimensions: a spectrally normalized nominal MLP or GRU branch and a wider, unconstrained excursion branch. Estimate epistemic uncertainty with an ensemble of K transition heads. For predictions g_k(z,a), compute the ensemble mean ḡ(z,a) = (1/K) times the sum of g_k(z,a), and uncertainty ζ(z,a) = (1/K) times the sum of ||g_k(z,a) − ḡ(z,a)||₂². Set ζ⋆ to the 90th or 95th percentile on held-out in-distribution transitions. During rollout, use α = 1 below threshold and α = exp(−β(ζ − ζ⋆)) above threshold, then return z′ = α g_nom + (1 − α) g_exc. Train both branches with one-step prediction loss and add a penalty λ max(0, L_nom − ρ)², where L_nom is the product of the nominal branch spectral norms. Compute ensemble variance and spectral norms online; estimate actual local Lipschitz ratios and excursion constants empirically. The first cheap experiment should use a small GRU or MLP latent model trained on Duffing oscillator, pendulum, or CartPole transitions. Compare an unconstrained single model, a contractive-only model, and the gated hybrid for 50- to 200-step open-loop rollouts from in-distribution and perturbed initial states. The predicted signature is geometric error decay or saturation below threshold, with log-error slope near log(ρ); the rollout-growth transition should occur near ζ⋆, and measured nominal local Lipschitz ratios should remain below ρ within 20 percent.

## Verification

- Status: failed_benchmark
- Mechanism evidence: yes
- Mechanism confirmed: no
- Practical verdict: harms
- Verdict: Built a reproducible uncertainty-gated nominal/excursion transition experiment in experiment.py. The three mechanism checks matched their quantitative predictions: contraction log-slopes equaled log(rho) to below 3e-16, the gate transition occurred at zeta=0.2501 versus 0.25 with slope -4.0000 versus -4, and affine excursion behavior switched from bounded to linear/exponential at c1=1. In the learned rollout test, the contractive model substantially beat the unconstrained baseline, while the hybrid matched the contractive model; this is a promising stability signal, but not evidence that uncertainty gating itself improves this simple dataset.

### Mechanism check

- Verdict: Built a reproducible uncertainty-gated nominal/excursion transition experiment in experiment.py. The three mechanism checks matched their quantitative predictions: contraction log-slopes equaled log(rho) to below 3e-16, the gate transition occurred at zeta=0.2501 versus 0.25 with slope -4.0000 versus -4, and affine excursion behavior switched from bounded to linear/exponential at c1=1. In the learned rollout test, the contractive model substantially beat the unconstrained baseline, while the hybrid matched the contractive model; this is a promising stability signal, but not evidence that uncertainty gating itself improves this simple dataset.
- Confidence: 7/10
- Limitations: The learned hybrid was tested on a small synthetic stable system and did not outperform the contractive-only branch. Explicit spectral normalization, the proposed Lipschitz penalty, uncertainty calibration quality, action-conditioned distribution shift, longer training comparisons, FLOPs, and real Duffing, pendulum, or CartPole data were not tested.

### Practical benchmark

- Paired seeds: 8
- Baseline mean: 0
- Idea mean: 0
- p-value: 0.0081
- Paired wins: 0/8
- Benchmark verdict: idea worse (significant)

## Artifacts

- [bench_experiment.py](https://synthcore.org/code/812/bench_experiment.py)
- [bench_report.json](https://synthcore.org/code/812/bench_report.json)
- [experiment.py](https://synthcore.org/code/812/experiment.py)
- [report.md](https://synthcore.org/code/812/report.md)
- [report_bench_2026-09-01T110845.md](https://synthcore.org/code/812/report_bench_2026-09-01T110845.md)
- [results.json](https://synthcore.org/code/812/results.json)
- [Download all files as ZIP](https://synthcore.org/download/812)

## Disclaimer

AI-generated research hypothesis, automatically tested. Not peer-reviewed.
