# Damkohler-Controlled Optimizer

- ID: 637
- Canonical URL: https://synthcore.org/idea/637/damkohler-controlled-optimizer
- API JSON: https://synthcore.org/api/idea/637.json
- API Markdown: https://synthcore.org/api/idea/637.md
- Verification status: failed_benchmark
- Source: [arXiv:2607.09416](https://arxiv.org/abs/2607.09416)
- Category: dynamics
- Solves: stability, speedup
- ML areas: optimizer, scheduler, training-dynamics
- Math tags: dynamical-systems, control-theory, statistical-mechanics, optimization
- Ratings: usefulness 7/10; difficulty 5/10; novelty 7/10

## Idea description

Augment an optimizer with a measurable redistribution time for its internal state and compare it with the time scale of the changing gradient field. Use the resulting Damkohler number to interpolate between a fast quasi-static preconditioner and a history-preserving, non-equilibrium update, rather than applying one optimizer regime throughout training.

## Mathematical statement

The paper defines \(\mathrm{Da}(r,\mathbf{x})=\tau_{\rm redis}(r)/\tau_{\rm forcing}(\mathbf{x})\), where \(\tau_{\rm redis}\) is the relaxation time of pore occupancy and \(\tau_{\rm forcing}\) is the time scale of external forcing. Transfer this to training by defining \(\tau_{\rm redis}\) as the exponential relaxation time of optimizer-state bins and \(\tau_{\rm forcing}\) as the time over which the gradient or loss curvature changes. For \(\mathrm{Da}\ll1\), optimizer state is approximately equilibrated and a quasi-static update is appropriate; for \(\mathrm{Da}\gtrsim1\), state lag is substantial and the optimizer should preserve distributional memory. The control law is a smooth interpolation controlled by \(w=\mathrm{Da}/(1+\mathrm{Da})\).

## Key formulas

- $$\mathrm{Da}_k=\frac{\tau_{{\rm redis},k}}{\tau_{{\rm forcing},k}},\qquad \tau_{{\rm redis},k}=-\frac{1}{\log(1-\alpha_k)}$$
- $$\tau_{{\rm forcing},k}=\frac{\|s_{t,k}\|}{\|s_{t,k}-s_{t-1,k}\|+\varepsilon},\qquad w_k=\frac{\mathrm{Da}_k}{1+\mathrm{Da}_k}$$
- $$\theta_{t+1,k}=\theta_{t,k}-\eta\left[(1-w_k)P^{\rm eq}_{t,k}g_{t,k}+w_kP^{\rm neq}_{t,k}g_{t,k}\right]$$

## Implementation notes

Integrate this into AdamW or a diagonal natural-gradient optimizer, separately for parameter blocks or logarithmic bins of parameter magnitude. Maintain an optimizer-state vector \(s_t\), such as the first-moment estimate, and optionally a second state \(q_t\) representing variance or curvature. Estimate the redistribution coefficient \(\alpha_k\) from the observed relaxation of block state \(s_k\): fit \(s_{t+1,k}-s^*_k\approx(1-\alpha_k)(s_{t,k}-s^*_k)\) with an exponential moving average, clipping \(\alpha_k\) to \([10^{-4},0.99]\). Compute the forcing time from the relative change in state, gradient norm, or diagonal curvature. Pseudocode is: compute gradient \(g_t\); update \(s_t,q_t\); estimate \(\alpha_k\) and \(\tau_{{\rm forcing},k}\); calculate \(\mathrm{Da}_k\) and \(w_k\); form \(P^{\rm eq}\) from bias-corrected Adam; form \(P^{\rm neq}\) from a lag-preserving update using previous \(s,q\); mix both updates with \(w_k\); apply decoupled weight decay. The theory supplies the time-scale ratio and regime interpretation, while relaxation and forcing times are empirically estimated. First run CIFAR-10 with a 3-layer MLP against AdamW at identical learning rates, sweeping learning rate and gradient-noise level. The falsifiable prediction is a regime transition near \(\mathrm{Da}=1\): below 0.3 the method should match the quasi-static branch, while above 1 it should reduce oscillations or loss spikes. The measured transition in update variance should occur within roughly 20 percent of \(\mathrm{Da}=1\).

## Verification

- Status: failed_benchmark
- Mechanism evidence: yes
- Mechanism confirmed: no
- Practical verdict: harms
- Verdict: Built a NumPy Damköhler-controlled AdamW prototype with relaxation/forcing estimates and smooth equilibrium/non-equilibrium interpolation. The mechanism checks passed: exponential relaxation reached approximately 1/e at the predicted tau_redis, the Da=1 transition matched the predicted forcing frequency across alpha values, and w was monotone with w(1)=0.5. The optimizer itself did not improve loss on the nonstationary quadratic task; it was slightly worse than AdamW, while update variability was reduced only in the fastest regimes.

### Mechanism check

- Verdict: Built a NumPy Damköhler-controlled AdamW prototype with relaxation/forcing estimates and smooth equilibrium/non-equilibrium interpolation. The mechanism checks passed: exponential relaxation reached approximately 1/e at the predicted tau_redis, the Da=1 transition matched the predicted forcing frequency across alpha values, and w was monotone with w(1)=0.5. The optimizer itself did not improve loss on the nonstationary quadratic task; it was slightly worse than AdamW, while update variability was reduced only in the fastest regimes.
- Confidence: 7/10
- Limitations: No CIFAR-10/MLP experiment, learning-rate sweep, repeated-seed statistical test, GPU implementation, blockwise state fitting, or validated distributional non-equilibrium branch was tested.

### Practical benchmark

- Paired seeds: 8
- Baseline mean: 0
- Idea mean: 0
- p-value: 0.0081
- Paired wins: 0/8
- Benchmark verdict: idea worse (significant)

## Artifacts

- [bench_report.json](https://synthcore.org/code/285/bench_report.json)
- [damkohler_experiment.py](https://synthcore.org/code/285/damkohler_experiment.py)
- [report.md](https://synthcore.org/code/285/report.md)
- [report_bench_2026-08-31T001327.md](https://synthcore.org/code/285/report_bench_2026-08-31T001327.md)
- [results.json](https://synthcore.org/code/285/results.json)
- [stage2_damkohler_bench.py](https://synthcore.org/code/285/stage2_damkohler_bench.py)
- [Download all files as ZIP](https://synthcore.org/download/285)

## Disclaimer

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