Orbital-Stable Dancing RNN
Implementation & benchmark of arXiv:2608.29630 — Existence and Stability of Dancing Equilibria in Asymmetric Kuramoto Networks
Source paper: Existence and Stability of Dancing Equilibria in Asymmetric Kuramoto Networks arXiv:2608.29630 ⓘ · analyzed Sep 1, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Construct a recurrent layer whose hidden states evolve as directed phase oscillators with a prescribed nonzero common frequency and fixed phase offsets. Train task-relevant dynamics in the quotient space that removes the global phase-shift direction, so a rotating latent representation is not incorrectly penalized as unstable.
Formulas
Mathematical statement
Let \(z_i=r_i e^{\mathrm{i}\theta_i}\) be the complex hidden unit for node \(i\), and let \(a_{ij}\geq 0\) be a directed coupling weight. The phase dynamics are \(\dot\theta_i=\Omega_i+\kappa\sum_j a_{ij}\sin(\theta_j-\theta_i)\). A dancing equilibrium is \(\theta_i(t)=\omega t+\phi_i\), where the phase offsets satisfy \(\omega=\Omega_i+\kappa\sum_j a_{ij}\sin(\phi_j-\phi_i)\) for every \(i\). The linearization has a neutral global-shift eigenvector \(\mathbf{1}\). If the graph is strongly connected and every active edge has \(|\phi_j-\phi_i|<\pi/2\), the transverse dynamics contract locally. More generally, orbital stability requires every nonzero Jacobian eigenvalue to have negative real part.
Implementation notes
Use this as a recurrent phase layer in an oscillatory RNN or latent world model. Represent each hidden channel by \(z_i=r_i\exp(\mathrm{i}\theta_i)\), keep amplitudes fixed initially, and update phases with Euler integration. At each step compute \(d_{ij}=\theta_j-\theta_i\), then \(v_i=\Omega_i+\kappa\sum_j a_{ij}\sin(d_{ij})\), and finally \(\theta_i\leftarrow\theta_i+h v_i\). Feed \([r_i\cos\theta_i,r_i\sin\theta_i]\) to the task head. Use a strongly connected directed ring with skip edges, parameterizing couplings as \(a_{ij}=\operatorname{softplus}(b_{ij})\). Penalize edge phase differences beyond \(\pi/2\), or initialize offsets \(\phi_i\) with all differences below \(\pi/3\). Estimate the rotating solution by averaging \(v_i\) over time. Compute the Jacobian from the displayed formula, remove its zero phase mode, and log the largest transverse real eigenvalue. The existence and angle condition come from the paper; the learned Jacobian and basin size are empirical. First test a 32-unit model on sequential MNIST and noisy sine-wave prediction against tanh and unconstrained complex RNNs. Sweep \(\kappa\) and timestep \(h\). The predicted signature is a stability boundary when an edge angle crosses \(\pi/2\) or the transverse spectral abscissa reaches zero. Below the boundary, perturbation norms should decay as \(\exp(\alpha t)\), where \(\alpha\) is the largest transverse real eigenvalue.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Confirmed ✓
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 an orbital phase RNN and numerically verified the mechanism in a two-node directed-coupling reduction. The neutral global-shift mode was exact (maximum ||J1||=0), the measured stability transition was phi=pi/2 exactly as predicted, and finite-Euler perturbation slopes matched the analytical transverse eigenvalue with maximum error 0.0026. The phase RNN did not improve the toy classification task: tanh RNN accuracy was 0.832 versus 0.535 for the phase model, so the stability mechanism manifested but no task-level win was observed.
- Agent confidence
- 9/10
- Baseline
- Tanh RNN: accuracy=0.8320, loss=0.3830 after 220 steps.
- Idea
- Phase RNN: accuracy=0.5352, loss=0.6920 after 220 steps. Math: neutral-mode error=0; predicted/measured boundary=1.570796/1.570796 rad; transverse decay slope errors=0.00024-0.00257 for non-boundary points.
Limitations: Only the analytically tractable two-node Jacobian was swept; the full sequential-MNIST or noisy-sine benchmark, learned couplings, amplitude dynamics, basin-size measurements, FLOP-normalized comparisons, and broad kappa/timestep sweeps were not tested.
How to run: python3 experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2608.29630)
Ahead of the baseline (−65.0%) but not statistically significant (p=0.058, wins 6 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0001
- Idea mean
- 0
- Effect (Δ)
- -0.0001 (−65.0%; negative = idea better)
- Wins
- 6 / 8 paired seeds
- p-value
- 0.058 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 3 configs
Only the built-in dynamics track was tested; no sequential-MNIST, noisy-sine, long-horizon, FLOP-normalized, amplitude-learning, learned-coupling, timestep, or kappa sweeps were run. Baseline tuning used four seeds and final comparison used eight paired seeds. The mechanism signature was measured on one trained idea model (seed 0), not across all seeds.
How to run: python3 bench_experiment.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
Implemented the orbital phase recurrent model on the structurally matched dynamics track with eight paired seeds and a parity-preserving three-point learning-rate sweep. The idea had lower mean MSE than the tuned GRU baseline, but the paired permutation test was not significant (p=0.058), so this is not a significant benchmark win. The trained-model mechanism signature was quantitatively confirmed.
- Baseline
- rnn_small GRU, best lr=0.01: mean dynamics MSE=0.0001381417, std=0.0000856120, 8 seeds
- Delta mean
- -8.97753e-05
- Idea
- Orbital phase RNN, best lr=0.01: mean dynamics MSE=0.0000483664, std=0.0000163736, 8 seeds
- Idea wins
- 6
- Mechanism confirmed
- true
- Mechanism observed perturbation slope
- -0.00456207
- Mechanism predicted euler slope
- -0.00364286
- Mechanism predicted transverse alpha
- -0.00364186
- N pairs
- 8
- Paired permutation p value
- 0.058
Benchmark result
Ahead of the baseline (−65.0%) but not statistically significant (p=0.058, wins 6 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0001
- Idea mean
- 0
- Effect (Δ)
- -0.0001 (−65.0%; negative = idea better)
- Wins
- 6 / 8 paired seeds
- p-value
- 0.058 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 3 configs
Only the built-in dynamics track was tested; no sequential-MNIST, noisy-sine, long-horizon, FLOP-normalized, amplitude-learning, learned-coupling, timestep, or kappa sweeps were run. Baseline tuning used four seeds and final comparison used eight paired seeds. The mechanism signature was measured on one trained idea model (seed 0), not across all seeds.
How to run: python3 bench_experiment.py
Artifacts
- bench_experiment.py 7.0 KB View Raw
- bench_report.json 3.8 KB View Raw
- experiment.py 6.2 KB View Raw
- report.md 1.3 KB View
- report_bench_2026-09-02T012441.md 4.3 KB View
- results.json 2.8 KB View Raw