Weakly Normally Hyperbolic Cyclic Optimizer
Implementation & benchmark of arXiv:2608.00812 — Weakly Normally Hyperbolic Invariant Tori: Persistence and an Averaging Principle
Source paper: Weakly Normally Hyperbolic Invariant Tori: Persistence and an Averaging Principle arXiv:2608.00812 ⓘ · analyzed Aug 31, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Augment an optimizer with a periodic phase and deliberately use a cyclic learning-rate or momentum forcing whose averaged dynamics have an attracting low-dimensional set. Treat the resulting periodic parameter orbit as an invariant torus and tune the schedule so transverse contraction dominates tangential sensitivity and minibatch perturbations. The goal is a robust, phase-locked training orbit that explores parameter space without losing attraction toward a useful solution manifold.
Formulas
Mathematical statement
Let $z=(\theta,m)$ denote neural-network parameters and optimizer state, and let $\phi\in\mathbb{T}^1$ be a phase satisfying $\dot\phi=\omega$. The periodically forced training dynamics are $\dot z=f(z,\phi)+\xi(t)$, where $\xi$ represents minibatch noise, and the averaged dynamics are $\dot{\bar z}=\bar f(\bar z)=\frac{1}{2\pi}\int_0^{2\pi}f(\bar z,\phi)\,d\phi$. If the averaged system possesses an attracting invariant manifold $M$ with tangent expansion rate at most $\beta$ and normal contraction rate at least $\alpha>\beta$, then the phase-lifted system has a weakly normally hyperbolic attracting torus. For sufficiently small forcing and perturbation size, a nearby attracting torus persists. The engineering certificate is a positive normal-hyperbolicity gap $\gamma=\alpha-\beta$ and a transverse Floquet multiplier below one.
Implementation notes
1. Integration point: modify SGD with momentum or AdamW so the learning rate and momentum are deterministic periodic functions of a phase variable, for example $\eta(\phi)=\eta_0[1+a\sin\phi]$ and $\mu(\phi)=\mu_0+b\cos\phi$, with $\phi_{k+1}=\phi_k+2\pi/P$ modulo $2\pi$. Include optimizer state in $z$, not only weights. First construct the phase-averaged reference optimizer by replacing periodic coefficients with their cycle averages. 2. Pseudocode: initialize $(\theta,m,\phi)$; at each minibatch compute $g=\nabla_\theta L(\theta)$, update $m\leftarrow\mu(\phi)m+g$, update $\theta\leftarrow\theta-\eta(\phi)m$, then update $\phi\leftarrow(\phi+2\pi/P)\bmod 2\pi$. Every $K$ steps, record states at equal phase values and estimate the one-cycle Jacobian using finite differences, automatic Jacobian-vector products, or tangent perturbations. 3. Computed from the mechanism: phase lifting, cycle averaging, tangent/normal decomposition, and the normal-hyperbolicity condition. Estimated empirically: tangent and normal exponents, minibatch perturbation amplitude, and the Floquet multiplier $\mu_N$. Estimate local tangent spaces with PCA on phase-aligned cycle points and measure transverse decay from perturbed replicas. 4. Cheap experiment: train a two-layer MLP on MNIST using constant AdamW, cosine cyclic AdamW, and this phase-augmented optimizer at matched average learning rate and update count. Sweep forcing amplitude $a$ and period $P$. The falsifiable prediction is a stability boundary when the measured transverse multiplier crosses $\mu_N=1$; below the boundary, transverse perturbations decay exponentially with slope approximately $\log|\mu_N|/P$, while above it they fail to decay. The stable region should disappear when the measured gap $\gamma=\alpha-\beta$ becomes comparable to forcing or minibatch-noise amplitude.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Not reproduced ✗
Stage 2 · Practical benchmark result: Significantly worse ✗
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
Stage 1 — Mechanism check agent confidence 8/10
Built a cyclic learning-rate and momentum optimizer toy with phase forcing, periodic-orbit solving, analytic monodromy/Floquet multipliers, finite-difference checks, stability sweeps, noise tests, and a small MLP comparison. Analytic and finite-difference Floquet radii agreed to relative error below 5e-16, and the predicted rho=1 boundary near eta0=2.3224 separated decay from growth with observed slopes close to log(rho). Noise amplification generally increased with rho but was not perfectly monotone, so that prediction is only partially supported.
- Agent confidence
- 8/10
- Baseline
- Constant momentum/LR MLP test MSE: 0.00457904
- Idea
- Cyclic LR/momentum MLP test MSE: 0.00443470; Floquet relative error below 5e-16; predicted rho=1 boundary eta0=2.3224, with decay at rho=0.842 and growth at rho=1.163
Limitations: Tests were limited to a 2D linear-quadratic system and a tiny synthetic two-layer regression. MNIST, AdamW, high-dimensional torus/PCA tangent estimation, CUDA, FLOP-matched speed, and repeated statistical generalization studies were not tested.
How to run: python3 cyclic_optimizer_experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2608.00812)
Significantly WORSE than the tuned baseline (+46.5%, p=0.0081, wins 0 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0005
- Idea mean
- 0.0007
- Effect (Δ)
- 0.0002 (+46.5%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±21.8%
- Mechanism
- Not confirmed ✗
- Practical effect
- Hurts
- Baseline tuning
- swept over 9 configs
Only the registered dynamics track was tested, using 400 training and 100 test examples, rnn_small, 18 epochs, batch size 64, period 8, and three learning rates crossed with three forcing amplitudes. No vision, tabular, sequence, FLOP/speed, larger models, longer periods, alternative schedules, or broader optimizer families were tested.
How to run: python3 bench_cyclic_dynamics.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
The phase-cyclic learning-rate and momentum optimizer was implemented and evaluated against standard Adam on the structurally matched registered dynamics track with rnn_small. The idea was significantly worse: paired delta_mean was positive (+0.0002245077) with permutation p=0.0081, and the NN-scale mechanism signature was not confirmed because the predicted multiplier 0.19839 differed substantially from the observed 0.99987.
- Baseline
- Best tuned Adam configuration lr=0.0045; full 8-seed mean test MSE 0.0004823377, std 0.0001903000.
- Idea
- Best cyclic configuration lr=0.003, amplitude=0.15; full 8-seed mean test MSE 0.0007068453, std 0.0001652309. Per-seed values: [0.0007048309, 0.0005210392, 0.0009257350, 0.0009892641, 0.0005646042, 0.0005265368, 0.0006700, 0.0007527530].
Benchmark result
Significantly WORSE than the tuned baseline (+46.5%, p=0.0081, wins 0 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0005
- Idea mean
- 0.0007
- Effect (Δ)
- 0.0002 (+46.5%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±21.8%
- Mechanism
- Not confirmed ✗
- Practical effect
- Hurts
- Baseline tuning
- swept over 9 configs
Only the registered dynamics track was tested, using 400 training and 100 test examples, rnn_small, 18 epochs, batch size 64, period 8, and three learning rates crossed with three forcing amplitudes. No vision, tabular, sequence, FLOP/speed, larger models, longer periods, alternative schedules, or broader optimizer families were tested.
How to run: python3 bench_cyclic_dynamics.py
Artifacts
- bench_cyclic_dynamics.py 6.4 KB View Raw
- bench_report.json 7.7 KB View Raw
- cyclic_optimizer_experiment.py 7.8 KB View Raw
- report.md 1.4 KB View
- report_bench_2026-08-31T195310.md 4.8 KB View
- results.json 3.0 KB View Raw