docs: 撤回换向分组结论(旧口径漏计停住再反向,净/行程与线上口径都给反向);len_w 的单调改写成噪声量级说明
This commit is contained in:
+6
-4
@@ -64,8 +64,8 @@
|
||||
| len_w=1.0 | 0.5273 | **0.2891** | 2.6719 | 19.35 | — |
|
||||
|
||||
(`docs/experiment_round39_lenw{0.1,0.3,1.0}.json`)
|
||||
- **两条相反的结论**:① 时限内**单调变好**(0.2656→0.2891,+2.4 pp = 6 题),到达在噪声内(±0.4 pp);② 但**行程比单调变差**(2.6158→2.6719)。
|
||||
⇒ "候选地平线内的累计行程"并不是"实际执行行程"好的代理:罚它选出来的候选在**近端少过冲**(所以更快收住、时限内变好),但整段任务要更多次规划才能走完,累计行程反而涨。这条是我原先的假设被打掉,不是被确认。
|
||||
- **两条相反的结论**:① 时限内**单调变好**(0.2656→0.2891,+2.4 pp = 6 题),到达在噪声内(0.5117/0.5195/0.5273,最大偏离对照 −1.2/+1.2 pp,n=256 下这就是噪声量级);② **行程比一点没降**(2.6216/2.6548/2.6719 vs 对照 2.6158,+0.006/+0.039/+0.056,只有最后一个勉强出噪声、且方向是"变差")。
|
||||
⇒ "候选地平线内的累计行程"不是"实际执行行程"的好代理:罚它选出的候选在**近端少过冲**(所以收得快、时限内变好),但整段任务要更多次规划才能走完,累计行程不降反升。这条是我原先的假设被打掉,不是被确认;`ep_len` 只值 +2 pp 时限,且对 §9.2 的行程判据无用。
|
||||
- 顺着这个读数,真正该罚的是**同一轴来回**而不是总长:已实现 `select='ep_waste'`,罚 `(1 − 同轴净位移/累计行程) × 当前误差`(乘当前误差是为了近端不压死进度项——上一版的形状问题正在这里)。三臂 `len_w=0.1/0.3/1.0` 排在 `ml/runs/_waste_sweep.sh`。
|
||||
- 换向率指标 `reverse_p50` 从这一批之后才会出现在产物里(前面的臂是在改动前加载的模块跑的),口径已与离线分解同分母,预期对照臂应复现 **23.5%** 量级——**对不上就要查口径,不能各自报各自的**。
|
||||
|
||||
@@ -79,8 +79,10 @@
|
||||
## 行程超出的成因分解(轮次 39 续,纯 CPU 读轮次 33 base 转储)
|
||||
|
||||
- 口径先对齐:只在"有老师参考且到达"的题上算,自测 **2.425** 与 eval 报的 2.445 同量级(差别在我按 `t_done/DT` 取窗端,eval 逐步累加),后面的数都在这个口径上。
|
||||
- **超出主要是同一根轴来回抖,不是绕远路**:净位移/总行程中位 **0.445**(完美单调应为 1.0)、各轴最大 excursion/行程 0.507、**换向步占比中位 23.5%**(p25 15.7%、p75 30.3%)。分组看**到达组抖得更厉害**(换向 26.1% vs 未到达组 14.7%)——未到达组的问题是冻住,不是抖。
|
||||
- **对得上训练侧的事实**:预训练本来就有 `w_smooth=0.05` 的二阶差分正则,但闭环仍 23% 换向 ⇒ 训练期的平滑项没管住执行期的抖动。
|
||||
- **超出主要是同一根轴来回抖,不是绕远路**:净位移/总行程中位 **0.445**(完美单调应为 1.0)、各轴最大 excursion/行程 0.507、旧口径换向中位 23.5%(p25 15.7%、p75 30.3%)。
|
||||
- **撤回一句我自己的假象**:上面原来写"到达组抖得更厉害(26.1% vs 未到达 14.7%)",**错在口径**。旧定义 `(dd[t+1]·dd[t] < 0).mean()` 要求相邻两步都非零,遇到"前进→停住→后退"就漏计;而未到达题恰恰大量站住,于是被系统性地少计。用与定义无关的量重算(同一转储,净位移/总行程):**到达组 0.478、未到达组 0.352**,即**未到达组白费比例更高**(走完 738° 只前进 255°,到达组是 569°/267°)。线上 `reverse_rate` 新口径(记方向状态、站住不重置)也是 24.0% vs 14.4%,两条一致 ⇒ 结论方向反过来。
|
||||
- **口径敏感要常驻**:换向率的绝对值只能在同一定义内比较;跨臂一律读 eval 的 `reverse_p50`(定义=换向的(步,轴)对/活动的(步,轴)对,站住计入分母但不重置方向)。旧口径的 23.5% 保留在这里,但不再作为分组依据。
|
||||
- **对得上训练侧的事实**:预训练本来就有 `w_smooth=0.05` 的二阶差分正则,但闭环仍大量换向 ⇒ 训练期的平滑项没管住执行期的抖动。
|
||||
- **第一条 A/B 读数(`len_w=0.1`,256 题、`--inc_cap 1`)**:到达 0.5117(对照 0.5234,−1.2 pp)、时限内 0.2695(+0.4 pp)、**行程比 2.6216 几乎没动**(对照 2.6158)、成功题末态误差 0.2438(对照 0.2175,变差)。
|
||||
原因是量级不匹配,不是方向错:`0.1 × 累计归一行程`(16 步满速在 3 条轴上约 48)只当量 ~5 mm,而早段末态误差是几百 mm ⇒ 罚不动。等 `len_w=0.3/1.0` 两臂看行程比是否真的开始下降;若仍压不住,惩罚对象应从"总行程"换成**换向/二阶差分**(直接打这个 23.5%)。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user