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 能在同一批資料上執行多個 epoch 的小批次梯度下降。優勢通常是利用學習而得的價值函數,以廣義優勢估計(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)、計算優勢,並執行幾個 epoch 的裁剪更新。工程師會監看回合獎勵、回合長度、策略熵與價值損失,而他們大部分的心力都花在獎勵項、課程設計與領域隨機化上,而不是演算法本身。訓練好的策略通常是一個小型多層感知器或遞迴網路,匯出後以固定的控制頻率在機器人上執行。

常見誤解

  • 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 以瀏覽我們的開源機器人專案。