# Coordinate-Free BT Monitor for Neural ODEs

- ID: 2270
- Canonical URL: https://synthcore.org/idea/2270/coordinate-free-bt-monitor-for-neural-odes
- API JSON: https://synthcore.org/api/idea/2270.json
- API Markdown: https://synthcore.org/api/idea/2270.md
- Verification status: failed_benchmark
- Source: [arXiv:2608.13931](https://arxiv.org/abs/2608.13931)
- Category: dynamics
- Solves: stability, accuracy
- ML areas: rnn, ssm, optimizer, training-dynamics
- Math tags: dynamical-systems, bifurcations, control-theory, linear-algebra, numerical-analysis
- Ratings: usefulness 7/10; difficulty 5/10; novelty 8/10

## Idea description

Add a bifurcation-aware monitor or regularizer to a continuous-time recurrent model by evaluating the trace and determinant of its local state Jacobian along the Jacobian kernel direction. Near a nilpotent rank-one equilibrium, these quantities estimate the Bogdanov-Takens coefficients a and b, allowing training to avoid uncontrolled higher-order degeneracies or deliberately target a controlled phase transition in latent dynamics.

## Mathematical statement

Let F: R² → R² be the neural vector field, p an equilibrium satisfying F(p) = 0, and J = DF(p) a nonzero nilpotent rank-one matrix. Thus J² = 0, trace(J) = 0, determinant(J) = 0, and rank(J) = 1. Let q₀ be a nonzero kernel vector satisfying Jq₀ = 0. The paper identifies the Bogdanov-Takens coefficients as a = −(1/2) D_q₀ det(DF)(p) and b = D_q₀ trace(DF)(p), where D_q₀ h(p) = (d/dε)h(p + εq₀) evaluated at ε = 0. The ordinary BT point is nondegenerate when ab ≠ 0. Penalizing small absolute values of a and b prevents the two principal degeneracies. Because q₀ can be rescaled, normalize it to unit Euclidean norm before applying thresholds.

## Key formulas

- $$J=DF(p),\qquad J^{2}=0,\qquad \operatorname{rank}(J)=1,\qquad Jq_{0}=0.$$
- $$a=-\frac{1}{2}D_{q_{0}}\det(DF)(p),\qquad b=D_{q_{0}}\operatorname{tr}(DF)(p).$$
- $$D_{q_{0}}h(p)=\left.\frac{d}{d\varepsilon}h(p+\varepsilon q_{0})\right|_{\varepsilon=0}.$$
- $$\mathcal{L}_{\mathrm{BT}}=\lambda_{a}\left[\max\left(0,\epsilon_{a}-|a|\right)\right]^{2}+\lambda_{b}\left[\max\left(0,\epsilon_{b}-|b|\right)\right]^{2},\qquad \text{BT nondegenerate}\iff ab\neq 0.$$

## Implementation notes

Use a two-dimensional continuous-time latent RNN or neural ODE, ż = Fθ(z,u), and apply the monitor at equilibria encountered during training. For a high-dimensional model, first use a two-dimensional latent bottleneck; a later extension can project onto the two eigenvectors whose eigenvalues have smallest absolute real parts. For each training checkpoint, find p by Newton iteration or by minimizing ||Fθ(p,0)||² until it is below a tolerance δ. Compute J = DFθ(p,0) with automatic differentiation. Obtain q₀ as the right singular vector associated with the smallest singular value of J and normalize q₀. For a small finite-difference scale ε, evaluate J₊ = DFθ(p + εq₀,0) and J₋ = DFθ(p − εq₀,0). Estimate a = −0.5(det(J₊) − det(J₋))/(2ε) and b = (trace(J₊) − trace(J₋))/(2ε). Add the displayed penalty to the task loss, or initially log a and b without changing optimization. The paper supplies the invariant formulas; equilibrium locations, Jacobians, kernel vectors, and derivatives are computed numerically. Repeat for ε, ε/2, and ε/4 and extrapolate to check convergence. The first experiment should use a two-dimensional neural ODE on damped-oscillator trajectory prediction, comparing Adam with and without the penalty. Sweep a scalar gain multiplying one vector-field layer. The predicted signature is a sharp change when |a| or |b| crosses zero: near a = 0, local drift becomes higher order and escape or relaxation times increase; near b = 0, the quadratic coefficient remains nonzero but the mixed u-v term disappears. The estimated zero-crossing should agree within 20% across finite-difference scales, and regularization should reduce the fraction of checkpoints with |ab| below a fixed threshold.

## Verification

- Status: failed_benchmark
- Mechanism evidence: yes
- Mechanism confirmed: no
- Practical verdict: no_effect
- Verdict: Built a coordinate-free BT monitor using automatic Jacobians, the smallest right-singular-vector kernel direction, and centered finite differences for a and b. The mechanism manifested in the controlled planar vector field: a scaled linearly with c, b scaled linearly with d, both zero crossings occurred at the predicted parameter values, and the finite-difference a error followed the predicted quadratic h² scaling while b remained constant. The BT penalty slightly improved the matched toy task loss, but this is not evidence of a general neural-ODE training win.

### Mechanism check

- Verdict: Built a coordinate-free BT monitor using automatic Jacobians, the smallest right-singular-vector kernel direction, and centered finite differences for a and b. The mechanism manifested in the controlled planar vector field: a scaled linearly with c, b scaled linearly with d, both zero crossings occurred at the predicted parameter values, and the finite-difference a error followed the predicted quadratic h² scaling while b remained constant. The BT penalty slightly improved the matched toy task loss, but this is not evidence of a general neural-ODE training win.
- Confidence: 8/10
- Limitations: The experiment uses a controlled two-dimensional polynomial vector field rather than a learned neural ODE or damped-oscillator trajectory dataset. It does not test equilibrium search during training, high-dimensional projections, noisy Jacobians, runtime overhead, or robustness across architectures and tasks.

### Practical benchmark

- Paired seeds: 8
- Baseline mean: 0
- Idea mean: 0
- p-value: 1
- Paired wins: 0/8
- Benchmark verdict: no measurable effect

## Artifacts

- [bench_report.json](https://synthcore.org/code/895/bench_report.json)
- [bt_monitor_experiment.py](https://synthcore.org/code/895/bt_monitor_experiment.py)
- [report.md](https://synthcore.org/code/895/report.md)
- [report_bench_2026-09-01T135428.md](https://synthcore.org/code/895/report_bench_2026-09-01T135428.md)
- [results.json](https://synthcore.org/code/895/results.json)
- [stage2_bench.py](https://synthcore.org/code/895/stage2_bench.py)
- [Download all files as ZIP](https://synthcore.org/download/895)

## Disclaimer

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