Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

强化学习补充主题

RL vs 轨迹优化

核心对比

维度轨迹优化强化学习
输出一条轨迹 $(\mathbf{x}, \mathbf{u})$一个策略 $\pi(\mathbf{s})$
泛化能力❌ 仅适用于该轨迹✅ 可处理新状态
训练时间秒级 ~ 分钟级小时级 ~ 天级
推理速度N/A毫秒级
模型需求✅ 需要精确模型⚠️ 可有可无
样本效率✅ 高❌ 低

方法选择决策树

开始:选择角色控制方法
    │
    ├─ 是否需要泛化能力?
    │   ├─ 否 → 轨迹优化 ⭐
    │   └─ 是 → 强化学习 ⭐
    │
    ├─ 是否有精确动力学模型?
    │   ├─ 是 → MPC / 轨迹优化
    │   └─ 否 → 强化学习
    │
    └─ 实时性要求?
        ├─ 毫秒级 → 强化学习(推理)
        └─ 秒级可接受 → MPC

RL 在 3D 角色动画中的应用

DeepMimic 范式

核心思想:用强化学习模仿参考动作(来自动捕或轨迹优化)。

参考轨迹 (动捕/轨迹优化)
         ↓
奖励函数设计(跟踪误差 + 风格项)
         ↓
RL 训练(PPO/TRPO)
         ↓
泛化策略 π

奖励函数设计

$$ r_t = w_{pose} \cdot r_{pose} + w_{vel} \cdot r_{vel} + w_{com} \cdot r_{com} + w_{end} \cdot r_{end} $$

奖励项说明
$r_{pose}$姿势跟踪奖励(关节角度)
$r_{vel}$速度跟踪奖励
$r_{com}$质心跟踪奖励
$r_{end}$终止奖励(摔倒惩罚)

代表工作

  • DeepMimic (2018):开创性工作,模仿多样化动作
  • AMP (2021):无参考姿态的对抗模仿学习
  • ASE (2022):环境交互的技能学习

状态空间设计

典型的角色状态表示

$$ s_t = (q_{root}, \dot{q}{root}, q{local}, \dot{q}{local}, q{ref}, \dot{q}_{ref}) $$

分量说明
$q_{root}$根节点位置和旋转
$\dot{q}_{root}$根节点速度
$q_{local}$局部关节角度
$\dot{q}_{local}$局部关节角速度
$q_{ref}$参考姿势
$\dot{q}_{ref}$参考速度

动作空间设计

类型说明适用场景
关节位置目标输出目标关节角度,用 PD 控制跟踪最常用,平滑稳定
关节力矩直接输出关节力矩精确控制,但难训练
肌肉激活输出肌肉激活信号生物力学仿真

实践建议

训练技巧

技巧说明
课程学习从简单任务开始,逐步增加难度
奖励塑形设计稠密奖励,加速学习
域随机化随机化物理参数,提高泛化性
并行采样多环境并行采样,提高样本效率

常见陷阱

陷阱症状解决方案
奖励黑客智能体找到奖励漏洞仔细设计奖励函数
欠训练策略不稳定、易摔倒增加训练步数
过拟合只在特定场景有效域随机化、增加多样性
稀疏奖励学习缓慢或不收敛奖励塑形、课程学习

相关链接