强化学习的交互与训练机制
强化学习通过与环境交互产生训练数据。对四足运动任务而言,策略先控制机器人运动,环境给出奖励与回合边界,训练算法再根据采样结果更新策略。本篇使用常见的 PPO 训练流程解释这个闭环,不绑定某个框架的类名或默认参数。
1. 环境交互与状态转移
Section titled “1. 环境交互与状态转移”环境内部状态记为 ,策略实际可见的观测记为 。观测可以只包含状态的一部分,也可以经过噪声、缩放或历史拼接。
一次交互可以表示为:
策略根据当前观测选择动作,环境处理动作并推进物理,然后评价这次转移。如果回合结束,环境还要重置。自动重置的环境可能直接返回新回合的初始观测,因此保存轨迹时要识别接口返回的是哪一个时刻的数据。
训练目标通常是提高期望累计折扣回报:
是折扣因子, 是这里表示的轨迹长度。奖励由任务定义,训练算法负责利用交互数据改进参数。
2. PPO 的采样与更新过程
Section titled “2. PPO 的采样与更新过程”固定当前策略参数,让多个环境并行运行,每个环境收集若干步数据。除观测、动作和奖励外,PPO 通常还保存采样动作的对数概率、价值估计及回合边界信息。
假设有 256 个环境,每个环境采样 32 个控制步,一轮就得到 条转移。这只是计算示例;环境数量和采样长度需要结合设备与任务设置。
一次采样段不等于一个回合:它可以在回合中途结束,也可以跨越同一环境的多次重置。不同环境的回合也不必同时结束。
优势估计与参数更新
Section titled “优势估计与参数更新”采样后,训练器估计回报与优势。价值网络预测未来回报,优势描述某次动作的结果相对当前价值预期有多好。PPO 再将数据划分为小批量,在同一批数据上做有限次数的参数更新。
PPO 属于 on-policy 方法:这批数据来自更新前的当前策略,允许在一次更新阶段内重复利用,但不应将任意陈旧轨迹持续混入训练。更新完成后,通常重新采样。更详细的算法推导留到“策略训练”部分。
3. 物理仿真、策略控制与训练迭代的时间尺度
Section titled “3. 物理仿真、策略控制与训练迭代的时间尺度”| 时间尺度 | 含义 | 本文示例 |
|---|---|---|
| 物理步 | 物理引擎推进一次的时间 | 0.005 s |
| 策略控制步 | 两次策略动作之间的时间 | 每 4 个物理步一次,即 0.02 s |
| 训练迭代 | 采样一段轨迹并更新参数 | 每个环境采样 32 个控制步后更新 |
若每个控制步推进 个物理步,则:
上例策略频率为 50 Hz,物理推进频率为 200 Hz;这些是仿真时间上的频率。完成一秒仿真需要多少真实时间,取决于硬件和计算负载。
在位置目标加 PD 的例子中,两次策略调用之间保持目标角度,但可以在每个物理步根据最新关节状态重新计算力矩。固定动作不代表固定力矩。引擎内部还可能有子步或求解器迭代,需要与上述控制步区分。
4. 训练框架的功能组成
Section titled “4. 训练框架的功能组成”| 部分 | 主要职责 |
|---|---|
| 物理仿真 | 根据模型、接触和控制输入推进状态 |
| 任务环境 | 组织观测、动作处理、指令、奖励、终止和重置 |
| 训练器 | 收集轨迹、计算训练目标、更新网络 |
| 评估与记录 | 回放策略、记录指标、保存配置和检查点 |
legged_gym 或 mjlab 是具体实现的学习入口。理解闭环时,先识别这些职责,再查找实现位置;不同框架不一定采用相同的继承结构和接口返回值。
5. 训练过程的监测指标与异常分析
Section titled “5. 训练过程的监测指标与异常分析”| 信号 | 应结合什么判断 |
|---|---|
| 奖励总值与分项 | 数值变化是否对应更好的跟踪和运动行为;负惩罚趋近零也可能是改善 |
| 回合长度与结束原因 | 是少摔倒了,还是终止条件漏检了 |
| 速度跟踪误差 | 在相同指令范围下是否减小 |
| 动作、关节速度和力矩 | 是否出现抖动、饱和或非有限值 |
| 价值损失、KL 和策略分布标准差 | 与奖励尺度、更新设置和行为变化一起观察 |
策略分布标准差描述动作采样的随机性,不是“奖励标准差”,也不要求训练中必然单调下降。损失曲线同样不能脱离奖励尺度单独判断好坏。
先用少量环境检查数据和重置,再进行短训练、回放行为。渲染是观察工具;不开渲染并不改变训练任务的基本组成。
沿一次训练迭代回答:8192 条转移如何产生?为什么其中可能包含重置?策略参数在哪个阶段改变?一个 0.02 s 的动作怎样作用到四个物理步?能回答这些问题后,再进入任务定义。
- 下一篇:四足强化学习任务的定义与组成
- 奖励函数与回合机制
- 框架学习入口:legged_gym、mjlab