{
 "artifacts": [
  {
   "name": "bench_report.json",
   "url": "https://synthcore.org/code/1062/bench_report.json"
  },
  {
   "name": "lag_scheduler_bench.py",
   "url": "https://synthcore.org/code/1062/lag_scheduler_bench.py"
  },
  {
   "name": "lag_scheduler_experiment.py",
   "url": "https://synthcore.org/code/1062/lag_scheduler_experiment.py"
  },
  {
   "name": "report.md",
   "url": "https://synthcore.org/code/1062/report.md"
  },
  {
   "name": "report_bench_2026-09-01T233249.md",
   "url": "https://synthcore.org/code/1062/report_bench_2026-09-01T233249.md"
  },
  {
   "name": "results.json",
   "url": "https://synthcore.org/code/1062/results.json"
  }
 ],
 "category": "dynamics",
 "description": "Introduce an effective learning-rate, gain, or regularization parameter that follows the commanded target with a finite implementation rate, and compensate for its predictable threshold-crossing lag. The scheduler estimates the network's current spectral instability boundary and commands the target parameter to cross that boundary early enough that the effective parameter crosses it at the desired time, avoiding overshoot caused by optimizer or hardware smoothing.",
 "download_zip": "https://synthcore.org/download/1062",
 "formulas_latex": [
  "$$\\dot\\theta_{\\mathrm{eff}}=\\kappa_\\theta\\bigl(\\theta_\\star(t)-\\theta_{\\mathrm{eff}}(t)\\bigr),\\qquad \\theta_{\\mathrm{eff}}(t)\\simeq\\theta_\\star(t)-\\frac{\\dot\\theta_\\star(t)}{\\kappa_\\theta}.$$",
  "$$\\lambda\\bigl(\\theta_\\star(t_\\star)\\bigr)=0,\\qquad \\lambda\\bigl(\\theta_{\\mathrm{eff}}(t_{\\mathrm{eff}})\\bigr)=0,\\qquad t_{\\mathrm{eff}}-t_\\star\\approx\\frac{\\partial_\\theta\\lambda}{|\\partial_t\\lambda|}\\frac{\\dot\\theta_\\star}{\\kappa_\\theta}=O(\\kappa_\\theta^{-1}).$$",
  "$$\\theta_{\\star,\\mathrm{command}}(t)=\\theta_{\\mathrm{desired}}(t)-\\frac{\\dot\\theta_{\\mathrm{desired}}(t)}{\\kappa_\\theta}.$$"
 ],
 "id": 2770,
 "implementation": "1. Integration point: place this controller around any parameter whose abrupt change is normally filtered or delayed, such as learning rate, weight decay, gradient-clipping threshold, recurrent gain, attention temperature, or diffusion reverse-time step size. Maintain a commanded value theta_star and an applied value theta_eff; use theta_eff in the actual optimizer or forward pass. Estimate the dangerous local growth rate lambda from a Hessian-vector product, a Jacobian-vector product, or power iteration on the recurrent-state Jacobian. 2. Pseudocode: initialize theta_eff=theta_star; at each step estimate lambda and its finite-difference slope d_lambda_d_theta; choose a desired theta trajectory; set theta_star=theta_desired-d_theta_desired/(kappa_theta); update theta_eff += dt*kappa_theta*(theta_star-theta_eff); run the network or optimizer using theta_eff. Clip the command if compensation exceeds a safe range. 3. The first-order lag equation and inverse-kappa scaling are taken from the paper's mechanism; kappa_theta, lambda, and the local slope are estimated empirically. 4. First cheap experiment: train a 2-layer MLP on MNIST and a small tanh RNN on sequential MNIST with cosine learning-rate changes, comparing ordinary scheduling against lag compensation for artificial implementation rates kappa_theta in {1,2,5,10,20} per update. Realize the lag by an EMA of the commanded learning rate. Record the first time lambda crosses zero and the first loss explosion. The quantitative prediction is that uncorrected crossing delay is linear in 1/kappa_theta, while compensation reduces the delay by at least 50%; measured delays should fit a straight line with R-squared above 0.8 and the fitted slope should agree with the local derivative estimate within 20%.",
 "math_summary": "Let \\(\\theta_\\star(t)\\) be a commanded target parameter and \\(\\theta_{\\mathrm{eff}}(t)\\) the parameter actually used by the network. Model implementation dynamics by \\(\\dot\\theta_{\\mathrm{eff}}=\\kappa_\\theta(\\theta_\\star-\\theta_{\\mathrm{eff}})\\), where \\(\\kappa_\\theta\u003e0\\) is the implementation rate. Let \\(\\lambda(t)\\) be the relevant local growth rate, such as the largest real eigenvalue of a training Jacobian or recurrent-state Jacobian, with stability boundary \\(\\lambda=0\\). If the target parameter is ramped at speed \\(r=\\dot\\theta_\\star\\), then after transients \\(\\theta_{\\mathrm{eff}}\\approx\\theta_\\star-r/\\kappa_\\theta\\). For a transversal crossing with slope \\(\\partial_\\theta\\lambda\\neq0\\), the effective crossing is delayed relative to the target crossing by approximately \\(t_{\\mathrm{eff}}-t_\\star\\approx (\\partial_\\theta\\lambda)^{-1}r/\\kappa_\\theta\\), and is therefore \\(O(\\kappa_\\theta^{-1})\\).",
 "math_tags": [
  "dynamical-systems",
  "control-theory",
  "spectral-theory",
  "numerical-analysis"
 ],
 "ml_areas": [
  "optimizer",
  "scheduler",
  "training-dynamics",
  "rnn"
 ],
 "paper": {
  "arxiv_id": "2608.27742",
  "arxiv_url": "https://arxiv.org/abs/2608.27742",
  "summary_what_math_gives_to_ml": "The paper provides a transferable mechanism of delayed threshold crossing combined with bistability: an effective control parameter relaxes toward a target with finite rate, while the state can remain trapped in a competing attractor even after the parameter returns below the local instability threshold. For neural networks, this suggests separating commanded optimizer or recurrent-network parameters from their actually applied values, predicting implementation lag analytically, and triggering interventions before the effective system crosses a dangerous spectral boundary. A second transfer is hysteresis-aware stability control for recurrent or state-space networks: monitoring only the local threshold is insufficient, so training should also probe basin membership and apply stronger damping until the trajectory has demonstrably returned to the desired attractor.",
  "title": "Below-threshold Bistability and Implementation Lag in a Simplex Model of Radical Vote-Share Dynamics",
  "year": "2026"
 },
 "ratings": {
  "difficulty": 5,
  "novelty": 7,
  "usefulness": 8
 },
 "solves": [
  "stability",
  "speedup"
 ],
 "title": "Lag-Compensated Spectral Scheduler",
 "url": "https://synthcore.org/idea/2770/lag-compensated-spectral-scheduler",
 "verification": {
  "benchmark": {
   "track": "dynamics",
   "model": "rnn_small",
   "n_seeds": 8,
   "metric_direction": "lower is better",
   "comparison": {
    "baseline_mean": 0.00228094776684884,
    "idea_mean": 0.002070821574307047,
    "delta_mean": -0.000210126192541793,
    "per_seed_diffs": [
     0.0002477574162185192,
     -0.0004988377913832664,
     0.00048294709995388985,
     -0.0005040175747126341,
     -0.000727722654119134,
     -0.00026479829102754593,
     -0.0003983653150498867,
     -0.00001797243021428585
    ],
    "idea_wins": 0,
    "n_pairs": 0,
    "p_value": 0.1702,
    "mde": 0,
    "mde_rel_pct": null,
    "verdict": "",
    "system_worked": false
   },
   "baseline": {
    "best_cfg": {
     "lr": 0.006,
     "weight_decay": 0
    },
    "sweep": [
     {
      "cfg": {
       "lr": 0.001,
       "weight_decay": 0
      },
      "mean": 0.0720269184675999
     },
     {
      "cfg": {
       "lr": 0.003,
       "weight_decay": 0
      },
      "mean": 0.0028564660606207326
     },
     {
      "cfg": {
       "lr": 0.006,
       "weight_decay": 0
      },
      "mean": 0.00228094776684884
     }
    ],
    "full": {
     "mean": 0.00228094776684884,
     "std": 0.0008615682293713639,
     "per_seed": [
      0.002221147296950221,
      0.001970731420442462,
      0.0013024760410189629,
      0.0042177895084023476,
      0.0020735678263008595,
      0.0015317687066271901,
      0.002943465718999505,
      0.0019866356160491705
     ],
     "n": 8
    }
   },
   "idea": {
    "mean": 0.002070821574307047,
    "std": 0.0007668985617216761,
    "per_seed": [
     0.0024689047131687403,
     0.0014718936290591955,
     0.0017854231409728527,
     0.0037137719336897135,
     0.0013458451721817255,
     0.0012669704155996442,
     0.0025451004039496183,
     0.0019686631858348846
    ],
    "n": 8
   },
   "mechanism_signature": {
    "confirmed": false,
    "math_check": {
     "fit_slope": 0.9997204301075259,
     "kappas": [
      1,
      2,
      4,
      8,
      16
     ],
     "passed": true,
     "r2": 0.9999997339246215
    },
    "trained_model_measurements": [
     {
      "baseline_cross_step": 1,
      "idea_cross_step": 1,
      "kappa": 2,
      "observed_mean_effective_gap": 0
     },
     {
      "baseline_cross_step": 1,
      "idea_cross_step": 1,
      "kappa": 4,
      "observed_mean_effective_gap": 0
     },
     {
      "baseline_cross_step": 1,
      "idea_cross_step": 1,
      "kappa": 8,
      "observed_mean_effective_gap": 0
     }
    ]
   },
   "custom_track": null
  },
  "mechanism_confirmed": false,
  "peer_reviewed": false,
  "practical_verdict": "inconclusive",
  "stage1_mechanism_check": {
   "worked": true,
   "confidence": 9,
   "verdict": "Built a lagged-parameter scheduler toy with baseline, proposal minus-sign compensation, and inverse plus-sign compensation. The mechanism manifested strongly: steady-state offset matched r/kappa (0.02500 observed vs 0.02500 predicted), threshold delay scaled as 1/kappa with fitted slope 0.99998 versus 1.0 and R²=1.0, and inverse compensation removed essentially 100% of delay. However, the formula’s stated minus sign is wrong for an increasing ramp and doubled delay; the tiny classifier showed no meaningful final-loss win.",
   "metrics": {
    "baseline": "Threshold delays for kappa=[1,2,4,8,16,32]: [1.0000,0.5000,0.2500,0.1250,0.0625,0.03125]; toy final loss 0.235689.",
    "idea": "Inverse plus compensation delays were approximately [0,0,0,0,0,0], giving 100% mean delay reduction; toy final loss 0.235659. The stated minus-sign compensation doubled delays to [2.0000,1.0000,0.5000,0.2500,0.1250,0.0625]."
   },
   "how_to_run": "python3 lag_scheduler_experiment.py",
   "files": [
    "lag_scheduler_experiment.py",
    "results.json",
    "run_output.txt",
    "run_output2.txt",
    "run_output3.txt"
   ],
   "limitations": "Did not run MNIST, sequential-MNIST, an actual neural-network spectral/Jacobian estimate, GPU experiments, or a broad optimizer benchmark. The toy uses an analytically specified scalar instability boundary and a manually stabilized discrete EMA; compensation clipping and noisy online slope estimation were not tested."
  },
  "status": "failed_benchmark",
  "status_label": "Failed on benchmark",
  "updated_at": "2026-09-01T23:32:49",
  "verdict_source": "deterministic test code (paired-seed permutation statistics)"
 }
}
