From af856ca7289ebfb33c37dcfd14314b6c5dedf89e Mon Sep 17 00:00:00 2001 From: cbb <2625274797@qq.com> Date: Wed, 21 Oct 2026 01:31:11 +0800 Subject: [PATCH] =?UTF-8?q?exp:=20=E8=BD=AE=E6=AC=A150=E2=80=94=E2=80=94?= =?UTF-8?q?=E9=97=A8=E6=8E=A720mm=20=E7=9A=84=20seed=3D1=20=E5=A4=8D?= =?UTF-8?q?=E7=8E=B0=E5=A4=B1=E8=B4=A5=E4=BA=8E=E5=B9=85=E5=BA=A6=EF=BC=9A?= =?UTF-8?q?=E6=97=B6=E9=99=90=E6=94=B6=E7=9B=8A=20+6.25pp=E2=86=92+0.39pp?= =?UTF-8?q?=EF=BC=8C=E7=B2=BE=E5=BA=A6=E4=BB=A3=E4=BB=B7=E5=87=8F=E5=B0=8F?= =?UTF-8?q?=E4=BD=86=E6=9C=AA=E6=B6=88=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 两 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 量可加性(已在盘三格),判读规则预注册。 --- docs/experiment_round50_gate20_s1.json | 110 +++++++++++++++++++++++++ docs/探索日志.md | 23 ++++++ 2 files changed, 133 insertions(+) create mode 100644 docs/experiment_round50_gate20_s1.json diff --git a/docs/experiment_round50_gate20_s1.json b/docs/experiment_round50_gate20_s1.json new file mode 100644 index 0000000..8931fee --- /dev/null +++ b/docs/experiment_round50_gate20_s1.json @@ -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 +} diff --git a/docs/探索日志.md b/docs/探索日志.md index b9584eb..e60c5d5 100644 --- a/docs/探索日志.md +++ b/docs/探索日志.md @@ -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 是个坏点