# Basin-Aware Hysteresis Guard

- ID: 2771
- Canonical URL: https://synthcore.org/idea/2771/basin-aware-hysteresis-guard
- API JSON: https://synthcore.org/api/idea/2771.json
- API Markdown: https://synthcore.org/api/idea/2771.md
- Verification status: beats_baseline
- Source: [arXiv:2608.27742](https://arxiv.org/abs/2608.27742)
- Category: dynamics
- Solves: stability, accuracy
- ML areas: rnn, ssm, training-dynamics, regularization
- Math tags: dynamical-systems, bifurcations, control-theory, spectral-theory, linear-algebra
- Ratings: usefulness 8/10; difficulty 6/10; novelty 6/10

## Idea description

Use the paper's below-threshold bistability mechanism to distinguish local stability from actual recovery: a recurrent network may have a locally stable nominal state while a second stable state still captures trajectories. Add a perturbation-based basin test and retain stronger damping or reset actions until the network demonstrably returns to the desired branch, rather than disabling intervention immediately when the spectral threshold is restored.

## Mathematical statement

Let the frozen neural state dynamics be \(\dot x=F(x;u)\), where \(x\) is the hidden state and \(u\) is an input or control parameter. The nominal equilibrium \(x_0(u)\) is locally stable when the Jacobian \(J_0=D_xF(x_0;u)\) has spectral abscissa \(\alpha(J_0)=\max_i\operatorname{Re}\lambda_i(J_0)<0\); for a discrete-time map the analogous condition is \(\rho(J_0)<1\). Bistability occurs when a second stable equilibrium and an intermediate saddle coexist below this local threshold. A saddle-node boundary satisfies \(F(x_s;u_s)=0\) and \(\det D_xF(x_s;u_s)=0\), with one eigenvalue passing through zero. Thus restoring \(\alpha(J_0)<0\) does not guarantee return to \(x_0\); a finite perturbation test estimates whether states lie in the desired basin. Damping is released only after both local stability and basin recovery are observed.

## Key formulas

- $$\dot x=F(x;u),\qquad F(x_0;u)=0,\qquad \alpha(J_0)=\max_i\operatorname{Re}\lambda_i\bigl(D_xF(x_0;u)\bigr)<0.$$
- $$F(x_s;u_s)=0,\qquad \det D_xF(x_s;u_s)=0.$$
- $$\widehat B(u)=\frac{1}{M}\sum_{m=1}^{M}{\bf 1}\left[\|\Phi_T(x_0+\varepsilon z_m;u)-x_0\|<\delta\right],\qquad z_m\sim\mathcal N(0,I).$$
- $$\text{release damping only if }\alpha(J_0)\le-\gamma\ \text{and}\ \widehat B(u)\ge1-\epsilon;\quad\text{otherwise retain damping or reset}. $$

## Implementation notes

1. Integration point: apply the guard to tanh or gated RNNs, continuous-time RNNs, neural ODEs, and state-space models during inference or truncated-BPTT training. Define the desired hidden-state branch using the zero-input state, a running teacher-forced state, or a learned reference state. Add controllable damping c to the hidden update, for example h_{t+1}=(1-c)h_t+c f_phi(h_t,u_t), and estimate the local Jacobian spectral radius around the reference trajectory. 2. Pseudocode: compute Jv power iterations and estimate alpha or rho; if the spectral margin is unsafe, increase c or apply a contraction penalty. If the margin becomes safe, draw M perturbations h_ref+epsilon z_m, run each for T steps with the current input held fixed, and calculate B_hat as the fraction returning within delta of h_ref. Keep damping whenever B_hat<1-epsilon; release it only after K consecutive safe checks. 3. The paper supplies the distinction between threshold restoration and basin recovery, plus the saddle-node condition; alpha, B_hat, and the appropriate perturbation scale are estimated from the model. 4. First cheap experiment: use a 2-layer tanh RNN on the adding problem and sequential MNIST, deliberately initialize recurrent gain near a regime with multiple fixed points. Compare ordinary spectral normalization, threshold-only damping, and the hysteresis guard. Sweep gain and perturbation amplitude, measuring fixed-point multiplicity, recovery probability, long-horizon error, and whether trajectories remain trapped after gain restoration. The predicted signature is a hysteresis loop: the gain at which the high-error state appears should exceed the gain at which it disappears, and threshold-only control should show recovery failure below the local instability boundary. The guard should reduce post-restoration failure probability by at least 50% without reducing stable-regime throughput by more than 10%.

## Verification

- Status: beats_baseline
- Mechanism evidence: yes
- Mechanism confirmed: no
- Practical verdict: helps
- Verdict: Built and numerically verified a basin-aware hysteresis toy model using the tilted double-well flow dx/dt=x-x^3+u. The three mechanism predictions were confirmed: the saddle-node was observed at 0.384900 versus 0.384900 predicted, local stability coexisted with multiple equilibria, and empirical basin recovery closely followed Phi(1/epsilon). The controller comparison was not a practical win: threshold-only failure was 0.1433 versus 0.2000 for the guard, showing that scalar damping changes time scale but not basin membership.

### Mechanism check

- Verdict: Built and numerically verified a basin-aware hysteresis toy model using the tilted double-well flow dx/dt=x-x^3+u. The three mechanism predictions were confirmed: the saddle-node was observed at 0.384900 versus 0.384900 predicted, local stability coexisted with multiple equilibria, and empirical basin recovery closely followed Phi(1/epsilon). The controller comparison was not a practical win: threshold-only failure was 0.1433 versus 0.2000 for the guard, showing that scalar damping changes time scale but not basin membership.
- Confidence: 9/10
- Limitations: No tanh RNN, adding-task, sequential-MNIST, GPU, training, or throughput experiment was run. The intervention was tested only on a one-dimensional continuous-time normal form, and its damping cannot alter the asymptotic basin boundary.

### Practical benchmark

- Paired seeds: 8
- Baseline mean: 0
- Idea mean: 0
- p-value: 0.01485
- Paired wins: 7/8
- Benchmark verdict: idea better (significant)

## Artifacts

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

## Disclaimer

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