Rate-Controlled Smoothed-Sign Optimizer
Implementation & benchmark of arXiv:2607.06013 — Stability Annealing Selects the Implicit Bias of Smoothed Sign Descent: A Rate-Indexed Barrier Path on Separable Data
Source paper: Stability Annealing Selects the Implicit Bias of Smoothed Sign Descent: A Rate-Indexed Barrier Path on Separable Data arXiv:2607.06013 ⓘ · analyzed Aug 30, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Replace the fixed numerical stabilizer in signSGD by an exponentially decaying stability path, so the optimizer remains sign-like for a controllable duration instead of eventually reverting toward ordinary gradient descent as gradients become small. Sweep the decay rate as an explicit implicit-bias parameter: slower annealing should retain the non-Euclidean, barrier-like bias, while faster annealing should approach the sign endpoint more closely.
Formulas
Mathematical statement
The paper studies the memoryless update w_{t+1}=w_t+eta_t[-nabla L(w_t)]/(|nabla L(w_t)|+epsilon_t), with division and absolute value coordinatewise and epsilon_t=epsilon_0 exp(-kappa t). Here w_t is the parameter vector, L is a weighted exponential loss, eta_t>0 is the step size, epsilon_0>0 is the initial stability constant, and kappa>=0 is the annealing rate. On separable linear data, the paper rewrites this recursion as entropic mirror ascent on a concave dual objective; the resulting dual-gap analysis uses a KL-divergence recursion and yields an S_t^{-1/2} normalized-iterate envelope, where S_t is cumulative optimization time. The static limiting geometry is a convex Burg-type barrier on a fixed margin slice. The neural-network adaptation preserves the exact coordinatewise smoothed-sign recursion and uses kappa to experimentally select how strongly this barrier-like implicit bias is retained.
Implementation notes
(1) Integration point: implement this as a replacement for the optimizer update after backpropagation and before weight decay. Apply the fraction elementwise to every trainable tensor; initially exclude biases and normalization parameters, then test them in an ablation. Use decoupled weight decay separately, with p <- p - eta*lambda*p, so the measured effect is not confounded with L2 regularization. For minibatch training, use the current minibatch gradient, but first validate on full-batch or large-batch separable binary classification where the paper's assumptions are closest.
(2) Pseudocode:
initialize parameters theta, epsilon0, kappa
for t in 0,...,T-1:
loss = weighted_exponential_or_logistic_loss(model(theta), batch)
g = autograd(loss, theta)
eps = epsilon0 * exp(-kappa * t)
for parameter tensor p and gradient gp:
p = p - eta[t] * gp / (abs(gp) + eps)
p = p - eta[t] * weight_decay * p
The paper's mathematical ingredient is the exponential stability path and coordinatewise smoothed-sign map. The KL dual recursion and Burg-barrier characterization are used as motivation and diagnostics rather than assumed to hold for nonlinear networks. Log the normalized parameter direction theta divided by its Euclidean norm, training margin, coordinatewise ratio abs(g)/(abs(g)+eps), and cumulative time S_t=sum_s eta_s. Estimate direction stability using cosine similarity between checkpoints and compare the observed direction error against an empirical S_t^{-1/2} reference.
(3) First cheap experiment: train a linear classifier and a two-layer ReLU MLP on MNIST restricted to two classes, using logistic or exponential loss. Compare SGD, signSGD with fixed epsilon, Adam, and the annealed optimizer over a logarithmic grid of kappa values, with identical learning-rate tuning and matched optimizer steps. Start with width 256, batch sizes 256 and full batch. Success means a reproducible curve in margin versus test error as kappa varies, improved late-stage margin or robustness at equal training cost, and a smooth transition between fixed-epsilon gradient-like behavior and sign-like behavior. Falsify the idea if kappa has no effect after learning-rate retuning or if annealing is consistently worse than both tuned signSGD and Adam.
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 9/10
Built a reusable PyTorch RateControlledSmoothedSign optimizer and deterministic toy/classification experiment. The toy sweep confirmed all three mechanism predictions: for 0<kappa<1, asymptotic speed matched kappa within 1e-12 and the offset matched log((1-kappa)/(epsilon0*kappa)) within 2e-11; kappa>=1 saturated at sign speed 1. In the linear classification test, annealed variants reached 100% accuracy versus 98.8% for SGD/fixed smoothing, with the best normalized minimum margin 0.0476 at kappa=0.25, but this is only a small single-seed signal rather than a broad optimizer win.
- Agent confidence
- 9/10
- Baseline
- SGD: loss 0.1230, accuracy 98.83%, normalized minimum margin -0.0907; fixed smoothed-sign: loss 0.1248, accuracy 98.83%, margin -0.0948
- Idea
- kappa=0.05/0.25/0.75/1.25: losses 0.0562/0.00392/0.00920/0.00809, all 100% accuracy, normalized minimum margins 0.0174/0.0476/0.0360/0.0449; toy speed and offset predictions passed
Limitations: Only a one-dimensional exponential-loss toy and one small full-batch linear logistic dataset were tested. No MLP, MNIST, minibatch noise, Adam comparison, hyperparameter retuning, multiple seeds, wall-clock benchmark, or robustness evaluation was performed.
How to run: python3 experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2607.06013)
Significantly WORSE than the tuned baseline (+25.2%, p=0.0081, wins 0 / 8 paired seeds).
- Benchmark
- Tabular regression (Friedman)
- Model
- mlp_tiny
- Paired seeds
- 8
- Baseline mean
- 7.3346
- Idea mean
- 0
- Effect (Δ)
- 1.8448 (+25.2%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Not confirmed ✗
- Practical effect
- Hurts
- Baseline tuning
- swept over 0 configs
Only the structurally matched tabular track with mlp_tiny was tested. Vision, sequence, dynamics, bias or normalization ablations, and weight-decay experiments were not run. The trained-model mechanism signature did not confirm the predicted sign endpoint.
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 Failed ✗
Agent confidence: 10/10
Rate-Controlled Smoothed-Sign was implemented and tested on the structurally matched tabular Friedman#1 regression benchmark with identical mlp_tiny models. Tuned Adam achieved MSE 7.334647, while the best idea setting achieved MSE 9.179471; paired delta was +1.844824 with permutation p=0.0081, so the idea was significantly worse. The trained-model mechanism signature was not confirmed because the observed gradient ratio was 0.688506 rather than the predicted 1.0 endpoint.
- Baseline
- Adam lr=0.01, betas=(0.9,0.999): mean test MSE 7.334647, std 0.624128, 8 seeds
- Comparison
- delta_mean=+1.844824; idea_wins=0/8; permutation_p=0.0081; verdict=idea worse (significant)
- Idea
- Smoothed-sign lr=0.003, kappa=0.02, eps0=0.001: mean test MSE 9.179471, std 1.089534, 8 seeds
Benchmark result
Significantly WORSE than the tuned baseline (+25.2%, p=0.0081, wins 0 / 8 paired seeds).
- Benchmark
- Tabular regression (Friedman)
- Model
- mlp_tiny
- Paired seeds
- 8
- Baseline mean
- 7.3346
- Idea mean
- 0
- Effect (Δ)
- 1.8448 (+25.2%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Not confirmed ✗
- Practical effect
- Hurts
- Baseline tuning
- swept over 0 configs
Only the structurally matched tabular track with mlp_tiny was tested. Vision, sequence, dynamics, bias or normalization ablations, and weight-decay experiments were not run. The trained-model mechanism signature did not confirm the predicted sign endpoint.
How to run: python3 stage2_bench.py
Artifacts
- bench_report.json 7.7 KB View Raw
- experiment.py 4.4 KB View Raw
- rate_optimizer.py 1.7 KB View Raw
- report.md 1.5 KB View
- report_bench_2026-08-30T211304.md 2.9 KB View
- results.json 3.1 KB View Raw
- stage2_bench.py 5.4 KB View Raw