Polar-Backstepping Policy Residual / report_bench_2026-08-31T180039.md
Mechanism confirmed, baseline not beaten
Стенд-проверка (stage-2) · промт оператора:
(универсальный)
Ответ агента:
{ "worked": false, "confidence": 9, "verdict": "Implemented the Polar-Backstepping Lyapunov residual as a modified training loss on the structurally matched dynamics track using the shared rnn_small architecture. Across 8 paired seeds, the idea significantly worsened test MSE (delta +0.0036311, permutation p=0.0081) despite confirming its mechanism signature: positive drift fraction fell by 22.3% (0.611 to 0.475). The benchmark therefore rejects the idea as a task-performance win.", "metrics": { "baseline": "Best sweep lr=0.01, weight_decay=0.0; 8-seed test MSE mean 0.000395668 ± 0.000148467", "idea": "Best beta=0.1 of {0.1,0.5,1.0}, lr=0.01, weight_decay=0.0; 8-seed test MSE mean 0.00402676 ± 0.00157548; paired delta +0.00363109; p=0.0081; positive-drift fraction 0.4747 vs baseline 0.6109" }, "how_to_run": "/home/maxwelhelp/main/bin/python3 stage2_bench.py", "files": [ "stage2_bench.py", "bench_report.json" ], "limitations": "The built-in dynamics track predicts a future pendulum angle rather than directly learning a car-like navigation action policy, so the intervention uses a one-step finite-difference pendulum Lyapunov proxy adapted to the available control structure. No long-horizon closed-loop parking, actuator clipping study, Cartesian policy comparison, or larger-scale neural architecture was tested.", "bench_report": { "bench_version": 1, "track": "dynamics", "model": "rnn_small", "metric_direction": "lower is better", "n_seeds": 8, "baseline": { "best_cfg": { "lr": 0.01, "weight_decay": 0.0 }, "sweep": [ { "cfg": { "lr": 0.001, "weight_decay": 0.0 }, "mean": 0.0014035784406587481 }, { "cfg": { "lr": 0.001, "weight_decay": 0.0001 }, "mean": 0.0013894051662646234 }, { "cfg": { "lr": 0.003, "weight_decay": 0.0 }, "mean": 0.000857145045301877 }, { "cfg": { "lr": 0.003, "weight_decay": 0.0001 }, "mean": 0.0008355810859939083 }, { "cfg": { "lr": 0.01, "weight_decay": 0.0 }, "mean": 0.0004466182872420177 }, { "cfg": { "lr": 0.01, "weight_decay": 0.0001 }, "mean": 0.0004611926560755819 } ], "full": { "mean": 0.00039566773739352357, "std": 0.00014846719173678902, "per_seed": [ 0.0003142073401249945, 0.00040627806447446346, 0.0003180095227435231, 0.0007479782216250896, 0.00039004243444651365, 0.00019843246263917536, 0.000411077169701457, 0.00037931668339297175 ], "n": 8 } }, "idea": { "mean": 0.004026755806989968, "std": 0.001575483042595438, "per_seed": [ 0.0026446538977324963, 0.003989342134445906, 0.004552504979074001, 0.006674116477370262, 0.0018010623753070831, 0.0026006274856626987, 0.004008540417999029, 0.005943198688328266 ], "n": 8, "cfg": { "lr": 0.01, "weight_decay": 0.0, "beta": 0.1 }, "settings": [ { "cfg": { "lr": 0.01, "weight_decay": 0.0, "beta": 0.1 }, "mean": 0.004026755806989968 }, { "cfg": { "lr": 0.01, "weight_decay": 0.0, "beta": 0.5 }, "mean": 0.004029476782307029 }, { "cfg": { "lr": 0.01, "weight_decay": 0.0, "beta": 1.0 }, "mean": 0.004029815681860782 } ] }, "comparison": { "delta_mean": 0.0036310880695964443, "idea_wins": 0, "n_pairs": 8, "per_seed_diffs": [ 0.0023304465576075017, 0.0035830640699714422, 0.004234495456330478, 0.0059261382557451725, 0.0014110199408605695, 0.0024021950230235234, 0.003597463248297572, 0.005563882004935294 ], "p_value": 0.0081, "mde": 0.0013221142535230909, "mde_rel_pct": 334.1476012759012, "verdict": "idea worse (significant)", "system_worked": false }, "mechanism_signature": { "prediction": "Lyapunov drift penalty lowers positive one-step drift events on trained pendulum forecasts", "baseline_trained": { "positive_drift_fraction": 0.6109374836087227, "mean_drift_plus_lambdaV": 0.49601201340556145, "mean_V": 0.4504404291510582 }, "idea_trained": { "positive_drift_fraction": 0.47468749061226845, "mean_drift_plus_lambdaV": 0.19337605126202106, "mean_V": 0.4504404291510582 }, "relative_positive_drift_reduction": 0.22301789733320088, "confirmed": true }, "protocol": { "paired_seeds": [ 0, 1, 2, 3, 4, 5, 6, 7 ], "sweep_seeds": [ 0, 1, 2, 3 ], "epochs": 20, "batch": 128, "loss": "MSE + beta*[finite_difference_dV + lambda*V]_+^2", "structural_match": "control/stability -> dynamics" } }, "system_verdict": "partial", "practical_verdict": "harms", "mechanism_ok": 1, "system_judged": true }