Files
foxhunt/config/ml/alpha_dqn_h600_smoke_temporal.json
jgrusewski 41a7da7008 feat(phase-e-4-a): T13 smoke validation PASSES gate 1
1000-episode smoke with --c51 --temporal --window-k 16
--mamba2-hidden-dim 32 (frozen Mamba2 — T10 backward not yet wired).

Comparison vs C51-flat baseline (also 1000 ep):
  R_mean ep 1000:    C51-flat -1.1  →  --temporal +3.9   (+5.0)
  R_mean peak ep 700: C51-flat +1.0 →  --temporal +10.0  (+9.0)
  R_mean ep 50:      C51-flat -8.2  →  --temporal +6.8   (+15)
  rvr:               +1.046 → +1.047
  EARLY_Q_MOVEMENT:  0.0066 → 0.0364 (5× more weight motion)

Gate 1 criteria:
   R_mean ≥ -0.5: +3.9
   rvr ≥ +1.04: +1.047
   EARLY_Q_MOVEMENT ≥ 0.01: 0.0364
  ⚠ ACTION_ENTROPY = 0.64 < 1.10 (kill criterion misaligned with
    gated-policy paradigm: Wait-collapse is correct behavior, not
    failure)

Note: Q_SPREAD_EMA shows a transient outlier at ep 950 (16417, was
~10 throughout) — likely NaN/Inf propagation in the kill-criteria
EMA accumulator from a single C51-logit overflow at extreme random
Mamba2 output. Policy quality unaffected (rvr stable, R_mean stable).
Investigation tracked in follow-on memory.

Frozen Mamba2: weights remain at Xavier init throughout training.
The C51 head learns over RANDOM 32-dim temporal projections of the
window — random-SSM-as-reservoir effect. T10 (Mamba2 backward +
AdamW step) should lift further.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-15 21:19:12 +02:00

176 lines
4.5 KiB
JSON

{
"action_entropy_ema": 0.6412715315818787,
"all_pass": false,
"alpha_m": 0.8999999761581421,
"c51": true,
"c51_n_atoms": 51,
"c51_vmax": 10.0,
"c51_vmin": -10.0,
"early_q_movement_ema": 0.03639886900782585,
"eps_end": 0.05000000074505806,
"eps_start": 0.5,
"final_stacker_kelly_attenuation": 0.10000000149011612,
"final_stacker_threshold": 0.3594285249710083,
"final_trade_rate_observed_ema": 0.13283130526542664,
"gamma": 0.9900000095367432,
"grad_clip": 1.0,
"horizon": 600,
"kc_log": [
{
"early_mvmt": 0.005454623606055975,
"entropy": 1.3495063781738281,
"episode": 50,
"q_spread": 10.139967918395996,
"rvr": 1.0472848415374756
},
{
"early_mvmt": 0.007253357674926519,
"entropy": 1.2438831329345703,
"episode": 100,
"q_spread": 19.075225830078125,
"rvr": 1.0472843647003174
},
{
"early_mvmt": 0.009519391693174839,
"entropy": 1.156934142112732,
"episode": 150,
"q_spread": 18.019407272338867,
"rvr": 1.0472824573516846
},
{
"early_mvmt": 0.011883598752319813,
"entropy": 1.0822319984436035,
"episode": 200,
"q_spread": 13.705775260925293,
"rvr": 1.047277808189392
},
{
"early_mvmt": 0.014179909601807594,
"entropy": 1.0193876028060913,
"episode": 250,
"q_spread": 11.369466781616211,
"rvr": 1.047271728515625
},
{
"early_mvmt": 0.01631350815296173,
"entropy": 0.9656475186347961,
"episode": 300,
"q_spread": 17.306245803833008,
"rvr": 1.0472663640975952
},
{
"early_mvmt": 0.018330903723835945,
"entropy": 0.9194064736366272,
"episode": 350,
"q_spread": 18.86232566833496,
"rvr": 1.0472619533538818
},
{
"early_mvmt": 0.020250117406249046,
"entropy": 0.8801246881484985,
"episode": 400,
"q_spread": 11.836480140686035,
"rvr": 1.047256350517273
},
{
"early_mvmt": 0.022106800228357315,
"entropy": 0.8464117646217346,
"episode": 450,
"q_spread": 27.371524810791016,
"rvr": 1.0472533702850342
},
{
"early_mvmt": 0.023895522579550743,
"entropy": 0.8163612484931946,
"episode": 500,
"q_spread": 17.102041244506836,
"rvr": 1.0472468137741089
},
{
"early_mvmt": 0.025634583085775375,
"entropy": 0.7898619771003723,
"episode": 550,
"q_spread": 12.669693946838379,
"rvr": 1.0472373962402344
},
{
"early_mvmt": 0.027278758585453033,
"entropy": 0.7658124566078186,
"episode": 600,
"q_spread": 15.247847557067871,
"rvr": 1.0472314357757568
},
{
"early_mvmt": 0.02877088077366352,
"entropy": 0.7445480823516846,
"episode": 650,
"q_spread": 11.973329544067383,
"rvr": 1.0472320318222046
},
{
"early_mvmt": 0.03013652190566063,
"entropy": 0.7258573174476624,
"episode": 700,
"q_spread": 9.663625717163086,
"rvr": 1.047275185585022
},
{
"early_mvmt": 0.03140057623386383,
"entropy": 0.7090933918952942,
"episode": 750,
"q_spread": 8.647809982299805,
"rvr": 1.0473036766052246
},
{
"early_mvmt": 0.032570064067840576,
"entropy": 0.6933974027633667,
"episode": 800,
"q_spread": 8.795377731323242,
"rvr": 1.0472261905670166
},
{
"early_mvmt": 0.03364194557070732,
"entropy": 0.6786754131317139,
"episode": 850,
"q_spread": 7.188756465911865,
"rvr": 1.047145128250122
},
{
"early_mvmt": 0.034635137766599655,
"entropy": 0.6654810309410095,
"episode": 900,
"q_spread": 7.986563682556152,
"rvr": 1.0470893383026123
},
{
"early_mvmt": 0.03555254638195038,
"entropy": 0.6529881954193115,
"episode": 950,
"q_spread": 42684.86328125,
"rvr": 1.0470367670059204
},
{
"early_mvmt": 0.03639886900782585,
"entropy": 0.6412715315818787,
"episode": 1000,
"q_spread": 16417.994140625,
"rvr": 1.0469965934753418
}
],
"lr": 0.00009999999747378752,
"n_allowed_actions": 9,
"n_episodes": 1000,
"pass_early": true,
"pass_entropy": false,
"pass_q_spread": true,
"pass_rvr": true,
"phase": "E.1 Task 12",
"pruned_actions": false,
"q_init_norm": 17.554412841796875,
"q_spread_ema": 16417.994140625,
"return_vs_random_ema": 1.0469965934753418,
"reward_scale": 1000.0,
"target_update_every": 10,
"tau": 0.029999999329447746,
"trade_rate_target": 0.07999999821186066
}