# Covariance-Conditioned Neural Rollouts

- ID: 988
- Canonical URL: https://synthcore.org/idea/988/covariance-conditioned-neural-rollouts
- API JSON: https://synthcore.org/api/idea/988.json
- API Markdown: https://synthcore.org/api/idea/988.md
- Verification status: mech_ok_no_baseline
- Source: [arXiv:2607.15949](https://arxiv.org/abs/2607.15949)
- Category: dynamics
- Solves: stability, accuracy, sample-efficiency
- ML areas: world-model, ssm, rnn, transformer
- Math tags: probability, statistics, linear-algebra, control-theory
- Ratings: usefulness 8/10; difficulty 5/10; novelty 6/10

## Idea description

Augment a neural latent or sequence model with a Gaussian behavior head that predicts an entire future trajectory jointly from the observed prefix and planned inputs. Instead of recursively applying only a point predictor, condition the learned joint trajectory covariance on the available prefix, producing a corrected future mean and uncertainty that incorporates temporal correlations.

## Mathematical statement

Let w ∈ Rᵈʷ contain the observed prefix, initial latent state, and planned inputs, and let y ∈ Rᵈʸ contain the future outputs or latent states. Assume the joint vector [w; y] is Gaussian with mean [μw; μy] and covariance blocks Σww, Σwy, Σyw, and Σyy. The conditional mean is μy + Σyw Σww⁻¹(w − μw), and the conditional covariance is the Schur complement Σyy − Σyw Σww⁻¹Σwy. In implementation, replace the inverse with a ridge-regularized inverse using λ > 0. The Schur-complement term is positive semidefinite and quantifies uncertainty remaining after conditioning on the prefix.

## Key formulas

- [w; y] ~ N([μw; μy], [[Σww, Σwy]; [Σyw, Σyy]])
- E[y | w] = μy + Σyw Σww⁻¹(w − μw) = Mw + b
- Cov(y | w) = Σyy − Σyw Σww⁻¹Σwy = Σy|w ⪰ 0
- M̂ = Σ̂yw (Σ̂ww + λI)⁻¹,   Σ̂y|w = Σ̂yy − Σ̂yw (Σ̂ww + λI)⁻¹Σ̂wy

## Implementation notes

Integrate this as a parallel uncertainty-aware head on a GRU, transformer, or neural state-space model. First train a deterministic model h[t+1] = fθ(h[t], u[t]) using ordinary teacher forcing. Collect overlapping trajectory windows containing an observed prefix, planned inputs, and a complete future sequence. Define w as the concatenation of the prefix and planned inputs, and define y as the future latent states or observations. Estimate μw, μy, and the covariance blocks from the training buffer, optionally after subtracting the deterministic network prediction so that the Gaussian head models residuals. At inference, compute M̂ = Σ̂yw solve(Σ̂ww + λI, I), then return mean = μy + M̂(w − μw) and covariance = Σ̂yy − Σ̂yw solve(Σ̂ww + λI, Σ̂wy). Use a low-rank-plus-diagonal covariance if the trajectory dimension is large. The Gaussian conditioning equations are taken from the paper; the feature map, ridge parameter, covariance rank, and residual estimation are empirical choices. The first cheap experiment is a small GRU on noisy Lorenz-63 or pendulum trajectories, comparing recursive mean-only prediction with the joint conditional head at horizons 10, 25, and 50. The predicted signature is that increasing prefix length decreases trace(Σ̂y|w), apart from finite-sample noise, because the removed term Σyw Σww⁻¹Σwy is positive semidefinite. Evaluate 95 percent ellipsoidal calibration using eᵀ(Σ̂y|w + εI)⁻¹e ≤ χ²[d_y, 0.95]; empirical coverage should approach 95 percent, and conditional negative log-likelihood should improve over an unconditional diagonal Gaussian head.

## Verification

- Status: mech_ok_no_baseline
- Mechanism evidence: yes
- Mechanism confirmed: yes
- Practical verdict: harms
- Verdict: Built a covariance-conditioned joint rollout MVP in mvp.py, including a Schur-complement PSD check and held-out AR(1) rollout comparison. The conditional head achieved nearly identical mean MSE to recursive prediction (2.72084 vs 2.72124), but substantially improved Gaussian NLL (14.23 vs 18.92) and 95% coverage (94.6% vs 86.9%) using the full correlated covariance. The effect is real for uncertainty quality, not a demonstrated mean-accuracy gain; redundant older prefix history did not materially help after observing the latest state.

### Mechanism check

- Verdict: Built a covariance-conditioned joint rollout MVP in mvp.py, including a Schur-complement PSD check and held-out AR(1) rollout comparison. The conditional head achieved nearly identical mean MSE to recursive prediction (2.72084 vs 2.72124), but substantially improved Gaussian NLL (14.23 vs 18.92) and 95% coverage (94.6% vs 86.9%) using the full correlated covariance. The effect is real for uncertainty quality, not a demonstrated mean-accuracy gain; redundant older prefix history did not materially help after observing the latest state.
- Confidence: 8/10
- Limitations: The mini-experiment uses a stationary Gaussian AR(1) process rather than a trained GRU, transformer, Lorenz-63 system, or neural latent residual head. It evaluates a fixed horizon of 10 and does not measure FLOPs, runtime, low-rank covariance scaling, or performance under distribution shift.

### Practical benchmark

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

## Artifacts

- [bench_report.json](https://synthcore.org/code/177/bench_report.json)
- [bench_runner.py](https://synthcore.org/code/177/bench_runner.py)
- [experiment.py](https://synthcore.org/code/177/experiment.py)
- [mechanism_results.json](https://synthcore.org/code/177/mechanism_results.json)
- [mvp.py](https://synthcore.org/code/177/mvp.py)
- [mvp_results.json](https://synthcore.org/code/177/mvp_results.json)
- [report.md](https://synthcore.org/code/177/report.md)
- [report_bench_2026-09-02T160812.md](https://synthcore.org/code/177/report_bench_2026-09-02T160812.md)
- [results.json](https://synthcore.org/code/177/results.json)
- [verify_mechanism.py](https://synthcore.org/code/177/verify_mechanism.py)
- [Download all files as ZIP](https://synthcore.org/download/177)

## Disclaimer

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