Complementary-Channel Switched Latent Observer
Implementation & benchmark of arXiv:2608.10298 — Switching Observers for Linear Systems: Beyond Individual Observability
Source paper: Switching Observers for Linear Systems: Beyond Individual Observability arXiv:2608.10298 ⓘ · analyzed Sep 1, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Replace ordinary modality-specific residual fusion with a switched observer whose latent correction depends on the currently available channel. The individual channels are allowed to be insufficient to reconstruct the latent state; stability is enforced over the full switching cycle, so complementary intermittent observations can jointly maintain a stable representation.
Formulas
Mathematical statement
The paper considers a plant \(\dot{x}=Ax+Bu\), with scheduled measurement \(y=C_{\rho(t)}x\), where \(\rho(t)\in\{1,2\}\). The observer is \(\dot{\hat{x}}=A\hat{x}+Bu+L_{\rho(t)}(y-C_{\rho(t)}\hat{x})\), giving error dynamics \(\dot e=(A-L_{\rho(t)}C_{\rho(t)})e\), where \(e=\hat{x}-x\). Let \(F_i=A-L_iC_i\), and let \(\tau_i\) be the duration of channel \(i\). For a periodic two-channel cycle, the exact cycle transition is \(\Phi_{\mathrm{cyc}}=\exp(F_2\tau_2)\exp(F_1\tau_1)\). The transferable stability condition is \(\rho(\Phi_{\mathrm{cyc}})<1\), where \(\rho\) is spectral radius. This condition can hold even if \(\rho(\exp(F_i\tau_i))>1\) for one or both individual channels. Joint observability is expressed by \(\operatorname{rank}[\mathcal O(A,C_1);\mathcal O(A,C_2)]=n\), while individual ranks may be smaller than \(n\).
Implementation notes
1) Integration point: build a continuous-time or small-step linear latent state-space block inside an RNN or SSM. Let the hidden state be \(h\in\mathbb R^n\), use \(\dot h=Ah+Bu\), and treat two feature groups, sensors, or modalities as channels \(z_i=C_i h+\epsilon_i\). At each time step only the currently available channel is used. Apply the channel-specific observer update \(\dot{\hat h}=A\hat h+Bu+L_i(z_i-C_i\hat h)\). The correction can be inserted before the normal MLP nonlinearity or used as the recurrent residual update. 2) Pseudocode: choose switching durations \(\tau_1,\tau_2\); initialize \(A,C_1,C_2\); solve an offline LMI gain program for \(L_1,L_2\) over the allowed dwell-time interval; discretize each error matrix as \(P_i=\exp((A-L_iC_i)\Delta t)\); for each token, select available channel \(i\), compute residual \(r=z_i-C_i\hat h\), and update \(\hat h\) with the discretized plant and correction. 3) Compute explicitly: matrix exponentials, the lifted cycle matrix, its spectral radius, and the stacked observability rank or smallest singular value. Estimate empirically: local learned Jacobians, noise robustness, and nonlinear error decay. 4) First cheap experiment: use a 2D or 4D linear latent teacher with one unstable mode, choose complementary \(C_1,C_2\) so neither channel is individually observable but the stacked observability matrix has rank \(n\), and train an RNN on alternating or randomly missing observations. Compare ordinary GRU residual fusion, independently stabilized channel gains, and the switched observer. Sweep dwell times and gain scale. The quantitative prediction is a sharp stability boundary at \(\rho(\Phi_{\mathrm{cyc}})=1\): below it, cycle-sampled latent error decays geometrically with slope \(\log\rho(\Phi_{\mathrm{cyc}})\); above it, error grows. Measured decay rates should agree with the linear prediction within approximately 20% before nonlinear saturation, and stable performance should persist even when at least one individual channel has \(\rho(\exp(F_i\tau_i))>1\).
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Not reproduced ✗
Stage 2 · Practical benchmark result: Inconclusive
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 a readable switched latent observer experiment using exact matrix exponentials, complementary rank-deficient channels, cycle spectral-radius sweeps, decay-rate checks, dwell-time sweeps, and a noisy residual-fusion comparison. The mechanism manifested strongly: the observed stability boundary was gain 0.8 versus the predicted 0.8, observed log-error slopes matched predicted log spectral radii to numerical precision, and gain 1.2 was stable for balanced dwell times even though both individual channel transitions had spectral radius 1.2214. The switched noisy MSE was 0.0432 versus 3.09e27 for the deliberately non-cycle-aware residual baseline, but this is not evidence of a general learned-model win.
- Agent confidence
- 9/10
- Baseline
- Residual-only missing-channel fusion MSE 3.0946e27 at gain=1.2, noise std=0.15, 80 cycles, 200 trials
- Idea
- Switched observer MSE 0.04324 under the same toy setup; cycle rho=0.81873 at tau1=tau2=0.5; individual channel rhos=1.22140 each. Boundary: predicted gain 0.8, observed grid gain 0.8. Decay slopes: predicted/observed -0.05/-0.05, -0.10/-0.10, -0.20/-0.20 for gains 0.9, 1.0, 1.2. Dwell sweep: cycle rho=0.92312 at (0.4,0.6) and 0.5 dwell split, but 1.04081 at (0.3,0.7), matching the predicted transition.
Limitations: Only a 2D diagonal linear toy system was tested; no trained RNN/SSM, nonlinear latent task, FLOP or wall-clock comparison, gain optimization, random switching, or realistic modality noise/missingness was evaluated. The residual-fusion baseline is a simple non-cycle-aware estimator and is not a competitive modern neural baseline.
How to run: python3 experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2608.10298)
No significant difference vs. the tuned baseline (+18.4%, p=0.4385, wins 3 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- custom_switched_observer_rnn
- Paired seeds
- 8
- Baseline mean
- 0.0026
- Idea mean
- 0.0031
- Effect (Δ)
- 0.0005 (+18.4%; negative = idea better)
- Wins
- 3 / 8 paired seeds
- p-value
- 0.4385 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±47.7%
- Mechanism
- Not confirmed ✗
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 9 configs
Only the registered built-in dynamics pendulum track was tested. No custom intermittent-observation dataset, continuous-time integration, random switching, dwell-time or measurement-noise sweep, LMI gain optimization, or larger SSM architecture was evaluated; the implementation uses alternating learned feature projections as a discrete observer analogue.
How to run: python3 bench_observer.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Failed ✗
Agent confidence: 9/10
The complementary-channel switched observer was implemented and evaluated as a matched recurrent system on the registered dynamics track. It did not improve the independent test MSE: baseline mean 0.0026321 versus idea mean 0.0031172, paired delta +0.0004851, permutation p=0.43845. The trained-model mechanism signature also failed to confirm contraction, with branch Jacobian norms 1.3431 and 1.3305 and observed product 1.7869.
- Baseline
- best_cfg={'lr':0.006,'residual_scale':0.0}; full mean=0.0026320953911636025, std=0.0005285747590703118, per_seed=[0.0022362906020134687,0.0019099744968116283,0.002377047436311841,0.0036456219386309385,0.0032889561261981726,0.002569406060501933,0.0024848924949765205,0.002544573973864317]
- Idea
- selected cfg={'lr':0.006,'gain':0.45}; full mean=0.0031172324815997854, std=0.0013738510956345731, per_seed=[0.003699983935803175,0.002306041307747364,0.0014978268882259727,0.004068186040967703,0.0020008618012070656,0.0021134966518729925,0.0032527041621506214,0.005998759064823389]
Benchmark result
No significant difference vs. the tuned baseline (+18.4%, p=0.4385, wins 3 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- custom_switched_observer_rnn
- Paired seeds
- 8
- Baseline mean
- 0.0026
- Idea mean
- 0.0031
- Effect (Δ)
- 0.0005 (+18.4%; negative = idea better)
- Wins
- 3 / 8 paired seeds
- p-value
- 0.4385 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±47.7%
- Mechanism
- Not confirmed ✗
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 9 configs
Only the registered built-in dynamics pendulum track was tested. No custom intermittent-observation dataset, continuous-time integration, random switching, dwell-time or measurement-noise sweep, LMI gain optimization, or larger SSM architecture was evaluated; the implementation uses alternating learned feature projections as a discrete observer analogue.
How to run: python3 bench_observer.py
Artifacts
- bench_observer.py 6.0 KB View Raw
- bench_report.json 3.4 KB View Raw
- experiment.py 5.2 KB View Raw
- report.md 1.8 KB View
- report_bench_2026-09-01T101533.md 5.5 KB View
- results.json 2.3 KB View Raw