0%
✍️ Insight

四足控制器 · 二:分数变高,任务就做好了吗

把高度、关节速度与终止条件拆开看:奖励为何可能诱导错误动作,怎样用轨迹和独立验收检查它。

· 更新于 2026-09-30

上一篇写好了任务卡,现在开始给策略打分。直觉上,身体抬起来值得加分,关节动得太快应该扣分,没翻倒就让回合继续。

每一项单独看都说得通,合起来却可能把策略带到另一件事上:撑高但冲击很大,动作安静却没有吸收落地,甚至已经失去支撑还在累计分数。

以下是奖励设计的可能反例,不是本站已经观测到的训练结果。它们的用途,是替下一次实验提出可检查的问题。

第一张价目表:只看身体够不够高

假设每一拍都按机身高度给奖励。策略可能找到一种僵硬支撑姿态:高度不错,接触时却没有顺应。也可能因为只优化某个时刻的高度,而忽略随后倒下。

这不意味着高度奖励必然错误。问题是它代表了任务中的哪一部分,遗漏了什么。看回放时,除了高度曲线,还应检查接触附近的速度、姿态、动作是否碰到限制,以及之后能否持续稳定。

先看行为有没有偏离目标,再决定怎样改分数。 单凭总奖励变高,无法区分策略学得更好,还是学会了更便宜地拿分。

第二张价目表:动作越安静越好

惩罚关节速度可以表达对过激动作的顾虑。但如果它的影响压过恢复支撑的收益,策略也可能倾向少动。落地需要及时调整,安静本身不是任务目标。

这里先做一场小比较:保留其余条件,只改变这一项的权重。用相同初始状态看动作幅度和验收结果,并同时保存各奖励项。权重变化后恢复更快,是一个观察;“因为这个惩罚太强”还需要轨迹与分项变化共同支持。

为什么不直接把惩罚删掉?

删掉后也许恢复了动作,却可能出现新的高频摆动或过大请求。下一轮要检查的是任务与动作约束共同满足,而不是哪一个奖励项看上去最碍事。

第三张价目表:回合什么时候该结束

若失去有效支撑后仍能不断获得生存奖励,继续“活着”可能比站稳更划算。另一方面,过早终止也可能让策略从未体验过可恢复的状态。

因此终止条件与成功条件要分别写。什么情况属于不可接受的失败?什么情况仍允许恢复?哪些回合只是到时间而结束?这三种结束方式不能都塞进一个成功率。

对照上一篇的任务卡,逐条检查:是否可能出现某种轨迹,拿到高分却没有达到验收标准?若有,把它存成失败样本,再决定修改奖励还是终止条件。

留一把不参与训练的尺子

训练可以用便于优化的连续分数;评估仍按事先写下的任务标准检查。两把尺子有关,但不必相同。否则“奖励上涨所以任务变好”只是重复读同一个数字。

一轮有用的检查可以很小:固定一组初始条件,保存原策略的轨迹,改一个设计,再用同一组条件比较。把成功定义、分项奖励、失败模式和动作边界一起看。结果不足以推广时,就保留那个范围。

再做一次纸上练习:不用修改程序,给每个奖励项写一个“拿高分却做错事”的动作;写不出来也不代表它安全,只说明还需要新的测试。

当你能指出一条具体反例,而不只是说“奖励有坑”,下一轮实验才有清楚的方向。