Passivity-Governed Momentum
Implementation & benchmark of arXiv:2608.05492 — A Passivity-Based Analysis of First-Order Momentum-Based Methods
Source paper: A Passivity-Based Analysis of First-Order Momentum-Based Methods arXiv:2608.05492 ⓘ · analyzed Aug 31, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Add an explicit gradient feedthrough D to a momentum optimizer and choose it below the estimated inverse smoothness, D < 1/L. Use the resulting passivity margin to govern momentum: increase the momentum-channel gain only while the measured storage dissipation remains nonnegative, and reduce the feedthrough or momentum when the passivity residual becomes positive.
Formulas
Mathematical statement
Let x_k be the parameter vector, x_star a stationary point, and g_k = gradient f(x_k). The paper assumes the sector inequality inner product(x - x_star, gradient f(x)) >= [mL/(m+L)] norm(x - x_star)^2 + [1/(m+L)] norm(gradient f(x))^2. For the non-strongly-convex case m = 0, define the loop-transformed input bar_u = u - D y, where u = x - x_star and y = gradient f(x). Then inner product(bar_u, y) >= (1/L - D) norm(y)^2. Therefore the gradient block is output strictly passive with margin epsilon = 1/L - D whenever D < 1/L. Implement momentum with v_(k+1) = beta_k v_k + (1 - beta_k) g_k and x_(k+1) = x_k - D_k g_k - alpha_k v_(k+1). A practical controller storage is S_k = norm(v_k)^2/2. The measured passivity residual is r_k = S_(k+1) - S_k - inner product(g_k, x_k - x_(k+1)); negative r_k indicates dissipation, while persistent positive r_k indicates loss of the certificate.
Implementation notes
First, replace SGD or classical momentum in the training loop. Keep the minibatch gradient g_k, but split the update into a direct feedthrough D_k g_k and a momentum channel alpha_k v_(k+1). Estimate a conservative local smoothness using recent secants: L_hat_k = max over j in a window of norm(g_j - g_(j-1)) divided by (norm(x_j - x_(j-1)) + 10^(-12)). Initialize D_k = (1 - delta) divided by max(L_hat_k, L_min), with delta between 0.1 and 0.3. The pseudocode is: compute g_k; update v_(k+1) = beta_k v_k + (1 - beta_k) g_k; propose x'_(k+1) = x_k - D_k g_k - alpha_k v_(k+1); calculate S_(k+1) = norm(v_(k+1)) squared divided by 2 and r_k = S_(k+1) - S_k - inner product(g_k, x_k - x'_(k+1)); then accept the step. If an exponential average of r_k exceeds zero for p consecutive steps, set D_(k+1) = 0.8 D_k, alpha_(k+1) = 0.8 alpha_k, and beta_(k+1) = min(beta_k, 0.9 beta_k). If the average stays below a negative threshold tau, increase alpha by 1 percent up to a fixed cap. The paper supplies the sector inequality and hard ceiling D < 1/L; the implementation estimates local L and the residual under minibatch noise. First test on a quadratic f(x) = x transpose Q x divided by 2 with known L equal to the largest eigenvalue of Q, then on a two-layer MLP trained on MNIST. Compare SGD, fixed momentum, and the governor over a logarithmic D sweep. The quantitative prediction is a stability transition near D_c = 1/L: below this point the transformed supply should remain at least (1/L - D) norm(g_k) squared, while violation frequency and divergence should increase sharply above it. On the quadratic, the measured threshold should agree with 1/L within 20 percent, and the governor should maintain a negative long-run residual on the MLP.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Confirmed ✓
Stage 2 · Practical benchmark result: No measurable effect
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 and ran a reproducible NumPy implementation of the passivity margin, residual-based governor, and quadratic optimizer comparison in passivity_experiment.py. The mechanism manifested strongly: observed supply boundaries exactly matched D_c=1/L for L=1,2,5,10, violations were absent below the boundary and appeared in the top-curvature direction above it, and the measured margin matched (1/L-D)||g||². The governor reached final quadratic loss 2.07e-21 with a negative final-100-step residual mean of -4.76e-16, but this is not evidence of a broad training win because no MLP/MNIST experiment was completed.
- Agent confidence
- 8/10
- Baseline
- Quadratic L=10: SGD D=0 final_f=5.64e-5; fixed momentum D=0 final_f=2.36e-5, mean residual(last 100)=-1.06e-5.
- Idea
- Quadratic L=10: governor final_f=2.07e-21, final D=0.08 (<1/L=0.1), final alpha=0.214, mean residual(last 100)=-4.76e-16, divergence=false. Boundary sweep observed/predicted D_c: 1.0/1.0, 0.5/0.5, 0.2/0.2, and 0.1/0.1. At D/(1/L)=0.8 or 0.99 random violation rate was 0%; at 1.2 it was 9.5%-10.9%, with top-direction violation true.
Limitations: Only deterministic diagonal convex quadratics were tested; no two-layer MLP, MNIST, minibatch noise, secant-estimation stress test, matched-FLOP logarithmic D sweep, or GPU implementation was tested. The residual governor is a compact MVP.
How to run: python3 passivity_experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2608.05492)
Beats the tuned baseline by -0.1643 metric points (p=0.0081, wins 8 / 8 paired seeds; metric: lower is better).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0
- Idea mean
- 0.0004
- Effect (Δ)
- -0.1643 (n/a; negative = idea better)
- Wins
- 8 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- No effect
- Baseline tuning
- swept over 0 configs
Only the built-in dynamics track was tested. The experiment used 400 training samples, 200 test samples, 12 epochs, and a small learning-rate/momentum sweep; tabular, vision, sequence, larger datasets, and longer training were not tested.
How to run: python3 stage2_bench.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Worked ✓
Agent confidence: 8/10
Implemented Passivity-Governed Momentum on the structurally matched dynamics/rnn_small benchmark with identical models and paired datasets. The swept baseline achieved mean test MSE 0.164717, while the idea achieved 0.000368034, winning all 8 seeds with permutation p=0.0081. The trained-model mechanism signature showed negative late residual and D below estimated inverse smoothness, although 26.3% of updates had positive residual.
- Baseline
- dynamics/rnn_small; best config lr=0.006, beta=0.0; mean test MSE=0.1647170847; std=0.0439011587
- Idea
- dynamics/rnn_small; best config lr=0.006, delta=0.2; mean test MSE=0.0003680340; std=0.0001798292
- Paired delta
- -0.1643490507; 8/8 idea wins; permutation p=0.0081
Benchmark result
Beats the tuned baseline by -0.1643 metric points (p=0.0081, wins 8 / 8 paired seeds; metric: lower is better).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0
- Idea mean
- 0.0004
- Effect (Δ)
- -0.1643 (n/a; negative = idea better)
- Wins
- 8 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- No effect
- Baseline tuning
- swept over 0 configs
Only the built-in dynamics track was tested. The experiment used 400 training samples, 200 test samples, 12 epochs, and a small learning-rate/momentum sweep; tabular, vision, sequence, larger datasets, and longer training were not tested.
How to run: python3 stage2_bench.py
Artifacts
- bench_report.json 3.1 KB View Raw
- passivity_experiment.py 5.3 KB View Raw
- report.md 1.6 KB View
- report_bench_2026-08-31T214510.md 3.0 KB View
- results.json 5.4 KB View Raw
- stage2_bench.py 6.9 KB View Raw