Abstract
- ロボット学習は柔軟で汎用的なロボットシステムの可能性を解放する大きな可能性を持つが、データ、汎化、堅牢性の面で課題がある
- 本論文では、汎用ロボットポリシー(ロボット基盤モデル)がこれらの課題にどのように対処できるかを議論
- 事前学習済みVLM(Vision-Language Model)の上に構築された新しいFlow Matchingアーキテクチャを提案し、インターネット規模の意味知識を継承
- 単腕・双腕ロボット、移動マニピュレータなど複数の器用なロボットプラットフォームからの大規模かつ多様なデータセットで学習
- 事前学習後のゼロショット性能、言語指示追従、新しいスキル獲得(ファインチューニング)を評価
- 洗濯物たたみ、テーブル清掃、箱の組み立てなど多様なタスクをカバー
I. Introduction
| 項目 | 内容 |
|---|---|
| 背景 | 人間の知能が機械を上回る軸は「多様性」(多様なタスクを物理環境で遂行する能力) |
| VLMの限界 | 大規模言語・視覚言語モデルは物理的世界に真に位置づけられておらず、物理的相互作用の理解は抽象的記述に基づく |
| 汎用ロボットポリシーの利点 | データ不足の解消(他タスク・他ロボット・非ロボットデータの活用)、堅牢性・汎化の向上 |
| 課題 | 大規模でなければ恩恵が得られない、複雑な物理シーンに対応できるアーキテクチャが必要、適切な学習レシピが必要 |
| π₀の特徴 | VLM事前学習を活用、クロスエンボディメント学習、アクションチャンキング+Flow Matching(最大50Hzの制御)、新しいaction expertの導入 |
| 学習レシピ | 事前学習/事後学習(pre-training/post-training)の分離(LLMと同様のアプローチ) |
| 評価 | 10,000時間以上のロボットデータで事前学習し、洗濯物たたみ、テーブル片付け、食器を電子レンジに入れる、卵のパッキング、箱の組み立て、食料品の袋詰めなど多様なタスクでファインチューニング |
II. Related Work
| 関連分野 | 説明 |
|---|---|
| Vision-Language-Action (VLA) モデル | 先行研究(RT-2等)はVLMをファインチューニングしてロボット制御に使用、自己回帰的離散化でアクションを表現。π₀は高頻度アクションチャンク(最大50Hz)を扱うためFlow Matchingを採用 |
| 拡散モデル | 画像生成で拡散とLLMを組み合わせる研究が多数存在。π₀はTransfusion(Zhou et al., 2024)の概念を取り入れ、Flow Matchingロスで個別のシーケンス要素を学習。Liu et al. (2024)と同様に、拡散トークン用の別の重みセットを使用 |
| 大規模ロボット学習 | 初期は自己教師あり/自律的データ収集(把持や押しなど単純タスク)。最近は高品質データセットが収集されているが、多くは物体移動や基本的な家具操作に限定 |
| データ規模 | 本研究は約10,000時間のデモンストレーションを使用(OXEデータセットと組み合わせ)。これまでのロボット学習実験で最大規模 |
| タスクの複雑さ | 先行研究(靴紐結び、エビ調理など)を超え、数十分の長いタスク(物理的器用さと組み合わせ的複雑さの両方)を実証 |
π₀をベースにした後続研究
π₀のアーキテクチャは後続の研究で広く活用されています:
| 研究 | 拡張内容 |
|---|---|
| ForceVLA | π₀のVLM処理後にFVLMoE(Force-aware MoE)を追加し、6軸力センシングを統合。接触を多用するタスクで平均23.2%の成功率向上 |
| OmniVTLA | π₀をベースにデュアルパス触覚エンコーダ(ViT + SA-ViT)を追加。視覚ベースと力ベースの触覚センサの両方に対応 |
| TA-VLA | π₀のデコーダにトルクアダプタを追加。トルク履歴を単一トークンに集約し、将来トルク予測を補助タスクとして導入 |
III. Overview
- 事前学習ミクスチャ: 自社の器用な操作データセット(7つのロボット構成、68タスク)とOXEデータセット全体(22ロボット)を組み合わせ
- 事前学習フェーズ: タスク名とセグメントアノテーション(約2秒の細粒度ラベル)を含む多様な言語ラベルを使用。広範な能力と汎化を持つが、特定タスクに特化していないベースモデルを訓練
- 事後学習フェーズ: 小〜中規模の高品質なタスク特化データで効率的にファインチューニング。複雑なタスク(洗濯物たたみ、モバイルマニピュレーション)には大規模データを使用
- モデル基盤: PaliGemma VLMをベースに使用(比較的小さく実時間制御に有用)。任意のVLMと互換性あり
IV. The π₀ Model
| コンポーネント | 説明 |
|---|---|
| アーキテクチャ | 言語モデルTransformerバックボーンが主体。late fusion VLMレシピに従い、画像エンコーダがロボットの画像観測を言語トークンと同じ埋め込み空間にマッピング |
| 入出力 | 観測 o_t = [I_t^1, ..., I_t^n, l_t, q_t](複数RGB画像、言語コマンド、固有受容状態)。アクションチャンク A_t = [a_t, ..., a_{t+H-1}](H=50ステップ)を出力 |
| Flow Matching | 条件付きFlow Matchingで連続的なアクション分布をモデル化。高精度かつマルチモーダルな表現が可能。線形ガウス(最適輸送)確率パスを使用 |
| Action Expert | VLMバックボーンとは別の重みセット(約300Mパラメータ)。アクションと状態トークン専用。2要素のMixture of Expertsに類似 |
| 推論 | ノイズ A_t^0 ~ N(0, I) から開始し、学習したベクトル場を積分(10ステップのフォワードオイラー積分、δ=0.1) |
| ベースモデル | PaliGemma(30億パラメータ)+ action expert(3億パラメータ)= 合計33億パラメータ |
| π₀-small | VLM初期化なしの470Mパラメータベースラインモデル(アブレーション実験用) |
Flow Matchingの詳細
条件付きFlow Matchingロス関数:
L_τ(θ) = E_{p(A_t|o_t), q(A_t^τ|A_t)} ||v_θ(A_t^τ, o_t) - u(A_t^τ|A_t)||²
ここで、τ ∈ [0,1] はFlow Matchingのタイムステップ。線形ガウス(最適輸送)確率パスを使用:
q(A_t^τ|A_t) = N(τ·A_t, (1-τ)·I)
学習時は、ランダムノイズ ε ~ N(0, I) をサンプリングし、ノイズ付きアクション A_t^τ = τ·A_t + (1-τ)·ε を計算。ネットワーク出力 v_θ(A_t^τ, o_t) がデノイジングベクトル場 u(A_t^τ|A_t) = ε - A_t と一致するよう学習。
Action Expertの設計根拠
Transfusion(Zhou et al., 2024)に基づき、拡散スタイル(Flow Matching)のロスを個別シーケンス要素に適用。Liu et al. (2024)と同様に、ロボット固有(アクションと状態)トークン用に別の重みセットを使用することで性能が向上することを発見。これは2要素のMixture of Expertsに類似しており、画像・テキスト入力は第1要素(VLMバックボーン)へ、ロボット固有入出力は第2要素(action expert)へルーティングされる。
V. Data Collection and Training Recipe
V-A. Pre-training and post-training
| 項目 | 詳細 |
|---|---|
| 事前学習ミクスチャ | OXE(9.1%)、Bridge v2、DROID + 自社データ(903Mタイムステップ:単腕106M、双腕797M) |
| 自社データ | 68タスク(各タスクは複雑な行動の集合。例:「bussing」は様々な皿・カップ・カトラリーをビンに、ゴミをゴミ箱に入れる) |
| データの重み付け | タスク-ロボットの組み合わせを n^0.43 で重み付け(過剰表現された組み合わせを下方修正) |
| アクション次元 | 最大ロボット(18次元:6DoF腕×2 + グリッパー×2 + モバイルベース + トルソー)に合わせ、小さいロボットはゼロパディング |
| 事後学習データ | タスクにより5〜100時間以上と異なる |
V-B. Language and high-level policies
- 意味推論と高レベル戦略が必要な複雑タスク(テーブル片付けなど)には、高レベルVLMポリシーがタスク分解を支援
- SayCanに類似したアプローチ:「テーブルを片付ける」→「ナプキンを拾う」「ナプキンをゴミ箱に捨てる」などの中間サブタスクに分解
V-C. Robot system details
| ロボット | 仕様 |
|---|---|
| UR5e | 平行グリッパー付き腕、2カメラ、7次元アクション空間 |
| Bimanual UR5e | 2台のUR5e、3カメラ、14次元アクション空間 |
| Franka | 2カメラ、8次元アクション空間 |
| Bimanual Trossen | ALOHA構成の2つの6DoF腕、3カメラ、14次元アクション空間 |
| Bimanual ARX/AgileX | 2つの6DoF腕、3カメラ、14次元アクション空間 |
| Mobile Trossen/ARX | Mobile ALOHAベース、2つの6DoF腕+非ホロノミックベース、3カメラ、16次元アクション空間 |
| Mobile Fibocom | 2つの6DoF ARX腕+ホロノミックベース、3カメラ、17次元アクション空間 |
VI. Experimental Evaluation
VI-A. Evaluating the base model
| 評価タスク | 説明 |
|---|---|
| Shirt folding | Tシャツをたたむ |
| Bussing easy | テーブル片付け(ゴミとお皿を正しい容器に分別)、7オブジェクト |
| Bussing hard | より困難な片付け(カトラリーがゴミの上に置かれている等)、12オブジェクト |
| Grocery bagging | 食料品の袋詰め |
| Toast out of toaster | トースターからトーストを取り出す |
| 比較手法 | 結果 |
|---|---|
| π₀ (700k steps) | 全タスクで最高性能、シャツたたみと簡易片付けでほぼ完璧 |
| π₀ (160k steps, compute parity) | ベースラインを全て上回る。160kステップはOpenVLA(160k)、Octo(320k)と同等またはそれ以下の学習ステップ数 |
| π₀-small | OpenVLA, Octoを上回る |
| OpenVLA | 7Bパラメータ、元はOXEで学習。π₀の学習データ全体で再学習したが、アクションチャンク非対応のため苦戦。UR5eデータのみでファインチューニングしたバージョンも試したがπ₀には及ばず |
| Octo | 93Mパラメータ、拡散プロセスでアクション生成をサポート。π₀と同じデータで学習したが、表現力が限定的 |
比較手法の詳細:
- OpenVLA: 自己回帰的離散化アーキテクチャを使用し、アクションチャンクをサポートしていないため、高頻度の器用なタスクで苦戦
- Octo: VLAではないがアクションチャンクをサポート。比較的小さいパラメータ数のため表現力に限界
- 公平な比較のため、OpenVLAとOctoは同じデータミクスチャで学習。時間的制約により、全モデルを同一エポック数で学習できなかったため、π₀の160kステップ版(compute parity)も評価
結論: VLM事前学習とFlow Matching/拡散による複雑分布モデリングの組み合わせが重要
VI-B. Following language commands
| 評価タスク | 内容 |
|---|---|
| Bussing | 指示に従い正しいオブジェクトを拾い正しい容器に配置(30指示/エピソード) |
| Table setting | ビンからアイテムを取り出しテーブルをセット(20指示/エピソード) |
| Grocery bagging | 指定された食料品を袋詰め(14指示/エピソード) |
| 条件 | 説明 |
|---|---|
| flat | タスク説明のみ(「食料品を袋詰めする」) |
| human | 人間専門家からの中間ステップ指示 |
| HL | 高レベルVLMからの自律的指示 |
結果: π₀はπ₀-smallより言語追従精度が大幅に向上。VLM初期化により言語理解能力が向上し、高レベルガイダンスによる自律性能向上に直結
VI-C. Learning new dexterous tasks
| タスク | 難易度 | 説明 |
|---|---|---|
| UR5e stack bowls | Easy | 4つのボウルを重ねる(事前学習のbussingに類似) |
| Towel folding | Easy | タオルをたたむ(事前学習のシャツたたみに類似) |
| Tupperware in microwave | Medium | 電子レンジを開け、容器を入れ、閉める(電子レンジは事前学習に無し) |
| Paper towel replacement | Hard | ペーパータオルロールを交換(事前学習に類似アイテム無し) |
| Franka items in drawer | Hard | 引き出しを開け、アイテムを入れ、閉める(Frankaでの類似タスク無し) |
| 比較手法 | 結果 |
|---|---|
| π₀ | 全般的に最高性能 |
| ACT, Diffusion Policy | スクラッチ学習では健闘するが、事前学習のメリットを活かせない |
| OpenVLA, Octo | 大幅に劣る |
結論: 事前学習は特に事前学習データに類似したタスクで大きな改善をもたらし、事前学習モデルは非事前学習モデルを最大2倍上回る
VI-D. Mastering complex multi-stage tasks
| タスク | 説明 | 事前学習有無 |
|---|---|---|
| Laundry folding | ランダムなくしゃくしゃ状態から衣類をたたむ | 有 |
| Mobile laundry | モバイルロボットで洗濯物たたみ | 有 |
| Dryer unloading | 乾燥機から洗濯物をハンパーに移す | 有 |
| Table bussing | 多様な未知オブジェクトの片付け、複雑な器用動作が必要 | 無 |
| Box building | 平らな段ボール箱を組み立て | 無 |
| To-go box | 食品を容器に詰めて蓋を閉める | 無 |
| Packing eggs | 6個の卵を卵パックに詰めて蓋を閉める | 無 |
結果:
- π₀は全タスクで50%以上のスコアを達成
- 特に難しいタスクで事前学習の恩恵が大きい
- 事前学習+ファインチューニングの組み合わせが最も効果的
VII. Discussion, Limitations and Future Work
| 項目 | 内容 |
|---|---|
| 貢献 | VLM事前学習とFlow Matchingを組み合わせたロボット基盤モデルフレームワーク。10,000時間の器用操作データ(7ロボット構成、68タスク)+ OXE/DROID/Bridgeで事前学習。20以上のタスクでファインチューニング評価 |
| LLMとの類似性 | 事前学習で「知識」を獲得、事後学習でその知識の活用方法を学習。高品質データのみでは回復動作を学習できず、事前学習データのみでは流暢な戦略を学習できない |
| 制限事項 | 事前学習データセットの最適な構成は未解明。全タスクが完璧に動作するわけではない。どの程度・どの種類のデータで完璧な性能が得られるか予測困難 |
| 今後の課題 | 多様なデータ(異なるタスク・ロボット)を組み合わせた際の正の転移の程度を理解。自動運転、ナビゲーション、脚歩行ロボットなど異なるドメインへの汎用性の検証 |
Acknowledgements
- Laura Smith, Dibya Ghoshによる論文へのフィードバックと図・動画作成の支援
- Philip Clark, Kelly Sims, Saunaz Moradiによる執筆へのフィードバック
- Evan Pokrandt, Joakim Keussen, Dan Philibin, Eitan Penner, Adam Lisagor, Greg Millerによるイラスト・デザイン・動画作成の支援
- Lili Yuによる技術的議論
- ロボット操作データを収集した全てのロボットオペレーターへの感謝
- プロジェクトウェブサイト: https://physicalintelligence.company/blog/pi0
- オープンソース実装: https://github.com/Physical-Intelligence/openpi
主要な参考文献
本論文で引用されている主要な文献:
| 分野 | 主要文献 |
|---|---|
| VLA | RT-2 (Brohan et al., 2023), OpenVLA (Kim et al., 2024) |
| 拡散モデル/Flow Matching | Diffusion Policy (Chi et al., 2023), Flow Matching (Lipman et al., 2022, Liu, 2022) |
| VLMバックボーン | PaliGemma (Beyer et al., 2024), Gemma (Team et al., 2024) |
| ロボット学習データセット | OXE (Collaboration et al., 2023), DROID (Khazatsky et al., 2024), Bridge v2 (Walke et al., 2023) |
| 器用操作 | ACT (Zhao et al., 2023), Mobile ALOHA (Fu et al., 2024), ALOHA Unleashed (Zhao et al., 2024) |
| Transformer+拡散の統合 | Transfusion (Zhou et al., 2024), DiT (Peebles & Xie, 2023) |
| 高レベルポリシー | SayCan (Ahn et al., 2022) |
| 汎用ロボット学習 | Octo (Team et al., 2024b) |
Appendix A
A-A. Contributions
| 貢献領域 | 担当者 |
|---|---|
| データ&オペレーション | Noah Brown, Michael Equi, Chelsea Finn, Niccolo Fusai, Lachy Groom, Liyiming Ke, Suraj Nair, Lucy Shi, Anna Walling |
| 評価実験 | Kevin Black, Michael Equi, Chelsea Finn, Brian Ichter, Liyiming Ke, Adrian Li-Bell, Suraj Nair, Karl Pertsch, Lucy Shi |
| モデル設計 | Kevin Black, Brian Ichter, Sergey Levine, Karl Pertsch, Lucy Shi, Quan Vuong |
| 事後学習 | Michael Equi, Chelsea Finn, Liyiming Ke, Adrian Li-Bell, Suraj Nair, Lucy Shi |
| 事前学習 | Kevin Black, Danny Driess, Brian Ichter, Sergey Levine, Karl Pertsch, Lucy Shi, Quan Vuong |
| ロボットハードウェア | Noah Brown, Adnan Esmail, Chelsea Finn, Tim Jones, Mohith Mothukuri |
| ロボットソフトウェア | Karol Hausman, Szymon Jakubczak, Sergey Levine, James Tanner, Haohuan Wang |
| 学習インフラ | Kevin Black, Michael Equi, Sergey Levine, Adrian Li-Bell, Suraj Nair, Quan Vuong, Haohuan Wang, Ury Zhilinsky |
| 執筆&イラスト | Kevin Black, Chelsea Finn, Lachy Groom, Karol Hausman, Brian Ichter, Sergey Levine, Quan Vuong |
A-B. Model Architecture Details
| 項目 | 詳細 |
|---|---|
| ベース設計 | PaliGemma VLMに基づく。ロボット固有トークン用の入出力プロジェクション、Flow Matchingタイムステップ用MLP、action expert用の第2の重みセットを追加 |
| 追加入出力 | 標準PaliGemmaは画像列 + 言語プロンプトを入力。固有受容状態 q_t を線形射影で追加。ノイズ付きアクションチャンク A_t^τ をトークンとして入力(H=50トークン) |
| Flow Matchingタイムステップの組み込み | ノイズ付きアクションをMLPでTransformer埋め込み次元にマッピング。式: W3 · swish(W2 · concat(W1 · a_t'^τ, φ(τ))) (φは正弦波位置エンコーディング) |
| アテンションマスク | ブロックワイズ因果アテンションマスク(3ブロック): (1) 画像+言語、(2) ロボット状態、(3) ノイズ付きアクション。各ブロック内は双方向アテンション、ブロック間は未来へのアテンション禁止 |
| Action Expert | 2セットの重みを持つ単一Transformer。画像+言語はVLMバックボーン(PaliGemma初期化)へ、状態+アクションはaction expertへルーティング |
| VLMバックボーン構成 | Gemma 2Bベース: width=2048, depth=18, mlp_dim=16384, num_heads=18, num_kv_heads=1, head_dim=256 |
| Action Expert構成 | width=1024, mlp_dim=4096 → 約300Mパラメータ |
| タイムステップサンプリング | Beta分布を使用し、低いタイムステップ(高ノイズ)を強調。p(τ) = Beta((s-τ)/s; 1.5, 1)、s=0.999。高タイムステップはサンプルしない |
A-C. Non-VLM Baseline Architecture (π₀-small)
| 項目 | π₀-small の特徴 |
|---|---|
| パラメータ数 | 約470M |
| 言語エンコーディング | DistilBERTを使用(言語モデルバックボーンなしのため) |
| アーキテクチャ | action expertがobservationエンコーダ出力にクロスアテンション(従来のencoder-decoder Transformer風) |
| 画像エンコーダ | 小さい事前学習済みViT(R26-S-32 ResNet-ViTハイブリッド) |
| ViT重み共有 | 画像エンコーダ間で重み非共有 |
| 事前学習 | observation用Transformerバックボーンはインターネットデータで事前学習なし |
| action expert | DiTアーキテクチャ使用、AdaLN-Zeroレイヤーでタイムステップτを組み込み |
A-D. Inference
| 項目 | 詳細 |
|---|---|
| 推論手順 | 1. 各画像をエンコード 2. 観測トークンに対するフォワードパス 3. 10ステップのFlow Matching(観測のkey/valueはキャッシュ) |
| 推論時間(RTX 4090) | 画像エンコーディング: 14ms、prefix(VLM): 32ms、prefill(action expert): 27ms、Flow Matching(10ステップ): 13ms、合計: 約86ms。モバイルロボットではWi-Fi経由でオフボード推論のため追加のネットワークレイテンシあり |
| アクション実行 | Hステップのアクションチャンクを一度に生成。temporal ensemblingは性能低下のため不採用、オープンループで実行 |
| 推論頻度 | 20Hz ロボット(UR5e, Franka): 0.8秒ごと(16アクション後)、50Hz ロボット: 0.5秒ごと(25アクション後) |
A-E. Evaluation Details
ベースモデル評価のスコアリング
| タスク | スコアリング方法 |
|---|---|
| Shirt folding | 成功/失敗。袖を折り込み、縦に1回半分に折れば成功。4枚の小さいTシャツ + 1枚の中サイズTシャツ、各2試行、最大15000ステップ(約5分) |
| Bussing easy | 7点満点。7オブジェクトを正しく分別すると各1点 |
| Bussing hard | 12点満点。12オブジェクト(箸がゴミの上等の困難な配置含む)を正しく分別すると各1点 |
| Grocery bagging | 7点満点。7つの食料品を袋に入れると各1点 |
| Toast out of toaster | 4点満点。各トースト: トースターから取り出し1点、皿に置き1点 |
言語指示追従のスコアリング
| タスク | スコアリング方法 |
|---|---|
| Bussing | 12オブジェクト、約30指示/エピソード。正しいオブジェクトを正しい容器に配置 |
| Table setting | 7オブジェクト、約20指示/エピソード。食器・カトラリー・ナプキンを言語仕様に従い配置 |
| Grocery bagging | 7オブジェクト、約14指示/エピソード。コーヒー豆、大麦、マシュマロ、キャットフード、スパゲティ、海苔、アーモンドを袋詰め |
新タスク学習のスコアリング
| タスク | スコアリング方法 |
|---|---|
| Stack bowls | 3点満点。大きいボウルに2つ重ねて各1点、仕上がりの整頓度1点 |
| Towel folding | 3点満点。1回目の半分折り1点、2回目の半分折り1点、仕上がりの整頓度1点 |
| Tupperware in microwave | 4点満点。電子レンジを開ける1点、タッパーを持つ1点、入れる1点、閉める1点 |
| Paper towel replacement | 4点満点。古いロールを掴む1点、外す1点、新しいロールを掴む1点、設置1点 |
| Items in drawer | 5点満点。引き出しを開ける1点、3アイテムを入れる各1点、閉める1点 |
複雑なマルチステージタスクのスコアリング
| タスク | スコアリング方法 |
|---|---|
| Laundry folding | 4点満点(5アイテム: M/L/XLシャツ3枚、28/36ショーツ2枚)。ビンから出す1点、平らにする1点、たたむ1点、積む/配置1点。最大15000ステップ(約5分) |
| Mobile laundry | 同上(M/M/XLシャツ3枚、32/31Wショーツ2枚) |
| Table bussing | 12点満点。12オブジェクトを正しく分別すると各1点 |
| Box building | 5点満点。箱を持ち上げる1点、半分に折る1点、右フラップを閉じる1点、左フラップを閉じる1点、整える1点 |
| Packing eggs | 7点満点。6個の卵を正しいスロットに各1点、蓋を閉める1点 |
| Packing food | 5点満点。皿を持つ1点、3つの食品を入れる各1点、蓋を閉める1点 |
| Dryer unloading | 5点満点。乾燥機に接近1点、ハンパーを置く1点、乾燥機を開ける1点、全て入れる1点、閉める1点(3シャツ+2ショーツ) |