0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

模倣学習におけるシミュレータの役割

0
Posted at

背景

強化学習ではシミュレータが不可欠である(数百万エピソードの試行錯誤をsim上で行う)。一方、模倣学習は「人間のデモを真似る」アプローチであり、実機のデモデータがあれば訓練できるため、シミュレータは不要ではないかという認識があった。

実際、sim-to-real gap(物理・視覚の差異)により、simで訓練したポリシーが実機で動かないケースも多い。そこらへんを調査していく。

1. シミュレータの2つの目的

1. 評価          ← 最も重要な用途
2. 合成データ生成  ← データ収集コストの削減

また、simを使う際に発生するSim-to-Real Gapへの対策として、ドメインランダム化等の手法が併用される(セクション4)。

2. 目的1: 評価

2.1 なぜsimで評価するのか

実機での評価は遅く、高コスト:

  • 1エピソード = ロボットを動かす → 成功/失敗を記録 → オブジェクトを手で戻す → 次のエピソード
  • 1回あたり数分 × 100回 = 数時間。人間が付きっきり。

simでの評価は高速・自動・安全:

  • 1エピソードが数秒で完了。自動リセット。無人で実行可能。
  • GPU加速により実機の10〜15倍の速度で評価可能(SimplerEnvの例)。
  • 危険な動きがあっても物理的な損害なし。

2.2 simで評価できること

  • 成功率の計測: 数百回のエピソードを自動実行し、成功率を定量的に計測
  • チェックポイント比較: 訓練途中の複数チェックポイントを自動評価し、最良のものを選択
  • ロバスト性の評価: オブジェクトの配置をランダムに変えて、多様な条件での性能を確認
  • 失敗モード分析: どのような状況で失敗するかをsim上で安全に特定

2.3 simの評価結果は実機と一致するのか

SIMPLERの研究(CoRL 2024)では、RT-1、RT-1-X、Octo等の実世界ポリシーを1500以上のsim-realペアで評価し、simでの相対的な性能順位(どのポリシーが優れているか)が実機と一致することを実証している。

絶対的な成功率(例: sim 85% vs 実機 70%)はsimと実機で異なるが、ポリシー間の優劣関係は保持される。これにより、simでのチェックポイント選択やポリシー比較が実用的に意味を持つ。

参考:

2.4 実際の活用例

プロジェクト 評価方法
Isaac-GR00T 5つ以上のsimベンチマーク(LIBERO, SimplerEnv, BEHAVIOR等)でServer-Client評価
SmolVLA (HuggingFace) 実機データのみで訓練 → LIBERO/Meta-Worldで評価(87.3%達成)

最も実用的なパターンは実機データで訓練 → simで評価 → 実機デプロイ

3. 目的2: 合成データ生成

3.1 なぜ合成データが必要か

模倣学習は大量のデモデータが必要だが、実機でのテレオペレーションによるデータ収集は時間・コストが膨大。合成データにより少数の実機デモから大量の訓練データを生成し、データ収集コストを劇的に削減できる。

3.2 2つのアプローチ

合成データ生成には大きく分けて2つのアプローチがある:

アプローチA: 物理シミュレーションベース

物理エンジン上で少数のデモを再現し、オブジェクトの位置・向きを変えて軌跡を再計算する。物理的に正確だが、ロボットの3Dモデルとsim環境の構築が必要。

少数の人間デモ → 物理シミュレータで再現 → 条件を変えて大量の軌跡を再生成

アプローチB: 世界モデル(AI生成)ベース

AIが「別の状況で同じタスクをやったらどう見えるか」の映像を生成し、そこからアクション軌跡を逆推定する。物理エンジンは不要だが、AIの予測精度に依存する。

少数の人間デモ → AIが映像を生成 → 映像からアクション軌跡を逆推定

3.3 両アプローチの比較

