Open Source Robotics

精選高品質的開源機器人專案、工具與軟體,推動機器人社群向前發展。

Inverse Reinforcement Learning

  • 又稱: IRL, inverse RL
  • 類別: Learning & autonomy › Learning from demonstration
  • 標籤: reward-learning, imitation-learning, reinforcement-learning, robot-learning, learning-from-demonstration

學習能解釋專家示範行為的獎勵函數,再以強化學習或規劃訓練一個最佳化該獎勵的策略。

定義

逆強化學習(Inverse reinforcement learning,IRL)把一般的強化學習問題反過來。學習者不是拿到一個獎勵並被要求找出好的策略,而是拿到良好行為的示範,並被要求找出一個獎勵函數,使該行為在這個獎勵下是最佳的或接近最佳。接著用學到的獎勵來訓練策略,有時是在新的情境中或在不同的機器人上,其前提是:比起示範的動作,獎勵更能捕捉任務的意圖。Andrew Ng 與 Stuart Russell 於 2000 年對這個問題提出了早期的形式化論述。

這個問題是不適定的:許多獎勵函數都能解釋同樣的行為,包括處處為零的獎勵。各種方法以不同方式化解這種歧義。學徒學習(apprenticeship learning)讓學習者的期望特徵計數與專家的相符。最大熵 IRL 由 Brian Ziebart 及其同事於 2008 年提出,將專家建模為以與軌跡獎勵的指數成正比的機率選擇軌跡,這提供了定義良好的概似,並能容忍不完美的示範。對抗式方法訓練一個判別器來分辨專家資料與策略自身的資料,並把它的輸出當作訓練訊號;GAIL 這麼做時不回傳明確的獎勵,而 AIRL 則被設計成能還原出獎勵。

傳統的 IRL 在更新獎勵與在該獎勵下求解完整的強化學習問題之間交替,成本很高。因此實際的機器人系統常使用較簡單的獎勵學習方案,例如以與示範影格的相似度為基礎的獎勵,或在成功範例上訓練的分類器,同時保留從範例推導出訓練訊號這個核心概念。在控制理論中,從觀測到的最佳軌跡還原成本函數這個密切相關的問題,稱為逆最佳控制。

為何重要

為機器人任務手寫獎勵既慢又容易出錯,而策略會鑽獎勵與預期行為之間的任何漏洞。IRL 改從示範中取得獎勵,這種獎勵能延續到照抄示範動作會失敗的條件下,而且它把模仿學習與強化學習連結了起來。

主要應用

  • 從示範為操作任務學習獎勵
  • 為自駕車建立駕駛人與行人的行為模型
  • 從專家路徑學習導航成本地圖
  • 在人機互動中推斷人的偏好
  • 為真實機器人上的強化學習提供訓練獎勵

實際應用

一個團隊希望機器手臂像人一樣擦桌子。他們錄製了一組遙控操作示範,接著與策略一起訓練一個獎勵模型:判別器學習為狀態轉換評分,判斷它像不像專家,而策略先在模擬中以強化學習訓練以最大化該分數,再到機器人上微調。為了防止策略鑽學到的獎勵中的漏洞,他們對判別器做正則化,加入一個代表任務完成的小型手寫項,並用肉眼檢視執行結果(rollout)。之後當他們把任務移到一張高度不同的桌子時,學到的獎勵被用來為調整後策略的執行結果評分。

常見誤解

  • IRL 與行為複製相同 — 行為複製直接複製動作,而 IRL 先還原一個獎勵,再訓練策略去最佳化它
  • 還原出的獎勵就是真正的獎勵 — 許多獎勵都能解釋相同的示範,IRL 回傳的是在其自身假設下擬合資料的一個
  • IRL 需要完美的示範 — 早期的表述假設專家是最佳的,但最大熵方法與後來的方法能容忍有雜訊或次佳的示範

誰需要了解

  • 機器人學習研究人員
  • 設計獎勵函數的強化學習工程師
  • 自動駕駛行為建模團隊
  • 人機互動研究人員

相關技術

  • 最大熵 IRL(Maximum Entropy IRL)
  • 生成對抗模仿學習(Generative Adversarial Imitation Learning,GAIL)
  • 對抗式逆強化學習(Adversarial Inverse Reinforcement Learning,AIRL)
  • 逆最佳控制(Inverse Optimal Control)
  • 學徒學習(Apprenticeship Learning)

相關術語

  • Reinforcement Learning
  • Imitation Learning
  • Behavior Cloning
  • DAgger
  • Residual Reinforcement Learning

相關專案

  • 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

影片

  • CS 285: Lecture 20, Inverse Reinforcement Learning, Part 1: RAIL
  • Inverse Reinforcement Learning Explained: Edan Meyer

本網站需要 JavaScript 才能正常運作。請啟用 JavaScript 以瀏覽我們的開源機器人專案。