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 は、シミュレーターの真の状態を使って強化学習で学習した特権情報をもつ教師ポリシーを、カメラのような搭載センサだけを使う生徒ポリシーへと蒸留する標準的な方法である。

重要な理由

学習によるロボットのポリシーの多くは、デモンストレーションやより強力な教師から学習されるが、学習中に見た状態と運用中に到達する状態との差は、失敗の主な原因の 1 つである。DAgger はこの差を埋めるための最も単純でよく理解された手法であり、シミュレーションで学習したスキルを実ロボットに持ち込むための多くの教師・生徒パイプラインの基礎になっている。

主な用途

  • 特権情報をもつシミュレーションのポリシーの、視覚ベースの生徒ポリシーへの蒸留
  • Sim2Real 転移のための脚移動やパルクールの制御器の学習
  • プランナーや人間のエキスパートからの運転やドローンナビゲーションのポリシーの学習
  • 実行中に人間がロボットを修正する対話的な模倣学習
  • 複数の専門スキルのポリシーを 1 つの汎用ポリシーにまとめる圧縮

実際の使われ方

四脚ロボットに障害物を登ったり跳び越えたりさせる学習を行うチームは、まずシミュレーションで強化学習を使っていくつかの専門ポリシーを学習させる。それぞれのポリシーは正確な地形の高さを得られる。次に、深度カメラと固有受容感覚だけを見る単一の視覚ポリシーを学習させる。各ラウンドでは視覚ポリシーがシミュレーション上のロボットを動かし、各ステップで該当する専門ポリシーにそれがとるはずの行動を問い合わせ、観測と専門ポリシーの行動の組を保存する。視覚ポリシーはそれまでに集めたすべてのデータで再学習され、専門ポリシーに十分近づくまでこのサイクルを繰り返す。状態を生成したのは生徒なので、その学習データには、実ロボットで出会うことになるつまずきや異常なカメラの視点が含まれている。

よくある誤解

  • DAgger はデータを増やした行動クローニングである — 決定的な違いは、新しいデータが、エキスパートのデモンストレーションを増やすことではなく、学習者自身が訪れた状態から得られる点にある
  • DAgger には人間のエキスパートが必要である — 任意の状態にラベルを付けられるエキスパートなら何でもよく、ロボティクスでは、シミュレーション内の教師ポリシーやプランナーであることが最も多い
  • データ収集中はエキスパートがロボットを制御しなければならない — DAgger では通常、学習者が行動し、エキスパートはラベル付けだけを行う。それによって学習者自身のミスが表に出る
  • DAgger は最初のラウンドの後はエキスパートを必要としない — 学習のすべてのラウンドで、状態にラベルを付けるためにエキスパートが必要である

知っておくべき人

  • 模倣学習を使うロボット学習の研究者
  • 教師・生徒型の Sim2Real パイプラインを構築するエンジニア
  • 脚移動とドローンの自律化の開発者
  • 模倣学習と強化学習を学ぶ学生

関連技術

  • 行動クローニング(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を有効にしてください。