跳转到内容

强化学习的交互与训练机制

强化学习通过与环境交互产生训练数据。对四足运动任务而言,策略先控制机器人运动,环境给出奖励与回合边界,训练算法再根据采样结果更新策略。本篇使用常见的 PPO 训练流程解释这个闭环,不绑定某个框架的类名或默认参数。

环境内部状态记为 sts_t,策略实际可见的观测记为 oto_t。观测可以只包含状态的一部分,也可以经过噪声、缩放或历史拼接。

一次交互可以表示为:

otπθat环境推进(rt,ot+1,回合边界)o_t \xrightarrow{\pi_\theta} a_t \xrightarrow{\text{环境推进}} (r_t,o_{t+1},\text{回合边界})

策略根据当前观测选择动作,环境处理动作并推进物理,然后评价这次转移。如果回合结束,环境还要重置。自动重置的环境可能直接返回新回合的初始观测,因此保存轨迹时要识别接口返回的是哪一个时刻的数据。

训练目标通常是提高期望累计折扣回报:

J(θ)=Eπθ[t=0T1γtrt]J(\theta)=\mathbb{E}_{\pi_\theta}\left[\sum_{t=0}^{T-1}\gamma^t r_t\right]

γ\gamma 是折扣因子,TT 是这里表示的轨迹长度。奖励由任务定义,训练算法负责利用交互数据改进参数。

固定当前策略参数,让多个环境并行运行,每个环境收集若干步数据。除观测、动作和奖励外,PPO 通常还保存采样动作的对数概率、价值估计及回合边界信息。

假设有 256 个环境,每个环境采样 32 个控制步,一轮就得到 256×32=8192256\times32=8192 条转移。这只是计算示例;环境数量和采样长度需要结合设备与任务设置。

一次采样段不等于一个回合:它可以在回合中途结束,也可以跨越同一环境的多次重置。不同环境的回合也不必同时结束。

采样后,训练器估计回报与优势。价值网络预测未来回报,优势描述某次动作的结果相对当前价值预期有多好。PPO 再将数据划分为小批量,在同一批数据上做有限次数的参数更新。

PPO 属于 on-policy 方法:这批数据来自更新前的当前策略,允许在一次更新阶段内重复利用,但不应将任意陈旧轨迹持续混入训练。更新完成后,通常重新采样。更详细的算法推导留到“策略训练”部分。

3. 物理仿真、策略控制与训练迭代的时间尺度

Section titled “3. 物理仿真、策略控制与训练迭代的时间尺度”
时间尺度含义本文示例
物理步物理引擎推进一次的时间0.005 s
策略控制步两次策略动作之间的时间每 4 个物理步一次,即 0.02 s
训练迭代采样一段轨迹并更新参数每个环境采样 32 个控制步后更新

若每个控制步推进 dd 个物理步,则:

Δtcontrol=dΔtphysics\Delta t_{\text{control}}=d\,\Delta t_{\text{physics}}

上例策略频率为 50 Hz,物理推进频率为 200 Hz;这些是仿真时间上的频率。完成一秒仿真需要多少真实时间,取决于硬件和计算负载。

在位置目标加 PD 的例子中,两次策略调用之间保持目标角度,但可以在每个物理步根据最新关节状态重新计算力矩。固定动作不代表固定力矩。引擎内部还可能有子步或求解器迭代,需要与上述控制步区分。

部分主要职责
物理仿真根据模型、接触和控制输入推进状态
任务环境组织观测、动作处理、指令、奖励、终止和重置
训练器收集轨迹、计算训练目标、更新网络
评估与记录回放策略、记录指标、保存配置和检查点

legged_gym 或 mjlab 是具体实现的学习入口。理解闭环时,先识别这些职责,再查找实现位置;不同框架不一定采用相同的继承结构和接口返回值。

5. 训练过程的监测指标与异常分析

Section titled “5. 训练过程的监测指标与异常分析”
信号应结合什么判断
奖励总值与分项数值变化是否对应更好的跟踪和运动行为;负惩罚趋近零也可能是改善
回合长度与结束原因是少摔倒了,还是终止条件漏检了
速度跟踪误差在相同指令范围下是否减小
动作、关节速度和力矩是否出现抖动、饱和或非有限值
价值损失、KL 和策略分布标准差与奖励尺度、更新设置和行为变化一起观察

策略分布标准差描述动作采样的随机性,不是“奖励标准差”,也不要求训练中必然单调下降。损失曲线同样不能脱离奖励尺度单独判断好坏。

先用少量环境检查数据和重置,再进行短训练、回放行为。渲染是观察工具;不开渲染并不改变训练任务的基本组成。

沿一次训练迭代回答:8192 条转移如何产生?为什么其中可能包含重置?策略参数在哪个阶段改变?一个 0.02 s 的动作怎样作用到四个物理步?能回答这些问题后,再进入任务定义。