exp: 轮次50——门控20mm 的 seed=1 复现失败于幅度:时限收益 +6.25pp→+0.39pp,精度代价减小但未消除

两 seed 合并后必须更正轮次49 的一句话:到达题组内末态误差 vs 控制的符号检验 s0 67/57(p=0.419)、
s1 74/51(p=0.049)、合并 141差/108好 p=0.042 ⇒ 是"大幅减小"而不是"与控制不可分"。
中位数(+3.4%/+2.6%)与逐题分布给出相反印象,因为门控把尾部拉近中位、却把大量题各推一点。
到达两 seed 合并赢24丢21 净+3 p=0.766 ⇒ 这条轴上到达没有可用信号。

稳的部分:goal_ratio_2s 两 seed 都改善(0.170/0.201 vs 0.279/0.275) ⇒ "打分地平线=执行地平线"
买路上进度是唯一稳健效应。可推荐形态是 ungated pre,门控留给末态余量优先的场景。

统计自纠:精确 McNemar/符号检验原写法 2*Σ_{i<=min(k,n-k)}C(n,i)/2^n 在 k=n/2 中间点会算出 1.168>1;
改成 p=min(1,2*min(P(X<=k),P(X>=k))) 后重算本轮全部已上报 p 值,除中间点那例外数值不变
(0.125/0.424/0.678/0.455/0.327/0.042/4.9e-16/1.8e-12/2.4e-6 都对得上),中间点正确值 p=1.0。

