JEPA4Japan · チュートリアル

第20章 — 最小のLeWMプランナーをゼロから実装する

1,035文字 4分で読めます #LeWorldModel#World Models#JEPA

候補行動の一括生成とベクトル化ロールアウト、終端コスト、CEM更新、部分実行を整理し、実軌跡・想像軌跡・ベースラインを比較します。

コース進捗 コース目次 48レッスン中 48件を公開中

第0部 読み方ガイド:私たちは何を学ぶのか

  1. 01 第0章 — はじめる前に 公開中

第1部 世界モデル:エージェントの頭の中にある実験場

  1. 02 第1章 — なぜエージェントには「未来を想像する」力が必要なのか 公開中
  2. 03 第2章 — なぜ次の画像をそのまま予測しないのか 公開中
  3. 04 第3章 — JEPAの発想:画面の複製ではなく意味を予測する 公開中
  4. 05 第4章 — 1枚の図でLeWMを理解する 公開中

第2部 画面を状態に変える:LeWMのモデル構造

  1. 06 第5章 — 軌跡データ:モデルにとって世界は画像集ではない 公開中
  2. 07 第6章 — 視覚エンコーダー:各フレームに「状態パスポート」を発行する 公開中
  3. 08 第7章 — 動力学予測器:頭の中で時間を前へ進める 公開中
  4. 09 第8章 — 完全な順伝播:1バッチを最初から最後まで追う 公開中

第3部 モデルの抜け道を防ぐ:予測損失とSIGReg

  1. 10 第9章 — 最も危険な近道:表現崩壊 公開中
  2. 11 第10章 — 予測損失:モデルはどのように次の一歩を学ぶのか 公開中
  3. 12 第11章 — SIGRegの直感:表現空間に「呼吸」をさせる 公開中
  4. 13 第12章 — 必要最小限の数学 公開中
  5. 14 第13章 — オリジナルLeWMのエンドツーエンド学習の仕組み 公開中
  6. 15 第14章 — すぐに表現崩壊しないモデルを訓練する 公開中

第4部 モデルを行動に使う:潜在空間での計画

  1. 16 第15章 — 目標条件付き計画:「今いる場所」から「行きたい場所」へ 公開中
  2. 17 第16章 — 潜在ユークリッド距離:便利だが、常に信頼できるとは限らない 公開中
  3. 18 第17章 — CEM:勝ち抜き方式で行動を探索する 公開中
  4. 19 第18章 — MPC:モデルを一度に長く信じすぎない 公開中
  5. 20 第19章 — 長期ロールアウト:小さな誤差が大事故へ育つまで 公開中
  6. 21 第20章 — 最小のLeWMプランナーをゼロから実装する 現在のレッスン

第5部 エンジニアリング再現:論文から動くシステムへ

  1. 22 第21章 — 公式リポジトリと実験環境 公開中
  2. 23 第22章 — 最初の実験:TwoRoomのスモークテスト 公開中
  3. 24 第23章 — 2つ目の実験:PushTを再現する 公開中
  4. 25 第24章 — 世界モデルを公平に評価する方法 公開中
  5. 26 第25章 — 失敗診断マニュアル 公開中

第6部 LeWMは何を学んだのか

  1. 27 第26章 — 線形プローブ:潜在状態にはどの物理量が含まれるのか 公開中
  2. 28 第27章 — 潜在空間を「健康診断」する 公開中
  3. 29 第28章 — 期待違反:モデルは「あり得ない出来事」に驚くのか 公開中
  4. 30 第29章 — 「世界を理解する」を厳密に語るには 公開中

第7部 「予測が正確」でも「計画がうまくいかない」のはなぜか

  1. 31 第30章 — 訓練目的と計画目的のあいだにある亀裂 公開中
  2. 32 第31章 — 大域的には表現崩壊していなくても、タスクに必要な動力学が保たれるとは限らない 公開中
  3. 33 第32章 — 等方ガウス事前分布はいつ強すぎるのか 公開中
  4. 34 第33章 — 長期計画:より遠くを予測するか、より賢く計画するか 公開中
  5. 35 第34章 — 位置の距離からタスクの進捗へ 公開中
  6. 36 第35章 — マルチタスク、実ロボット、視覚的外乱 公開中
  7. 37 第36章 — 理論的な境界:真の状態はいつ同定できるのか 公開中

