第 16 课 · 从走到跑:课程学习与动作开发
这一课解决什么问题:走路练成了,想教它跑步、跳舞这类新动作,从哪下手?这一课给出三阶段开发方法论,讲清"奖励塑形"和"课程学习"两个核心工具,并用正在进行的实验 expE 做现场教学。
1. "跑步"不是一个参数,是一个项目
最容易犯的错:把速度上限从 0.4 拉到 0.8,指望鸭子跑起来。指南第 8 节开宗明义:当前任务列表里没有独立的 Running 环境(配置里的 std_running 目前就等于 std_walking),而只提速度上限,策略大概率用更快的小碎步或拖脚来"换分"——不是跑,是作弊。
所以新动作要按项目来开发。指南的三阶段:
阶段一 先做"走快",不碰"跑"
阶段二 给"跑态"一个可辨认的物理定义
阶段三 用课程学习分阶段逼近
2. 三阶段各自做什么
阶段一:走快。 以现有走路任务为模板建独立任务,只动三处:lin_vel_x 正向上限 0.4 → 0.5 m/s;训练样本里加中高速档,避免高速样本太稀;回放固定测 0、0.2、0.4、0.5 m/s。通过标准:0.5 m/s 跟踪误差下降,同时低速和站立能力没有明显退化。
阶段二:定义跑态。 跑步不只是速度快。先选定义:快速步行(至少一脚总接地)?跑步(允许短暂双脚离地)?跳跃式?Microduck 个子小、舵机怕冲击,指南建议先做快速步行。配套的奖励改法里最关键的一条是速度条件化:高速度时才放宽腾空奖励,别让零速度命令的环境靠蹦跳刷分。
阶段三:课程。 指南给出的起点(原文强调:只是实验起点,不是验证过的配方):0~500 迭代复制已验证步态,500~1200 加入 0.4~0.5 m/s,1200~2500 加入 0.5~0.6 并加强脚高目标,2500 以后再加强摩擦、电压、推扰和动作平滑。
所以呢?先让"快走"在低风险下成立,再逐步提高要求——和教人游泳先下浅水区是一个道理。
3. 奖励塑形:把"希望它做什么"翻译成分数
奖励塑形(reward shaping)就是这条翻译工作:希望迈步 → 给 air_time 加分;希望稳 → 惩罚躯干晃动;希望平滑 → 惩罚相邻动作差。翻译得不好,鸭子会钻空子——expD 的 shuffle 局部最优就是"翻译漏洞"的实证(第 15 课)。
翻译还有个时机问题:指南 6.6 节记录,动作平滑惩罚不是一上来就 -1.0,而是从 -0.1 分阶段收紧,约 1500 次 PPO 迭代才到 -1.0——早期太严会压死探索,鸭子学成"站着最安全"。
4. expE:课程学习的现场版
实验总表 expE-gait-ramp 行(2026-09-09 启动,512 环境,从 12500 迭代向 50000 目标推进,进行中)正在做的正是这套方法:
把 feet_air_time 的 threshold_min 从 0.125 降到 0.04
→ 步态奖励先"看得见"(任何真实抬脚都能得分)
等 Metrics/air_time_mean > 0.10
→ 再把门槛收紧回 0.125
这就是课程学习(curriculum learning,把一个大目标拆成由易到难的小台阶,逐级解锁)在真实项目里的用法:第 14 课那个预注册假设("0.125 s 门槛太高,策略收不到抬脚正反馈"),最终变成了这个正式实验。
5. 什么时候进入下一阶段:看指标
阶段切换不靠感觉,靠指南 7.3 节的指标表:episode length 上升后稳定;速度跟踪 reward 升、误差降;air_time_mean 脱离零附近(也不是越大越好);脚高接近目标不过冲;躯干直立稳定;action std 逐步下降但不突然塌缩;所有惩罚项贡献 ≤ 0。换算提醒(指南 6.9 节):课程表的 step 是环境步,当前每迭代每环境 24 步,即 step = 迭代号 × 24。
动手练习(20 分钟)
为"跳舞"写一份三阶段路线图:阶段一做什么最简单的版本?阶段二给"舞步"什么物理定义?阶段三的奖励和课程怎么排?参考指南第 9 节(第一支舞只做四拍)。
自查清单
- [ ] 我能说出新动作开发的三阶段及各自的通过标准
- [ ] 我能解释奖励塑形是什么,并举一个"翻译漏洞"的例子
- [ ] 我能复述 expE 把门槛 0.125 → 0.04 再收紧的逻辑
- [ ] 我知道阶段切换要看哪几个指标
下一课预告
expE 目标 50000 迭代、官方参考 4096 环境跑 1–2 小时——这些数字背后是算力账。第 17 课讲 GPU 与云训练:什么实验本机 CPU 就够,什么时候才值得花钱,以及云端训练的安全五条。
延伸资源
microduck-replica/docs/训练参数调整与新动作开发指南.md第 8 节(从走到跑)与第 9 节(从舞蹈到复杂动作)docs/microduck-30day/experiments/experiment-log.csvexpE-gait-ramp 行(实时进展)- 想理解奖励与策略梯度背后的理论:Hugging Face 深度强化学习课