exp: 轮次39——K=16 正向结果:到达+3.9pp/时限+3.1pp/刹车-30%且碰撞仍0;仪表对表 1.575/6=0.2625 vs 离线预测0.247
This commit is contained in:
@@ -0,0 +1,77 @@
|
|||||||
|
{
|
||||||
|
"config": {
|
||||||
|
"ckpt": "ml/runs/base_dag2_dag1/best.pt",
|
||||||
|
"samples": "ml/data/samples",
|
||||||
|
"tasks": null,
|
||||||
|
"split": "val",
|
||||||
|
"n": 256,
|
||||||
|
"K": 16,
|
||||||
|
"commit": 2,
|
||||||
|
"fb": 2.2,
|
||||||
|
"ki": 0.0,
|
||||||
|
"fb_scale": 0.0,
|
||||||
|
"fb_near": 0.2,
|
||||||
|
"fb_fallback": 0.0,
|
||||||
|
"kdecay": 0.9,
|
||||||
|
"kimax": 0.5,
|
||||||
|
"fb_every": 1,
|
||||||
|
"safety_try": 0,
|
||||||
|
"sel_w": 0.1,
|
||||||
|
"dls_safety": 1,
|
||||||
|
"fb_clear": 0.0,
|
||||||
|
"fb_cmin": 0.3,
|
||||||
|
"sub_refresh": 0,
|
||||||
|
"fb_block_gain": 0.5,
|
||||||
|
"dump": null,
|
||||||
|
"out": "docs/experiment_round39_K16.json",
|
||||||
|
"trace": null,
|
||||||
|
"select": "endpoint",
|
||||||
|
"replan": "empty",
|
||||||
|
"safety": 1,
|
||||||
|
"partial": 1,
|
||||||
|
"inc_cap": 1,
|
||||||
|
"gap_margin": 0.0,
|
||||||
|
"cert_batch": 0,
|
||||||
|
"steps": 1,
|
||||||
|
"z_scale": 1.0,
|
||||||
|
"len_w": 0.0,
|
||||||
|
"backoff": 0,
|
||||||
|
"max_sec": null,
|
||||||
|
"seed": 0,
|
||||||
|
"dls": "analytic",
|
||||||
|
"device": "cuda"
|
||||||
|
},
|
||||||
|
"batch_size": 256,
|
||||||
|
"batch_seed_rule": "same seed per batch",
|
||||||
|
"checkpoint_sha256": "f7f686fd8ee92fb6948fbcc4ee954636065ad87bb54f661c4f8f575bc16c2ce1",
|
||||||
|
"tasks_sha256": "249bd93457825cda98c59e64d9a096d3473c69aeb3553de1dea6d9e56be71772",
|
||||||
|
"kin_fp": "2ebcbf17",
|
||||||
|
"act_scale": 1.0,
|
||||||
|
"metrics": {
|
||||||
|
"n": 256,
|
||||||
|
"n_ref": 256,
|
||||||
|
"success": 0.5625,
|
||||||
|
"collision_free_success": 0.5625,
|
||||||
|
"time_ok_1p3": 0.296875,
|
||||||
|
"collision_rate": 0.0,
|
||||||
|
"collision_steps_mean": 0.0,
|
||||||
|
"travel_ratio_median": 2.6243183612823486,
|
||||||
|
"time_mean_s": 2.6024999618530273,
|
||||||
|
"brakes_mean": 13.7734375,
|
||||||
|
"start_fail": 0.0,
|
||||||
|
"goal_ratio_2s": 0.2799961566925049,
|
||||||
|
"err_fail_med": 195.448486328125,
|
||||||
|
"err_success_med": 0.15947841107845306,
|
||||||
|
"dls_share": 0.640625,
|
||||||
|
"time_budget": "teacher×2(≥3 s)",
|
||||||
|
"speed_ratio_p50": 1.0000016689300537,
|
||||||
|
"speed_ratio_p95": 1.0000101327896118,
|
||||||
|
"speed_ratio_max": 1.0000101327896118,
|
||||||
|
"over_vmax_rate": 0.0,
|
||||||
|
"accel_ratio_p95": 1.0000016689300537,
|
||||||
|
"accel_ratio_max": 1.0000101327896118,
|
||||||
|
"reverse_p50": 1.5750000476837158,
|
||||||
|
"reverse_mean": 1.6161863803863525
|
||||||
|
},
|
||||||
|
"simulation_wall_s": 573.4911701000092
|
||||||
|
}
|
||||||
@@ -105,6 +105,20 @@
|
|||||||
- **对 `backoff` 的预期与判据**:全拒意味着"连第 1 步的端点或中点已经穿进障碍",缩步能不能救取决于**穿得有多深**(穿 0.1 mm 救得回,穿 3 mm 救不回)。这个数转储里没记(只记被选中那条),所以直接由 `backoff_mean`/`reject_all_mean` 来量:
|
- **对 `backoff` 的预期与判据**:全拒意味着"连第 1 步的端点或中点已经穿进障碍",缩步能不能救取决于**穿得有多深**(穿 0.1 mm 救得回,穿 3 mm 救不回)。这个数转储里没记(只记被选中那条),所以直接由 `backoff_mean`/`reject_all_mean` 来量:
|
||||||
`reject_all_mean ≈ 原全拒次数`(=backoff_mean+brakes_mean,与轮次 33 cap 的 19.55 可比),`backoff_mean/(backoff_mean+brakes_mean)` 就是"缩步能救回的比例"。这是补跑(#22)要读的第一个数。
|
`reject_all_mean ≈ 原全拒次数`(=backoff_mean+brakes_mean,与轮次 33 cap 的 19.55 可比),`backoff_mean/(backoff_mean+brakes_mean)` 就是"缩步能救回的比例"。这是补跑(#22)要读的第一个数。
|
||||||
|
|
||||||
|
## K16:候选数翻倍是本轮第一个正向结果(轮次 39 续)
|
||||||
|
|
||||||
|
- 同一 256 题、同 seed、`--inc_cap 1`、其余配方不变,只把 `K` 从 8 加到 16(`docs/experiment_round39_K16.json`):
|
||||||
|
|
||||||
|
| 口径 | 到达 | 无碰撞到达 | 时限内 | 刹车/题 | 行程比 |
|
||||||
|
|---|---|---|---|---|---|
|
||||||
|
| 对照 cap(K=8) | 0.5234 | 0.5234 | 0.2656 | 19.55 | 2.6158 |
|
||||||
|
| **K=16** | **0.5625** | **0.5625** | **0.2969** | **13.77** | 2.6243 |
|
||||||
|
|
||||||
|
⇒ 到达 **+3.9 pp**、时限内 **+3.1 pp**、**刹车 −30%**,碰撞仍为 0,行程比不变。这一条直接支持失败分类的判断:**很多"全拒"不是真没路,而是 8 条候选里没有一条能走**;把候选池翻倍,安全层就找得到可行前缀。这是本轮(36–39)四个杠杆里第一个正向、且不放松任何判据的结果(限速 `inc_cap=1` 照开、间隙判据照旧)。
|
||||||
|
- **代价没量之前不许上线**:K=16 意味着每次规划的候选点从 32 个(8×2×2)到 64 个,认证与打分都要翻倍——这正好是要用独占微基准量的东西(跨轮次墙钟不算证据:这批整批墙钟 573 s vs 对照 325 s,但同期我在同一台机器跑了 CPU 分析,**不能当成本**)。`steps_cost` 探针之后要补一个 `K=8 vs 16` 的 B=1 周期微基准。
|
||||||
|
- **仪表对上了**:K16 报 `reverse_p50 = 1.5750`,是**我修分母之前**的口径(每步换向轴数,0–6),除以 6 = **0.2625**;离线按 rollout 同窗口算的对照臂预测是 **0.247** ⇒ 差 6%,在"K 更大→走得更顺"的合理方向内。读数规则写死:**产物里的 `reverse_p50` 早于 14:28 的一律先除 6**,之后的才是 [0,1] 的分数。
|
||||||
|
- 之后三臂(`safety_try 3/1`、`z_scale 1.5`)在跑:`safety_try` 是**成本方向**的对照(只试前 3/1 条候选会掉多少到达),`z_scale` 是多样性方向。
|
||||||
|
|
||||||
## 指标链路端到端自证 + 预注册一条判读(轮次 39 续)
|
## 指标链路端到端自证 + 预注册一条判读(轮次 39 续)
|
||||||
|
|
||||||
- **CPU 冒烟(4 题、`--select ep_waste --len_w 0.3 --cert_batch 1 --backoff 2 --inc_cap 1`)**:产物里 `reverse_p50 / reverse_mean / backoff_mean / reject_all_mean` 四个新键**都在**(`ml/runs/_smoke_waste.json`)。这是在验证"生产端改了、消费端也要改"那条教训落地——上次 `backoff_mean` 就是这样静默丢掉的。同时证明 `ep_waste` 与 `backoff` 在真实运动学管线上能一起跑,不靠打桩。
|
- **CPU 冒烟(4 题、`--select ep_waste --len_w 0.3 --cert_batch 1 --backoff 2 --inc_cap 1`)**:产物里 `reverse_p50 / reverse_mean / backoff_mean / reject_all_mean` 四个新键**都在**(`ml/runs/_smoke_waste.json`)。这是在验证"生产端改了、消费端也要改"那条教训落地——上次 `backoff_mean` 就是这样静默丢掉的。同时证明 `ep_waste` 与 `backoff` 在真实运动学管线上能一起跑,不靠打桩。
|
||||||
|
|||||||
Reference in New Issue
Block a user