Concurrent-Learning Leak Calibration
Implementation & benchmark of arXiv:2608.06840 — An Adaptive Longitudinal Platooning Design Based On Concurrent Learning
Source paper: An Adaptive Longitudinal Platooning Design Based On Concurrent Learning arXiv:2608.06840 ⓘ · analyzed Aug 31, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Replace a fixed leak coefficient in a continuous-time SSM or leaky RNN by an online estimate learned from current and replayed hidden-state transitions. The estimator exploits the scalar nature of each decay parameter: a single transition with a nonzero hidden-state regressor is sufficient for exponential identification in the noiseless model, without requiring persistent excitation from the whole sequence.
Formulas
Mathematical statement
For one SSM coordinate, assume the transition obeys \(\dot{x}(t)=-a x(t)+b u(t)\), where \(x\) is the hidden state, \(u\) is the input, \(b\) is known or separately estimated, and the unknown leak rate satisfies \(a>0\). Define \(y(t)=\dot{x}(t)-b u(t)\), giving \(y(t)=-a x(t)\). With stored samples \((x_j,y_j)\), define residuals \(e(t)=y(t)+\hat a(t)x(t)\) and \(e_j=y_j+\hat a(t)x_j\). The concurrent-learning estimator is \(\dot{\hat a}=-\gamma[x(t)e(t)+\sum_jx_j e_j]\), with \(\gamma>0\). For parameter error \(\tilde a=\hat a-a\), the noiseless error equation is \(\dot{\tilde a}=-\gamma[x(t)^2+\sum_jx_j^2]\tilde a\). If one stored sample has \(x_j\ne0\), then \(I_*:=\sum_jx_j^2>0\) and \(|\tilde a(t)|\le|\tilde a(0)|e^{-\gamma I_*t}\). Projection onto \([a_{\min},a_{\max}]\), with \(a_{\min}>0\), preserves a contractive hidden transition and gives sensitivity decay bounded by \(e^{-a_{\min}t}\).
Implementation notes
Integrate the method at the recurrent or SSM transition level. Use a diagonal continuous-time layer \(\dot{x}=-\hat A x+B u\), initially with one scalar leak parameter shared by all hidden coordinates so the mechanism is easy to isolate. Discretize with Euler for the first prototype or use the exact diagonal transition \(x_{t+1}=e^{-\hat A\Delta t}x_t+\hat A^{-1}(I-e^{-\hat A\Delta t})Bu_t\). At each step, estimate \(y_t=(x_{t+1}-x_t)/\Delta t-bu_t\), form the current residual \(r_t=y_t+\hat a x_t\), retrieve stored pairs \((x_j,y_j)\), form \(r_j=y_j+\hat a x_j\), and update \(\hat a\leftarrow\hat a-\eta_a\gamma[x_t r_t+\sum_jx_jr_j]\). Project after every update to \([a_{\min},a_{\max}]\). Store a transition when \(|x_t|\) exceeds a threshold; retain the \(M\) samples with largest \(x_j^2\) or highest estimated signal-to-noise ratio. The paper supplies the concurrent-learning estimator and exponential error mechanism; the implementation must estimate derivatives from discrete noisy transitions and should stop-gradient through replay targets initially. First test a one-dimensional leaky SSM on the copy task and adding task, comparing fixed leak, current-sample-only adaptation, and concurrent learning. Log \(I_* =\sum_jx_j^2\) and parameter error. The quantitative prediction is that the noiseless semilog parameter-error slope is approximately \(-\gamma I_*\) or more negative, and identification should continue after inputs are set to zero if one nonzero sample was stored. Sweep \(a_{\min}\) and predict hidden-state sensitivity decay no slower than \(e^{-a_{\min}t}\); allowing estimates to cross zero should create a sharp long-horizon instability boundary. Under noise, expect convergence to a residual floor rather than zero, with larger \(I_*\) reducing that floor.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Confirmed ✓
Stage 2 · Practical benchmark result: No measurable effect
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
Stage 1 — Mechanism check agent confidence 9/10
Built and ran a readable concurrent-learning leak estimator with replay, projection, math sweeps, sensitivity checks, and a noisy-transition toy comparison. Predicted semilog error slopes matched -gamma I* within 0.08% across five replay sets, and epsilon-identification times matched the logarithmic prediction within 0.12%. Replay continued identifying the leak after the current state was zero, reducing error from 1.199 to 0.022 versus no reduction for current-only learning; the noisy demo also favored concurrent learning over fixed and current-only leaks.
- Agent confidence
- 9/10
- Baseline
- Fixed leak final absolute parameter error 1.200; current-only adaptation final error 1.070 in the noisy transition demo, and 1.200 when the current state was exactly zero.
- Idea
- Concurrent learning final noisy-demo error 0.821 with 12 replay samples; noiseless replay error 0.0219 after 5 time units. Slope relative error was 0.006%-0.079%, identification-time ratio was 0.9988-0.9999, and projected sensitivity rates exactly matched a_min.
Limitations: This is a one-dimensional toy transition experiment, not a trained copy/add task or multidimensional SSM. The noisy demo uses a simple fixed transition-noise setting and does not benchmark wall-clock speed, FLOPs, learned B, derivative-estimation filters, or realistic replay-buffer selection under substantial noise.
How to run: python3 verify.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2608.06840)
No significant difference vs. the tuned baseline (−-0.0%, p=1, wins 0 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.003
- Idea mean
- 0.003
- Effect (Δ)
- 0 (−-0.0%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 1 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±0.0%
- Mechanism
- Confirmed ✓
- Practical effect
- No effect
- Baseline tuning
- swept over 6 configs
Only the built-in structurally matched dynamics track was tested. The prototype estimates a shared scalar discrete leak rather than a full continuous-time multidimensional SSM, uses detached self-generated transition targets, and does not test noisy derivative filters, learned input matrices, larger replay selection, wall-clock/FLOPs, or longer training budgets.
How to run: python3 bench_stage2.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 a matched dynamics benchmark using a local leaky recurrent model, fixed-leak baseline, concurrent-learning intervention, parity sweeps, eight paired seeds, and a trained-model sensitivity signature. The signature confirmed the predicted discrete decay with maximum relative error 0.71%, but baseline and idea had exactly identical test MSE, delta 0 and permutation p=1, so there was no observed benchmark benefit.
- Baseline
- Best cfg lr=0.003, alpha=0.25; eight-seed test MSE mean 0.0030318284407258034, std 0.0008736966527765663.
- Idea
- Best cfg lr=0.003, alpha=0.25; eight-seed test MSE mean 0.0030318284407258034, std 0.0008736966527765663. Paired delta=0.0, permutation p=1.0, verdict=no measurable effect.
- Mechanism signature
- Trained-model sensitivity confirmed: alpha_final=0.5000000000622108; maximum relative error between predicted (1-alpha)^k and observed perturbation decay was 0.007079958105661043.
Benchmark result
No significant difference vs. the tuned baseline (−-0.0%, p=1, wins 0 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.003
- Idea mean
- 0.003
- Effect (Δ)
- 0 (−-0.0%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 1 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±0.0%
- Mechanism
- Confirmed ✓
- Practical effect
- No effect
- Baseline tuning
- swept over 6 configs
Only the built-in structurally matched dynamics track was tested. The prototype estimates a shared scalar discrete leak rather than a full continuous-time multidimensional SSM, uses detached self-generated transition targets, and does not test noisy derivative filters, learned input matrices, larger replay selection, wall-clock/FLOPs, or longer training budgets.
How to run: python3 bench_stage2.py
Artifacts
- bench_report.json 3.7 KB View Raw
- bench_stage2.py 6.0 KB View Raw
- report.md 1.6 KB View
- report_bench_2026-09-01T012833.md 5.0 KB View
- results.json 3.3 KB View Raw
- verify.py 6.7 KB View Raw