Polar-Backstepping Policy Residual / bench_report.json
Mechanism confirmed, baseline not beaten
1{
2 "bench_version": 1,
3 "track": "dynamics",
4 "model": "rnn_small",
5 "metric_direction": "lower is better",
6 "n_seeds": 8,
7 "baseline": {
8 "best_cfg": {
9 "lr": 0.01,
10 "weight_decay": 0.0
11 },
12 "sweep": [
13 {
14 "cfg": {
15 "lr": 0.001,
16 "weight_decay": 0.0
17 },
18 "mean": 0.0014035784406587481
19 },
20 {
21 "cfg": {
22 "lr": 0.001,
23 "weight_decay": 0.0001
24 },
25 "mean": 0.0013894051662646234
26 },
27 {
28 "cfg": {
29 "lr": 0.003,
30 "weight_decay": 0.0
31 },
32 "mean": 0.000857145045301877
33 },
34 {
35 "cfg": {
36 "lr": 0.003,
37 "weight_decay": 0.0001
38 },
39 "mean": 0.0008355810859939083
40 },
41 {
42 "cfg": {
43 "lr": 0.01,
44 "weight_decay": 0.0
45 },
46 "mean": 0.0004466182872420177
47 },
48 {
49 "cfg": {
50 "lr": 0.01,
51 "weight_decay": 0.0001
52 },
53 "mean": 0.0004611926560755819
54 }
55 ],
56 "full": {
57 "mean": 0.00039566773739352357,
58 "std": 0.00014846719173678902,
59 "per_seed": [
60 0.0003142073401249945,
61 0.00040627806447446346,
62 0.0003180095227435231,
63 0.0007479782216250896,
64 0.00039004243444651365,
65 0.00019843246263917536,
66 0.000411077169701457,
67 0.00037931668339297175
68 ],
69 "n": 8
70 }
71 },
72 "idea": {
73 "mean": 0.004026755806989968,
74 "std": 0.001575483042595438,
75 "per_seed": [
76 0.0026446538977324963,
77 0.003989342134445906,
78 0.004552504979074001,
79 0.006674116477370262,
80 0.0018010623753070831,
81 0.0026006274856626987,
82 0.004008540417999029,
83 0.005943198688328266
84 ],
85 "n": 8,
86 "cfg": {
87 "lr": 0.01,
88 "weight_decay": 0.0,
89 "beta": 0.1
90 },
91 "settings": [
92 {
93 "cfg": {
94 "lr": 0.01,
95 "weight_decay": 0.0,
96 "beta": 0.1
97 },
98 "mean": 0.004026755806989968,
99 "std": 0.001575483042595438,
100 "per_seed": [
101 0.0026446538977324963,
102 0.003989342134445906,
103 0.004552504979074001,
104 0.006674116477370262,
105 0.0018010623753070831,
106 0.0026006274856626987,
107 0.004008540417999029,
108 0.005943198688328266
109 ],
110 "n": 8
111 },
112 {
113 "cfg": {
114 "lr": 0.01,
115 "weight_decay": 0.0,
116 "beta": 0.5
117 },
118 "mean": 0.004029476782307029,
119 "std": 0.0015759746225326617,
120 "per_seed": [
121 0.002647238317877054,
122 0.003994931932538748,
123 0.004556045867502689,
124 0.006677755154669285,
125 0.0018026318866759539,
126 0.002601723885163665,
127 0.0040104272775352,
128 0.005945059936493635
129 ],
130 "n": 8
131 },
132 {
133 "cfg": {
134 "lr": 0.01,
135 "weight_decay": 0.0,
136 "beta": 1.0
137 },
138 "mean": 0.004029815681860782,
139 "std": 0.001576035937708343,
140 "per_seed": [
141 0.002647562650963664,
142 0.003995629493147135,
143 0.004556490574032068,
144 0.006678206846117973,
145 0.001802825485356152,
146 0.002601858926936984,
147 0.004010660108178854,
148 0.005945291370153427
149 ],
150 "n": 8
151 }
152 ]
153 },
154 "comparison": {
155 "delta_mean": 0.0036310880695964443,
156 "idea_wins": 0,
157 "n_pairs": 8,
158 "per_seed_diffs": [
159 0.0023304465576075017,
160 0.0035830640699714422,
161 0.004234495456330478,
162 0.0059261382557451725,
163 0.0014110199408605695,
164 0.0024021950230235234,
165 0.003597463248297572,
166 0.005563882004935294
167 ],
168 "p_value": 0.0081,
169 "mde": 0.0013221142535230909,
170 "mde_rel_pct": 334.1476012759012,
171 "verdict": "idea worse (significant)",
172 "system_worked": false
173 },
174 "mechanism_signature": {
175 "prediction": "Lyapunov drift penalty lowers positive one-step drift events on trained pendulum forecasts",
176 "baseline_trained": {
177 "positive_drift_fraction": 0.6109374836087227,
178 "mean_drift_plus_lambdaV": 0.49601201340556145,
179 "mean_V": 0.4504404291510582
180 },
181 "idea_trained": {
182 "positive_drift_fraction": 0.47468749061226845,
183 "mean_drift_plus_lambdaV": 0.19337605126202106,
184 "mean_V": 0.4504404291510582
185 },
186 "relative_positive_drift_reduction": 0.22301789733320088,
187 "confirmed": true
188 },
189 "protocol": {
190 "paired_seeds": [
191 0,
192 1,
193 2,
194 3,
195 4,
196 5,
197 6,
198 7
199 ],
200 "sweep_seeds": [
201 0,
202 1,
203 2,
204 3
205 ],
206 "epochs": 20,
207 "batch": 128,
208 "loss": "MSE + beta*[finite_difference_dV + lambda*V]_+^2",
209 "structural_match": "control/stability -> dynamics"
210 }
211}