Open Source Robotics

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

DAgger

  • 又稱: Dataset Aggregation
  • 類別: Learning & autonomy › Learning from demonstration
  • 標籤: imitation-learning, policy-distillation, covariate-shift, robot-learning, sim-to-real

一種模仿學習演算法,反覆執行學習者自己的策略,由專家為它到達的狀態做標註,並在持續擴大的資料集上重新訓練,以避免誤差累積。

定義

DAgger 是 Dataset Aggregation(資料集聚合)的縮寫,是 Stéphane Ross、Geoffrey Gordon 與 J. Andrew Bagnell 於 2011 年提出的模仿學習演算法。它處理的是單純行為複製的主要弱點。只用專家示範訓練的策略,看到的是專家走過的狀態;一旦部署,小失誤就會把它帶到專家從未走過的狀態,在那裡它沒有訓練資料,往往會犯更大的錯誤。訓練狀態與部署狀態之間的這種不匹配稱為共變量偏移(covariate shift),由此產生的誤差會在整個任務過程中不斷累積。

DAgger 藉由在學習者自身的狀態分布上蒐集資料,來修正這種不匹配。它的循環很簡單:用專家資料訓練初始策略;執行該策略(或它與專家的混合)以走訪新的狀態;詢問專家在每個走訪到的狀態下會採取什麼動作;把這些已標註的狀態加入資料集;在整個聚合後的資料集上重新訓練;然後重複。原始論文把這個過程表述為無悔(no-regret)線上學習問題,並證明策略的誤差大致隨任務長度線性成長,而不是像行為複製那樣可能呈二次成長。

實際的要求是一個能在任意狀態下查詢的專家。當專家是規劃器、腳本化的控制器或模擬中的策略時,這很容易;當專家是人時就比較困難,因為人必須為不是自己選擇的狀態做標註。HG-DAgger 等變體只在學習者出錯時才讓人接手。在目前的機器人學習中,DAgger 是把一個以強化學習在真實模擬器狀態上訓練、擁有特權資訊的教師策略,蒸餾成只使用相機等機載感測器之學生策略的標準方法。

為何重要

大多數學習所得的機器人策略,是以示範或更強的教師訓練出來的,而訓練時看到的狀態與部署時到達的狀態之間的落差,是失敗的主要原因之一。DAgger 是彌補這個落差最簡單、也最被透徹理解的方法,許多把模擬中訓練的技能帶到真實機器人上的教師–學生流程,都以它為基礎。

主要應用

  • 把擁有特權資訊的模擬策略蒸餾成以視覺為基礎的學生策略
  • 為模擬到現實的轉移訓練腿足運動與跑酷控制器
  • 從規劃器或人類專家學習駕駛與無人機導航策略
  • 人在執行過程中修正機器人的互動式模仿學習
  • 把多個專項技能策略壓縮成單一通用策略

實際應用

一個訓練四足機器人攀爬與跳越障礙物的團隊,先在模擬中以強化學習訓練幾個專項策略,每個策略都能取得精確的地形高度。接著,他們訓練一個只看深度攝影機與本體感知的單一視覺策略。每一輪都由視覺策略駕駛模擬機器人;在每一步,都向相應的專項策略查詢它會採取的動作,並儲存觀測與專項策略動作這一對資料。視覺策略在目前蒐集到的所有資料上重新訓練,如此循環,直到它與專項策略夠接近為止。由於狀態是由學生產生的,它的訓練資料包含了它在真實機器人上會遇到的踉蹌與異常的相機視角。

常見誤解

  • DAgger 就是用更多資料做行為複製 — 關鍵差異在於,新資料來自學習者自己走訪的狀態,而不是更多的專家示範
  • DAgger 需要人類專家 — 任何能為任意狀態做標註的專家都行,在機器人領域最常見的是模擬中的教師策略或規劃器
  • 蒐集資料時必須由專家控制機器人 — 在 DAgger 中,通常由學習者行動,專家只負責標註,正是這一點讓學習者自己的錯誤顯露出來
  • 第一輪之後 DAgger 就不再需要專家 — 每一輪訓練都必須有專家為狀態做標註

誰需要了解

  • 使用模仿學習的機器人學習研究人員
  • 建立教師–學生模擬到現實流程的工程師
  • 腿足運動與無人機自主開發者
  • 研讀模仿學習與強化學習的學生

相關技術

  • 行為複製(Behavior Cloning)
  • HG-DAgger
  • 策略蒸餾(Policy Distillation)
  • Isaac Gym
  • 強化學習(Reinforcement Learning)

相關術語

  • Imitation Learning
  • Behavior Cloning
  • Teacher-Student Training
  • Reinforcement Learning
  • Sim2Real

相關專案

  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • OpenPI: Physical Intelligence VLA foundation models for general robot control
  • NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
  • Mobile ALOHA: Bimanual mobile manipulation with 4 robot arms on a wheeled base for teleoperation
  • OpenArm: 7DOF humanoid arm for physical AI research in contact-rich environments
  • Koch v1.1 Low-Cost Robot Arm: Open-source 6-DOF robot arm for affordable teleoperation and imitation learning research.

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