《MicroDuck RL:训练机器鸭从仿真走到真机》 系列课程 · 第 10 集 / 共 14 集
上一集:【MicroDuck RL 09】部署流程:从仿真到真机(Sim2Real) |课程目录 | 下一集:【MicroDuck RL 11】命令速查表
这一集的内容来自仓库 AGENTS.md——项目团队用无数次失败训练换来的经验,是本系列含金量最高的部分之一。
看三个东西
- 平均奖励在涨;
- 回合长度符合任务预期(走路任务里回合总是很快结束 = 总是在摔倒);
- 主任务项真的在涨——总奖励可能全靠正则项涨而技能从未出现。这是最常见的自欺:曲线很漂亮,机器人原地没动。
所有惩罚项必须 ≤ 0
Episode_Reward/<项> 记录的是加权后的值;给"自取负"的惩罚函数配了负权重,会负负得正变成奖励漏洞,策略会疯狂刷它。符号约定这件事,写配置时值得停下来确认一遍。
权重为 0 的项读数为 0
要结合课程权重表解读——某项惩罚前期没生效,可能只是课程还没把它打开。
RL 会钻每一个没写死的空子
没定义的姿态、没限制的到达方式,都会被策略利用。经验法则:关键行为用硬性状态门控(触地、姿态角、锁存器)定义,而不是小惩罚。惩罚是软约束,策略会跟它讨价还价;门控是硬约束,没得商量。
训练"失败"时先测量再推理
加载 checkpoint 做无头评估(各出生类型、终止状态分布)。很多"失败"其实是早停的 checkpoint 或评估口径问题,不是策略没学会。
视频和指标都要看
指标通过但视频里明显不对的情况真实存在。指标是你写出来的东西的投影,视频才是现实。
TensorBoard 里对应关注什么
| 面板 | 看什么 |
|---|---|
Episode_Reward/* |
各项加权奖励,确认主任务项在涨、惩罚项 ≤ 0 |
Episode_Termination/* |
摔倒率 |
Curriculum/* |
课程进度 |
Metrics/* |
跟踪误差 |
下一集开始是工具类内容:命令速查表、练习路线、实操记录与 FAQ。