Polar-Backstepping Policy Residual / bench_report.json

Mechanism confirmed, baseline not beaten

Raw ⬇ ZIP
  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}