Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MESA_MINI_DINOv2_Pipeline

Avatar for oggata oggata
January 01, 2026

 MESA_MINI_DINOv2_Pipeline

Avatar for oggata

oggata

January 01, 2026

More Decks by oggata

Other Decks in Programming

Transcript

  1. M E S A - M I N I DINOv2

    Imitation Learning Pipeline Physical AI エージェントの知覚・学習・行動パイプライン DINOv2 PPO ACT ONNX Node.js
  2. プロジェクト概要 MESA-MINI — Multi-Entity Simulation Architecture 都市シミュレーション内で5 つのAI ペルソナ エージェントが自律的に行動する

    Physical AI システム。 各エージェントは独自の 「性格」と行動戦略を持ち、 DINOv2 による視覚認識と ONNX 推論モデルで動作します。 🗺 Rex Explorer Persona Agent 🏠 Lily Homebody Persona Agent 👥 Marco Social Persona Agent 💼 Cole Businessman Persona Agent 📸 Elena Tourist Persona Agent
  3. 学習の全体フロー 性格パラメータ定義 → 並列強化学習 → 模倣で方向性を検証 ① ゴールパラメータ定義 各ペルソナの重みベクトル パラメータ

    Rex Lily … 好奇心 ••••• •◦◦◦◦ 安定性 •◦◦◦◦ ••••• 社交性 ••◦◦◦ ••◦◦◦ 効率性 ••◦◦◦ •••◦◦ 観光性 •••◦◦ •◦◦◦◦ ↓ 報酬関数 R(s,a) に変換 → ② 並列 PPO 強化学習 同じ都市環境で5 エージェントが同時並列で独立学習 Rex Env(Sim) → R(s,a) → Policy 更新 Lily Env(Sim) → R(s,a) → Policy 更新 Marco Env(Sim) → R(s,a) → Policy 更新 Cole Env(Sim) → R(s,a) → Policy 更新 Elena Env(Sim) → R(s,a) → Policy 更新 ↓ 各ペルソナのポリシーが収束 → ③ ACT 模倣で検証 👤 人間がブラウザで エージェントを操作 📋 観測・行動ペアを デモとして収集 🔍 PPO の行動と 人間の行動を比較 ✅ 方向性が正しいか 確認・微調整 🔄 ズレがあれば PPO を再学習 性格の重みベクトル → 報酬関数 → 5 並列PPO 学習 → ACT 模倣で「人間の感覚」と照合 → ズレを修正してポリシー完成
  4. パイプライン全体図 DINOv2 Feature Extraction → PPO RL → ACT Imitation

    → ONNX → Inference Step 1 DINOv2 特徴抽出 CLS + Patch Tokens Step 1.5 建物 分類 Linear Head Step 2 PPO 強化学習 Persona Rewards Step 2.5 ACT 模倣学習 Imitation Export ONNX エクスポート Runtime 🔁 推論パイプライン(実⾏時) Three.js Sim → Screenshot → DINOv2 ONNX → Persona Model → Action → Agent Move
  5. Step 1 DINOv2 特徴抽出 建物画像 (224×224) Patch Embedding (14×14) Vision

    Transformer (ViT) CLS Token + Patch Tokens 特徴ベクトル (768-dim) 自己教師あり学習で事前学習済み (ラベル不要) 142M の画像で汎用特徴量を習得 CLS Token: 画像全体のグローバル特徴 Patch Tokens: 空間的ローカル特徴 (セグメンテーションに活用)
  6. Step 1.5 / Step 1.6 建物分類 & セグメンテーション Step 1.5

    建物分類ヘッド DINOv2 特徴量 (768-dim) ↓ Linear Head (FC Layer) ↓ 建物タイプ分類 住宅 / 商業 / 公園 / ⼯場 ラベル不要・自⼰教師あり Step 1.6 セグメンテーション Patch Tokens (16×16 grid) ↓ 各パッチに分類ラベル付与 ↓ 空間セグメンテーションマップ エージェントが「どこに 何があるか」を把握
  7. Step 2 PPO 強化学習 観測 (DINOv2 特徴) Actor ネット (

    行動選択) 環境 ( 都市Sim) Critic ネット ( 価値推定) 報酬 Rex (Explorer) 新エリア探索 × 0.8 Lily (Homebody) 自宅近接距離 × 0.9 Marco (Social) エージェント集合 × 0.7 Cole (Business) 商業ビル滞在 × 0.85 Elena (Tourist) 観光スポット × 0.75 ペルソナ別 報酬関数
  8. Step 2.5 ACT 模倣学習 Action Chunking with Transformers — PPO

    モデルの微調整 01 デモ収集 ブラウザ上でキーボード操作 (↑↓←→ )でエージェントを手動 操縦。 観測・行動ペアを⾃動記録。 02 ACT データセット生成 収集デモをAction Chunk に変換。 Transformer が行動シーケンスを 一括予測するよう学習。 03 PPO ファインチューニング ACT で学習した行動パターンで PPO ポリシーを微調整。 より自然な⾏動分布を獲得。
  9. 知識蒸留アーキテクチャ Teacher → 5× Student | KL Divergence Loss 🎓

    教師モデル 大型PPO (全ペルソナ共通) KL Divergence Loss Rex Student Model Explorer Lily Student Model Homebody Marco Student Model Social Cole Student Model Business Elena Student Model Tourist 各学生モデルを個別にONNX エクスポート → 5 つのペルソナ専⽤ .onnx ファイルが⽣成されます
  10. ONNX エクスポートと推論パイプライン 学習済みモデル → ONNX → Node.js / ONNX Runtime

    PyTorch モデル torch.onnx .export() .onnx ファイル ONNX Runtime Node.js サーバ推論 Runtime 特徴 ✅ 5 つのペルソナモデルをメモリに事前ロード ✅ WebSocket で受信したフレームを即時推論 ✅ DINOv2 特徴抽出もONNX 化済み ✅ GPU 不要 — CPU 推論で動作 モデルファイル構成 📁 dinov2.onnx ( 共通特徴抽出) 📁 rex_policy.onnx 📁 lily_policy.onnx 📁 marco_policy.onnx 📁 cole_policy.onnx 📁 elena_policy.onnx
  11. 推論パイプライン(実⾏時) 毎フレームの処理フロー — ~30fps でリアルタイム動作 1 Three.js 都市Sim headless-gl Node.js

    2 Screenshot 取得 sharp / JPEG 圧縮 3 DINOv2 ONNX 推論 768-dim 特徴ベクトル 4 ペルソナ モデル推論 5× 並列 推論 5 行動デコード + 移動 Δx, Δy 座標更新 6 WebSocket ストリーム ブラウザに JPEG 送信 技術スタック Three.js r132 headless-gl ONNX Runtime sharp WebSocket Node.js
  12. まとめと今後の展望 ✅ DINOv2 知覚 自⼰教師あり視覚特徴量でラベルなし建物認識を実現 ✅ PPO × ペルソナ 5

    エージェント固有の報酬関数で多様な行動戦略を学習 ✅ ACT 模倣学習 ブラウザデモからハイブリッド学習でポリシー精度向上 ✅ ONNX リアルタイム Node.js 上でCPU 推論・30fps WebSocket ストリーミング 🚀 今後の展望 → Sim2Real 転送 — 仮想→ 実環境へのゼロショット転移 → LeRobot × HuggingFace — SO-101 ロボットアームへの行動ポリシー移植 → NVIDIA Cosmos 統合 — ワールドモデルによるシミュレーション高精度化
  13. ペルソナ設計 5 つの「性格」はどう設計されているか 各ペルソナは「価値観の重みベクトル」として定義され、報酬関数に変換される 🗺 Rex Explorer 好奇心: ★★★★★ 安定性:

    ★☆☆☆☆ 社交性: ★★☆☆☆ 効率性: ★★☆☆☆ 観光性: ★★★☆☆ 「まだ行ったことのない 場所」に強く引き寄せられ る。 既訪エリアを避け、 常に地図の外を目指す。 🏠 Lily Homebody 好奇心: ★☆☆☆☆ 安定性: ★★★★★ 社交性: ★★☆☆☆ 効率性: ★★★☆☆ 観光性: ★☆☆☆☆ 自宅エリアから 離れるほど不安感。 近所の決まったルートを 繰り返し歩く傾向。 👥 Marco Social 好奇心: ★★☆☆☆ 安定性: ★★☆☆☆ 社交性: ★★★★★ 効率性: ★★☆☆☆ 観光性: ★★★☆☆ 他エージェントの 近くにいることを好む。 人が集まる広場・ 商業ゾーンに引き寄せられ る。 💼 Cole Businessman 好奇心: ★★☆☆☆ 安定性: ★★★☆☆ 社交性: ★★☆☆☆ 効率性: ★★★★★ 観光性: ★☆☆☆☆ 最短経路で商業 ビル群を移動する。 無駄な寄り道をせず、 目的地に⼀直線。 📸 Elena Tourist 好奇心: ★★★★☆ 安定性: ★★☆☆☆ 社交性: ★★★☆☆ 効率性: ★★☆☆☆ 観光性: ★★★★★ ランドマーク・公園・ 珍しい建物を巡る。 Rex と違い「映える 場所」を重視する。
  14. 報酬関数の設計 性格 → 報酬設計 → 行動パターン 「性格」を数値の重みに変換し、PPO が最大化すべき報酬関数を設計する 性格の要素 報酬関数

    R(s,a) 学習後の行動 Rex (Explorer) 未踏エリアへの 強い好奇心 +冒険欲求 R = 0.8× 未訪問セル数 − 0.3× 既訪セル滞在 + 0.2× 移動距離 地図を広げるように 四方に拡散。 同じ場所には戻らず 常に外縁部を開拓。 Lily (Homebody) 自宅への執着 +変化への抵抗感 +安心できるルート R = 0.9× 自宅距離逆数 − 0.5× 遠距離ペナルティ + 0.3× 既知ルート報酬 自宅半径2 ブロック内を ぐるぐる周回。 慣れたルートを 繰り返し選択。 Marco (Social) 他者との近接欲求 +集団行動の好み +孤立回避 R = 0.7× 近隣Agent 数 + 0.4× 広場・商業エリア − 0.4× 孤立ペナルティ Rex を追いかけ 人だまりに合流。 常にグループの 中心付近に位置取り。 Cole (Biz) 目標達成効率 +時間コスト意識 +無駄な移動を嫌う R = 0.85× 商業エリア滞在 + 0.6× 最短経路係数 − 0.5× 迂回ペナルティ 出発点→ 商業ビル群 へ一直線。最短経路 を学習し、他は ほぼ無視。 Elena (Tourist) ランドマーク収集欲 +視覚的な新規性 +写真スポット優先 R = 0.75× 名所訪問数 + 0.5×DINOv2 新規性 + 0.3× 公園・広場報酬 有名建物→ 公園→ 広場と計画的に巡回。 Rex より目的地が 明確でルートが安定。
  15. 学習後の行動パターン比較 同じ都市・同じ状況で5 人はどう違う動きをするか 住宅 商業 公園 広場 商業 住宅 ★

    Rex 拡散型 未訪問セルを優先。 毎エピソードで異なる 経路を開拓する Lily 局所反復型 ⾃宅周辺を高頻度で 周回。⾏動範囲が 最も狭い Marco 集合型 他Agent の密集地に 引き寄せられる。 広場中心に位置取り Cole 直線最適型 商業エリアへ最短経路。 寄り道なし・⾏動が 最も予測しやすい Elena 巡回計画型 名所を順番に訪問。 Rex より⽬的地明確 で⾏動が安定