返回博客

RL 学不会?别先把 critic 练成悲观主义者

训练 RL,课程太难,critic 可能比机器人更早学会放弃。反复失败之后,它对一大片状态的判断都变成了:没戏。最麻烦的不是分数低,而是快成功和差得远,看起来都差不多。

课程也在决定 critic 能看见什么

在稀疏奖励任务里,如果当前 policy 几乎从未成功,critic 看到的回报就缺少差异,许多尚未学会解决的状态可能被估成一片平坦的低值。这甚至未必是估错了:对当前 policy 来说,那些状态确实很难带来成功。问题在于,当奖励和 bootstrap target 都缺少区分度时,训练很难从中判断什么行为更值得尝试。

视频比较了「所有阶段一起练」与「先练能力边界」两种起始状态安排。在展示的运行中,到第 2,000 次训练迭代,完整任务成功率分别为 0% 和 92%。看机械臂,也看下方的 value map:左侧抓取前的一大片区域仍然很低,右侧已经出现更丰富的价值结构。这是一组运行的对比,不代表跨随机种子的统计结论;画面也没有单独测量从失败训练中恢复的成本。

让 agent 练下一步学得会的东西

有用的 curriculum 要把任务放在当前能力的边缘:有足够的成功,让 critic 看见哪些状态通向更好的结果;也有足够的失败,暴露下一处能力缺口。随着 policy 进步,再逐步扩大训练范围,并持续在完整任务上评估,避免只学会课程里的简化版本。

这也解释了为什么「先硬练,后面再调简单」可能要付额外的交互成本:agent 得探索到更好的结果,critic 才有新证据修正旧判断。具体恢复代价取决于算法、奖励、探索和数据分布,不能仅凭一张平坦的 value map 推算。

让 agent 学下一步学得会的东西。存在主义危机,留给研究员就够了。

参考资料

Reverse Curriculum Generation for Reinforcement Learning · Spinning Up: Policy Optimization