Open Source Robotics

精选高质量开源机器人项目、工具和软件,推动机器人社区发展。

Proximal Policy Optimization

  • 又称: PPO, PPO-Clip
  • 类别: Learning & autonomy › RL & simulation
  • 标签: reinforcement-learning, policy-gradient, on-policy, robot-learning, sim-to-real, locomotion

一种同策略强化学习算法,以小的、经过裁剪的步长改进策略,广泛用于在并行仿真中训练机器人运动和控制策略。

定义

近端策略优化(Proximal Policy Optimization,PPO)是一种用于强化学习的策略梯度算法,由 John Schulman 及其在 OpenAI 的同事于 2017 年提出。它训练一个随机策略(通常是神经网络):先用当前策略收集成批的经验,再更新策略,使优势高的动作更有可能被选中。其核心思想是让每次更新都贴近收集数据的那个策略,这使得训练比朴素的策略梯度方法更稳定,又没有 TRPO 等早期信任域方法的复杂性。

PPO 最著名的形式使用裁剪的替代目标。对每个动作,它计算该动作在新策略下与在旧策略下的概率之比。目标函数将这一比值乘以优势估计,但会把比值裁剪到 1 附近的一个小区间内,因此优化器在单次更新中把策略移得太远不会带来任何收益。这使 PPO 能够在同一批数据上运行多个轮次的小批量梯度下降。优势通常借助学习得到的价值函数,用广义优势估计(GAE)计算,因此 PPO 是一种 actor-critic 方法。

PPO 是同策略(on-policy)的:用较旧策略收集的数据在每次更新后都会被丢弃。这使它的样本效率低于 Soft Actor-Critic 等异策略(off-policy)方法,后者会复用经验回放缓冲区中的经验。在机器人领域,在仿真中训练时这一弱点就没那么重要,因为基于 GPU 的仿真器可以并行运行数千个环境,迅速生成大批新数据。PPO 的简单、稳定以及随并行环境良好扩展的特性,使它成为许多从仿真到现实(sim-to-real)运动控制流程中的默认算法。

PPO 的结果对实现细节很敏感。观测和优势的归一化、学习率调度、熵奖励、价值函数裁剪以及网络初始化都会影响性能。机器人团队通常依赖经过充分测试的实现,而不是自己编写,并且会仔细设计奖励塑形和随机化仿真参数,因为 PPO 会利用奖励或仿真器中的任何缺陷。

为何重要

在真实足式机器人、人形机器人和灵巧手上取得的强化学习成果中,有很大一部分背后用的是 PPO,因为它能容忍很宽的超参数范围,并且能随大规模并行仿真良好扩展。理解它是阅读或复现大多数从仿真到现实的机器人学习工作的一项实际前提。

主要应用

  • 足式运动 — 在仿真中为四足和人形机器人训练行走和奔跑策略
  • 灵巧操作 — 用多指手学习手内物体重定向
  • 无人机控制 — 学习敏捷飞行和竞速策略
  • 全身控制 — 训练同时协调许多关节的策略
  • 语言模型微调 — PPO 也用于基于人类反馈的强化学习

实际应用

典型的团队会在 Isaac Lab 或 MuJoCo 等 GPU 仿真器中定义机器人及其观测、动作和奖励,启动数千个并行环境,并用 rsl_rl、Stable-Baselines3 或 skrl 等现有库训练 PPO 策略。每次迭代从每个环境收集一段短的展开(rollout),计算优势,并运行几个轮次的裁剪更新。工程师监测回合奖励、回合长度、策略熵和价值损失,他们的大部分精力花在奖励项、课程设计和域随机化上,而不是算法本身。训练好的策略通常是一个小型多层感知机或循环网络,被导出后以固定控制频率在机器人上运行。

常见误解

  • PPO 是样本效率最高的强化学习(RL)算法 — 它是同策略的,会丢弃旧数据;它的优势在于稳定性以及随并行仿真的扩展能力
  • PPO 开箱即用 — 性能在很大程度上取决于奖励设计、归一化和其他实现细节
  • PPO 只适用于离散动作 — 它通过高斯策略处理连续动作空间,在机器人领域也主要以这种方式使用
  • 裁剪保证单调改进 — 裁剪是一种抑制大幅更新的启发式方法,而不是形式化的信任域保证

谁需要了解

  • 在仿真中训练策略的机器人学习工程师
  • 研究足式和人形机器人的运动研究人员
  • 学习深度强化学习的学生
  • 构建训练环境的仿真工程师

相关技术

  • 信任域策略优化(Trust Region Policy Optimization,TRPO)
  • 广义优势估计(Generalized Advantage Estimation,GAE)
  • Soft Actor-Critic
  • Isaac Lab
  • MuJoCo
  • 域随机化(Domain Randomization)

相关术语

  • Reinforcement Learning
  • Soft Actor-Critic
  • Domain Randomization
  • Sim2Real

相关项目

  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • MuJoCo: DeepMind physics engine for robotics and ML research
  • PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
  • OpenPI: Physical Intelligence VLA foundation models for general robot control
  • Microduck: Pollen Robotics' $399 walking duck robot: open-source software, closed hardware
  • Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim

视频

  • Proximal Policy Optimization Explained: Edan Meyer

维基百科

  • 近端策略优化

本网站需要 JavaScript 才能正常运行。请启用 JavaScript 以浏览我们的开源机器人项目。