物理シミュレーションベース 世界モデルベース
手法 sim上で条件を変えて軌跡を再計算 AIが映像を生成→軌跡を逆推定
精度 物理的に正確 AIの予測精度に依存(近似)
多様性 位置・向きの変化 環境・照明・見た目も変えられる
必要なもの ロボット3Dモデル + 物理エンジン GPUとAIモデル
物理エンジン 必要 不要

3.4 実際の活用例

プロジェクト アプローチ 手法 実績
Isaac-GR00T (GR00T-Mimic) 物理sim DexMimicGen + Isaac Sim 780K軌跡/11時間。実データのみ比+40%性能向上
Isaac-GR00T (GR00T-Dreams) 世界モデル DreamDojo + Cosmos-Predict2.5 GR00T N1.5を36時間で開発(手動なら3ヶ月)
SaRC (RSS 2025) 物理sim + 実機混合 MimicGen + RoboCasa 実機データのみ45% → 混合訓練81%(+36%向上)
Real2Render2Real (CoRL 2025) 物理sim 3D Gaussian Splatting + IsaacLab 1デモ→1000合成デモ。150回テレオペ相当の性能

3.5 合成データの使われ方

フェーズ 合成データの使用
事前学習 大量使用(Isaac-GR00Tのデータピラミッドの中間層)
ファインチューニング オプション(データ不足時の補助。主流は実機データ)

参考:

4. Sim-to-Real Gap への対策

simを評価や合成データ生成に使う際、sim-to-real gap(simと実機の差異)が問題になる。以下の対策手法が実装されている。

4.1 画像のドメインランダム化

訓練時に画像にランダムな変化を加え、多様な視覚条件への耐性を付ける。

手法 目的
Color Jitter(明るさ、コントラスト、彩度、色相の変化) 照明変動への耐性
Background Noise(マスク領域にランダムノイズ追加) 背景の一般化
Masked Color Tint(特定オブジェクトにランダム色付与) オブジェクト色の多様化

4.2 状態入力のロバスト化

手法 目的
State Dropout(状態入力をランダムにドロップ) 状態が欠損しても動けるように
State Additive Noise(ガウシアンノイズ加算) センサーノイズへの耐性

4.3 アクション表現の工夫

絶対的な関節角度ではなく、現在状態からの差分(相対アクション)で表現することで、sim/real間の状態分布の違いを軽減する。

絶対アクション: action = [関節1の目標角度, ...]    (sim/realで基準が異なると問題)
相対アクション: action = [関節1の変化量, ...]      (現在状態からの差分なのでgapが小さい)

参考: Isaac-GR00T N1.5→N1.6 での主要改善点

4.4 sim画像のフォトリアリスティック変換

simのCGっぽい画像をリアルな写真のように変換することで、視覚的なgapを削減する。主に画像入力を使うVLAモデル向け。

参考: Cosmos-Transfer2.5。ロボットナビゲーションで成功率54%→91%に向上。

4.5 段階的なドメイン拡大

いきなり多様な環境で動かすのではなく、以下の段階を踏む:

Step 1: シーンを固定(照明・物体配置・初期姿勢を統一)
Step 2: 固定環境でデータ収集・ファインチューニング
Step 3: 動作を確認できたら、少しずつ条件を変化させる
Step 4: 多様な条件のデータを追加して再訓練

5. 結論

模倣学習において、simでの直接訓練(simデータのみでポリシーを学習→実機デプロイ)はsim-to-real gapにより困難。しかしシミュレータは以下の2つの目的で大きな価値がある:

目的1: 評価の高速化・自動化

実機評価の数分/エピソードに対し、simなら数秒で完了。数百エピソードの自動評価により、チェックポイント選択・ポリシー比較・失敗分析が効率的に行える。simでの相対的な性能順位は実機と一致することが実証されている。

目的2: 合成データ生成

物理シミュレーションベース(MimicGen等)と世界モデルベース(DreamDojo/Cosmos等)の2つのアプローチにより、少数の実機デモから大量の訓練データを生成できる。事前学習のデータ収集コストを劇的に削減する。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?