第8部 再現者から研究者へ

  1. 38 第37章 — 信頼できるLeWM改良実験を設計する 公開中
  2. 39 第38章 — 実行可能な12の研究課題 公開中
  3. 40 第39章 — LeWM研究の未解決問題 公開中

付録 数学・実装・再現・査読のための参照資料

  1. 41 付録A — 最低限必要な数学ツールキット 公開中
  2. 42 付録B — PyTorch実装クイックリファレンス 公開中
  3. 43 付録C — テンソル形状の完全一覧 公開中
  4. 44 付録D — 実験設定カード 公開中
  5. 45 付録E — 論文タイムラインとエビデンスレベル 公開中
  6. 46 付録F — 用語集 公開中
  7. 47 付録G — 再現チェックリスト 公開中
  8. 48 付録H — 専門家査読チェックリスト 公開中

まず大きな絵

  1. 凍結encoder と dynamics は今は学習しない。
  2. 探索CEM が行動列全体を提案する。
  3. 順位づけ想像した終点を goal と比べる。
  4. 実行K block 動き、観測して繰り返す。
最小 planner は、調べられる境界の集まりです。

planner を goal、candidate、rollout、cost、search、execution、trace の interface に分けます。

小さなお話

おもちゃの鉄道を作る前に、すべての端子に名前を付けます。どの線が real observation で、どの線が imagined latent で、どの action が motor に届くのでしょう。

最小 LeWM planner も同じです。ここでの “from scratch” は、学習済みで凍結した checkpoint の周りに明確な interface を作ることです。新しい LeWM を発明したり、教材の pseudocode を著者の正確な runtime と呼んだりする意味ではありません。

本当のルール

次の object を混ぜません。

current images    [B, T_context, C, H_image, W_image]
current latents   [B, T_context, D]
goal latent       [B, D]
candidate actions [B, N, H_plan, A_block]
imagined latents  [B, N, T_rollout, D]
candidate costs   [B, N]
execution prefix  [B, K, A_block]

別に符号化した goal は terminal cost に入り、dynamics predictor には入りません。正しい vectorization は throughput のため (B\times N) を平らにできますが、environment、candidate、goal の identity を保つ必要があります。小さな loop 実装と vectorized path を比べ、candidate の並べ替えが対応する output だけを並べ替えるか確認します。

baseline LeWM は、宣言した最終 predicted latent と goal の squared Euclidean distance を採点します。CEM は action proposal を fit し直しますが、model は凍結です。best sampled sequence と final proposal mean を両方保存します。Appendix B と調査した stable-worldmodel snapshots は final mean を返します。best_seen 実行は明記した variant です。

reported setup は (H=5) model blocks、(K=5)、1 block が5 environment actions です。現実に入るのは selected prefix だけです。predicted latent を real observation buffer の偽測定値にしてはいけません。

だまされる反例

TwoRoom で壁越しに近い goal を選びます。同じ frozen task、candidate budget、real-action budget で、4つの名前付き条件を走らせます。

  • learned dynamics + learned latent cost。
  • oracle dynamics + learned cost。
  • learned dynamics + oracle cost。ただし imagined state を採点する正当な bridge がある場合だけ。
  • 両 oracle。同じ finite search を保つ。

equal-budget random policy と support-constrained proposal は別に足します。oracle dynamics は rollout replacement、oracle cost は ranking replacement を試します。両 oracle でも CEM は optimal になりません。support constraint は search する場所を変えます。

oracle dynamics で直れば rollout、oracle cost で直れば ranking が疑われます。両方でも失敗するなら candidate coverage、action representation、reachability、execution を調べます。最後の1 frame だけでは原因を決められません。

実験のレシート

各 MPC cycle で current/goal identity、前処理、checkpoint、(H)、(K)、action-block semantics、全 seed、sample/elite cost、proposal spread、support warning、selected normalized action、raw environment action、dashed imagined latent、solid returned observation、termination、timing を保存します。固定 projection で2つの path を見せても、測定は native latent space で行い、simulator 座標は別の privileged panel に置きます。

根拠は LeWorldModel v3、凍結 jepa.py と eval.py、commit 8edfeb3 です。core は歴史的 solver dependency を pin していません。oracle と failure dossier は tutorial diagnostics で、baseline feature や deployable pixels-only result ではありません。

3つのクイック質問

  1. goal latent を baseline dynamics rollout の外に置くのはなぜですか。
  2. vectorization の identity 混同を見つける assertion は何ですか。
  3. oracle dynamics と oracle cost は、どの違う bottleneck を試しますか。