返回专辑
·Johan·5 分钟阅读

不可学任务:换算法前先证可学

观测缺信息、reward 与目标 misalign、sim bug 时,PPO→SAC 也救不了;先 random/expert 上限再堆 sample。

不可学任务:换算法前先证可学

1. 换五个算法仍是零 success

有时不是 PPO clip 不对,是 任务不可学或没定义对。无限加 timesteps、换 SAC→PPO→TD3 同一 bug 任务,只会烧 cluster——五个算法零 success 时,第一个怀疑 spec 不是 optimizer。调 、LR、network 宽度前,先证明存在可学习信号:random 偶尔 success、BC 能降 loss、shaping 后 return 有梯度方向。若这三条都不满足,问题在 spec 不在 optimizer——再训一周也许行,通常是自欺欺人,Kill criterion 要有 owner 执行 pause。

2. 五类根因

  • Partial observability:速度未给、stack 不够——同一 obs 对应不同最优动作。
  • Reward misalignment:optimizing return task success。PM 要的成功率与 engineering 写的 reward 可能不一致——RL 在优化错目标,Weekly sync 要对齐。
  • Sim bug:穿透、能量不守恒、action 未接 physics——任何算法都会学怪招。
  • Expert 上界:scripted/BC expert 只有 20% success,RL 目标 90% 不现实。
  • Irreducible stochasticity:同样 obs-action,outcome 方差极大,确定性 policy 有天花板。

3. 简化 task 对照

Horizon 砍半、dense reward、固定 init——若 suddenly 可学,原 spec 有问题而非算法弱。Simplified 80% 而 full 0% 时,优先改 full task spec,不是换算法。把任务拆到最简仍不可学,再怀疑 sim bug 或 fundamental 信息不足。

Simplified task 是 task design review 的第一张牌——不是「降低标准」,是隔离 spec 问题与算法问题。Kill criterion 要有 owner:simplified + BC + max budget 仍失败 → pause,开 review,不 infinite sweep。

4. Oracle baseline

给 policy 特权 obs(真 velocity、object pose)。若 oracle 仍解决不了,问题在 dynamics 或 reward,不在 POMDP。Oracle 与 simplified 对照写进实验摘要——oracle 好、full 差 → POMDP 或 spec 问题;oracle 也差 → dynamics/reward。

Belief-free baseline:oracle velocity 一次 run 判断 POMDP 损失多少。Post-mortem 含 simplified 结果、oracle 结果、decision 三行,避免 repeat 同样不可学 spec 的新项目。

5. Sim bug 与 physics 监控

穿透、能量不守恒、action 未接 physics——visualize penetration depth、joint limit violation 每 step log。Physics 能量无故增加说明 sim 有 bug,任何 RL 都会学利用 bug 的 policy。Sim 可视化 + 能量监控,和换 SAC 一样值得先做——比 hyperparam sweep 便宜。

6. 信息论直觉与 stochastic 上界

Obs 对 task 的 mutual information 太低,任何 policy 上限低——单帧 depth 无 proprioception 做精确力控,可能是信息不够。加 sensor 或改 task 比换 optimizer 优先。Stochastic env 需要 stochastic policy 或更多样本;accept ceiling 或增加 obs 捕捉 latent noise source。

7. 组织层面 misalignment

有时不可学是 organizational:reward 定义 PM 和 engineering 不一致。Weekly sync 问 simplified task 通过率,而非 only full task success rate。Kill criterion 不能变成「再训一周」的无限循环——要有 explicit pause 和 task design review 触发条件。

8. 案例:expert 30% 却设 RL 目标 95%

Grasp 任务 scripted expert 约 30% success(物理限制 + sim 噪声),PM 要求 RL 95%。BC 在 expert 数据上 loss 能降但 success 天花板 30%。RL 训 20M step 最高 35%——不是 RL 弱,是 task ceiling。调整目标对齐 expert+margin,或改 task(better gripper model、dense shaping),而非换第五个算法。

9. 验收

  • Expert/scripted 测 ceiling,RL 目标对齐 ceiling。
  • 简化 task 对照 full;oracle 对照 privileged obs。
  • Physics 能量监控 + 可视化查 anomaly。
  • 三实验都失败 → task review,不是 hyperparam sweep。
  • Post-mortem 三行:simplified、oracle、decision。

10. 与 hyperparam sweep 的边界

Hyperparam sweep 前提是 task 可学——simplified task 通过、oracle 有 signal、BC 能降 loss 三满足再 sweep 、LR、network width。三不满足时 sweep 是烧 cluster。Kill criterion 写进 project charter:simplified + BC + max budget 仍低于阈值 → pause,开 task design review。Post-mortem 三行(simplified、oracle、decision)进模板,避免同样不可学 spec 在新项目 repeat。Sim bug 与 POMDP 与 reward misalignment 症状相似(都训不动),诊断顺序:physics 可视化 → simplified task → oracle → 再怀疑算法。Organizational:PM 目标与 expert ceiling 不对齐时,先对齐目标再开 RL,不是 infinite sweep 赌运气。

11. 录包与 task review

不可学 task post-mortem 必含 simplified 结果、oracle 结果、expert ceiling、decision 四行——缺任一行,同样 spec 会在下一项目 repeat。Sim bug 录包含 penetration depth、joint energy 每 step;visualize 一次常比换第五个算法便宜。Kill criterion 有 owner:simplified + BC + max budget 仍低于阈值 → pause,开 task design review。Hyperparam sweep 前提是 simplified 通过、oracle 有 signal、BC 能降 loss——三不满足时 sweep 是烧 cluster。Weekly sync 问 simplified 通过率,不只报 full task success。Stochastic env 需要 stochastic policy 或更多样本;information 不够时加 sensor 比换 optimizer 优先。Sim 穿透、能量增加任何算法都学怪招——physics 可视化与换 SAC 一样值得先做。Oracle 好、full 差指向 POMDP 或 spec;oracle 也差指向 dynamics 或 reward——诊断顺序别跳步。BC expert ceiling 是 RL 目标上限——PM 要 95%、expert 30% 时先对齐目标再开 RL。Kill criterion 写进 charter,三否(random/BC/shaping)→ task review。

11. 收束

不可学任务的最大浪费是 infinite sweep——五个算法零 success 时第一个怀疑 spec。Simplified task、oracle baseline、expert ceiling 三实验是 task design review 的输入,不是可选项。Post-mortem 缺任一行,同样不可学 spec 会在下一项目 repeat;Kill criterion 要有 owner 执行 pause,不能变成「再训一周」的默认回复。三否不满足时开 task design review,不是 hyperparam sweep。

← 全部文章

johan's blog