下一轮补 2×2 的缺失格 K16+pre 量可加性(已在盘三格),判读规则预注册。
This commit is contained in:
cbb
2026-10-21 01:31:11 +08:00
parent 97f746077a
commit af856ca728
2 changed files with 133 additions and 0 deletions
+110
View File
@@ -0,0 +1,110 @@
{
"config": {
"ckpt": "ml/runs/base_dag2_dag1/best.pt",
"samples": "ml/data/samples",
"tasks": null,
"split": "val",
"n": 256,
"K": 8,
"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": "ml/runs/round50_gate20_s1_rows.json",
"out": "docs/experiment_round50_gate20_s1.json",
"trace": null,
"select": "pre",
"replan": "empty",
"safety": 1,
"partial": 1,
"inc_cap": 1,
"gap_margin": 0.0,
"cert_batch": 1,
"steps": 1,
"z_scale": 1.0,
"len_w": 0.0,
"tie": 0,
"pre_h": 0,
"pre_near": 20.0,
"backoff": 0,
"max_sec": null,
"seed": 1,
"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.53125,
"collision_free_success": 0.53125,
"time_ok_1p3": 0.30078125,
"collision_rate": 0.0,
"collision_steps_mean": 0.0,
"travel_ratio_median": 2.6468124389648438,
"time_mean_s": 2.462352752685547,
"brakes_mean": 19.71875,
"start_fail": 0.0,
"goal_ratio_2s": 0.20109058916568756,
"err_fail_med": 177.47691345214844,
"err_success_med": 0.22864246368408203,
"dls_share": 0.6484375,
"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": 0.2363184094429016,
"reverse_mean": 0.24333104491233826,
"reverse_moving_p50": 0.28763440251350403,
"moving_share_p50": 0.9736841917037964,
"brake_rate_mean": 0.10112179815769196,
"brake_rate_p50": 0.0051282052882015705,
"brake_rate_p90": 0.35641026496887207,
"stuck_share": 0.24609375,
"n_plans_mean": 195.0,
"success_reachable": 0.5596708059310913,
"by_cat": {
"A": [
128,
94
],
"B": [
74,
23
],
"C": [
32,
12
],
"D": [
13,
0
],
"Dr": [
9,
7
]
}
},
"simulation_wall_s": 271.2116083000001
}
+23
View File
@@ -113,6 +113,28 @@
- **对 `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)要读的第一个数。
## 轮次 50:门控 20 mm 的 seed=1 复现——方向对、幅度不稳:时限收益塌了,精度代价只是减小没消除
- **一条臂就够**(控制臂复用 `round47_ep_s1`,同 seed 同配方,已在盘)。
- **两 seed 并排**(都是 n=256、`collision_rate=0`、`over_vmax_rate=0`、`n_plans_mean=195.0`):
| 读数 | s0 控制 | s0 门控 20 | s1 控制 | s1 门控 20 |
|---|---|---|---|---|
| 到达 | 0.5234 | 0.5352 | 0.5313 | **0.5313** |
| 时限内(≤1.3×老师) | 0.2656 | **0.3281** (+6.25 pp) | 0.2969 | 0.3008 (**+0.39 pp**) |
| 2 s 误差比 | 0.2792 | 0.1702 | 0.2750 | **0.2011** |
| 到达题末态误差中位 | 0.2175 | 0.2248 | 0.2228 | 0.2286 |
| 行程比中位 | 2.6158 | 2.5146 | 2.6369 | 2.6468 |
- **复现矩阵(什么稳、什么不稳)**:
- **稳**:`goal_ratio_2s` 大幅改善(两 seed 都到 0.170/0.201,控制 0.279/0.275)⇒ "打分地平线 = 执行地平线"买**路上的进度**是这条轴唯一稳健的效应;末态误差**中位数**几乎不动(+3.4%/+2.6%)⇒ 门控确实把 `pre` 那个 +91% 的精度损失压掉了大部分。
- **不稳**:时限收益从 **+6.25 pp 塌到 +0.39 pp**;到达两 seed 合并赢 24 丢 21(净 +3,**p=0.766**)⇒ 到达率在这条轴上彻底没有可用信号。
- **合并后要更正轮次 49 的一句话**:到达题组内末态误差 vs 控制的符号检验,s0 是 67 差/57 好(p=0.419)、s1 是 74/51(**p=0.049**)、两 seed 合并 **141 差/108 好,p=0.042** ⇒ 正确说法是"**精度代价被大幅减小(未门控的 `pre` 是 82/42,p=3.1e−4)但没有消除**",不是"与控制不可分"。中位数与逐题分布在这里给出相反的印象,正是因为门控把尾部拉近了中位、但把大量题各推一点点。
- **判读规则的兑现**:轮次 49 预注册写的是"若 s1 变成显著变差,则本轮结论降级为阈值恰好躲过一次复现"。时限那一半也塌了 ⇒ **降级为**:门控不是免费午餐,它是"要不要用时限收益换末态余量"的开关;`pre_near=20` 只在 seed=0 上看起来两者都要。
- **本轮另外修掉的一处统计错**:精确 McNemar/符号检验我用的是 `2·Σ_{i≤min(k,n−k)} C(n,i)/2ⁿ`,在 **k = n/2 的中间点会算出 1.168(>1)**。改成定义式 `p = min(1, 2·min(P(X≤k), P(X≥k)))`(X~Bin(n,½))后重算了本轮全部已上报的 p 值:**除中间点那一例外,其余数值全部不变**(0.125/0.424/0.678/0.455/0.327/0.042/4.9e−16/1.8e−12/2.4e−6 都对得上)。中间点(s1 到达 11 赢 11 丢)的正确值是 **p=1.0**。
- **状态**:`--pre_near` 作可选口径入库,默认仍 `endpoint`。**这条轴的可推荐形态是 ungated `pre`**(时限/进度两 seed 都稳),门控留给"末态余量优先"的场景。
- **下一轮(组合而非继续调这条轴)**:`pre` 与 K=16 是两条各自验证过的杠杆,但没一起测过。§9.2 要的是同一份配方同时满足到达与时限,所以**可加性**必须直接量:跑 `K=16 + select=pre`(对照 `K16+endpoint` 与 `K8+pre` 都已在盘)。若不可加,说明两条买的是同一个瓶颈(候选被拒后的"没活路"),那是重要的机理结论。
## 轮次 49:#31 门控地平线成立——终端段盖到 20 mm 时,时限收益与精度代价被解耦(预注册判据由该臂满足)
- **假设(由轮次 48 的四点曲线给出,不是拍脑袋)**:时限收益来自"打分地平线 = 执行地平线",精度代价来自"近终段没有终端代价"。两件事若真能分开,就应该存在一个终端段长度,使得短前瞻的时限收益基本不损、而末态误差回到控制水平。
@@ -136,6 +158,7 @@
- **两条臂各自的代价(不许只报好的那半)**:门控 20 mm 把 A 类到达打到 **94/128**(控制 96、门控5 也是 96),换来精度归零;门控 5 mm 到达最高 0.5469 且行程比最好(2.4218),但末态误差仍显著变差。⇒ **不存在同时占优的阈值**,本轮只证明"可解耦",不证明"已找到最优点"。
- **口径纪律**:不改为默认。§9.2 的"时限内"最好读数现在是 **0.3320(pre h=2 / 门控5)**,"到达"最好读数是 **0.5469(门控5)**——两者都还没显著超过控制,所以验收栏仍写控制的 0.5234/0.2656,另注可选口径。
- **下一步(唯一还没做的关键检验)**:门控 20 mm 在 seed=1 复现(控制臂 `round47_ep_s1` 已在盘 ⇒ 只需一条臂)。若 p=0.42 那个"与控制不可分"变成"显著变差",本轮结论降级为"阈值恰好躲过一次复现"。
**【轮次 50 已做,结果是降级】**:seed=1 上该符号检验是 74 差/51 好 **p=0.049**,两 seed 合并 **141 差/108 好 p=0.042** ⇒ "与控制不可分"不成立,正确说法是**精度代价被大幅减小但没有消除**;同时时限收益在 seed=1 上从 +6.25 pp 塌到 +0.39 pp。详见下一轮。
## 轮次 48:#30 打分地平线四点曲线——进度收益是剂量-反应关系,而精度代价只集中在 h≤4;h=8 是个坏点