
【2026年7月版】
【第4回】動画生成とワールドモデルは何が違うのか ―「それっぽい映像」と「状態遷移」
公開日: 2026/07/09
読了時間: 約 12分
動画生成とワールドモデルは、似て非なるもの
今回は2種類のモデルを対比します。ひとつは動画生成。テキストを入れると短い動画が返るモデルで、入力がテキスト・出力が動画なので「TXT2Video」とも呼べます。SoraやVeo、Runwayが代表例で、前回の画像生成(TXT2IMG)に「時間」が加わったもの、と考えると分かりやすいでしょう。
もうひとつがワールドモデルです。こちらは「もっともらしい映像を作る」のが目的ではなく、ある状況で行動を取ると世界が次にどうなるかを予測するモデルです。ロボットやゲーム、自動運転の「頭の中のシミュレータ」として使われます。
どちらも「動く映像」を扱うため混同されがちですが、学ぶ目的も教師データもまるで違います。まずは分かりやすい動画生成から見ていきましょう。
動画生成は「画像生成の枚数が増えただけ」
まずは動画生成(Sora、Veo、Runwayなど)から。教師データは、動画とその説明文(caption)のペアです。captionは、字幕・周辺テキスト・動画説明・ASR(音声認識)・画像/動画キャプションモデルなどから作ります。第2回の画像生成と同じ発想ですね。
生成方式も画像生成をそのまま引き継ぎます。第2回で見たとおり、生成には拡散型と自己回帰(トークン)型があり、動画でも両方が存在します(自己回帰型はVideoPoetなど、拡散型はSora・Veoなど)。ただし第2回と同じく方式は排他的ではなく、たとえばSoraは拡散とTransformerを組み合わせたDiffusion Transformerで、実際には組み合わせが一般的です。ここでは主流の拡散型を取り上げます。
その学習の仕組みは、画像生成の拡張です。動画をフレーム列にし、VAEでlatentに圧縮し、そこにノイズを混ぜて「加えたノイズ」を当てさせます。
video_latents = vae.encode(video_frames)
noise = torch.randn_like(video_latents)
t = torch.randint(0, 1000, (video_latents.size(0),))
noisy_video = scheduler.add_noise(video_latents, noise, t)
pred_noise = video_model(noisy_video, t, text_embedding)
loss = mse(pred_noise, noise)画像生成が「1枚のノイズ除去」だったのに対し、動画生成は「時間方向を持ったlatentのノイズ除去」になります。つまり、
画像生成: 1枚
動画生成: 100枚(時間でつながったlatent)の違いです。もちろん、時間があることで「フレーム5 → フレーム6」の連続性、たとえば「犬が瞬間移動しない」といった時間的な整合も学びます。それでも本質は「もっともらしい映像を作る」ことにあります。
ワールドモデルは何を学ぶのか
ここからが本題です。ワールドモデルは、見た目の映像を作ることが目的ではありません。学ぶのは「行動すると世界がどう変わるか」、すなわち状態遷移です。
ワールドモデルにも作り方は複数あります。ピクセル空間で次フレームを予測するもの、潜在空間で予測するもの(Dreamer系のRSSMなど)、映像は生成せず特徴量だけを予測するもの(JEPA系)、状態や行動をトークンにして自己回帰で予測するもの(Genie系)などです。ここでは、どの流派にも共通する骨格である 状態 S_t + 行動 A_t → 次状態 S_{t+1} という定式化を代表として取り上げます。
この学び方だと教師データは、動画だけでは足りません。たとえばロボットなら、時刻ごとに次のような情報を同期して記録します。
Camera / Depth / 関節角度 / モーター指令 / 力覚センサ / IMU / グリッパ状態そして各時刻に、そのとき取った行動(Action)を対応づけます。
時刻 t: 画像・ハンド位置・手の角度・押した力
行動 : 右へ3cm
時刻 t+1: 画像・ハンド位置・...(行動の結果)つまり教師データの単位は、こうなります。
入力: 状態 S_t + 行動 A_t
正解: 次状態 S_{t+1}学習は驚くほど素直です。
pred_next_state = world_model(state_t, action_t)
loss = mse(pred_next_state, state_t1)画像や動画を状態そのものとして扱う場合は、エンコーダで状態表現に落としてから遷移を学びます。
state_t = encoder(frame_t, depth_t, sensor_t)
state_t1 = encoder(frame_t1, depth_t1, sensor_t1)
pred = world_model(state_t, action_t)
loss = mse(pred, state_t1)数式で書けば、ワールドモデルが近似しているのは次の関数です。
f(S, A) = S'「いまの状態と行動を入れたら、次の状態が返る」。この関数を巨大なTransformerで学習しているわけです。
動画生成とワールドモデルの違い
両者を並べると、狙いの違いがはっきりします。
動画生成:
犬が走る ─▶ それっぽい動画
ワールドモデル:
犬が走る + 行動 ─▶ 3秒後には右へ移動している(未来予測)動画生成は「絵として自然」であればよい。ワールドモデルは「操作の結果として自然」でなければならない。だから教師データに、動画だけでなく「そのとき何をしたか(Action)」を必ず対応づけて記録する、という点が最大の違いになります。
- ロボット:カメラ映像・関節角度・モーター指令・力覚センサ・IMU を時刻同期して保存
- ゲーム:画面 と ゲームパッド入力 を同期
- 自動運転:カメラ・LiDAR・GPS・車速・ハンドル角・アクセル・ブレーキ を同期
これらのデータがあってはじめて、「次の映像を生成する」ではなく「この操作をしたら世界はどう変化するか」という因果関係まで学べます。ここが、動画生成モデルとワールドモデルを分ける決定的なポイントです。
Action Token ― 行動もトークンにする
最近は、行動そのものをトークンとして扱う流れが強まっています。
Observation ─▶ Action ─▶ Observation行動を離散トークンにすることで、状態遷移の学習が、これまでの回で見た「トークン列を予測するLLM」の枠組みにきれいに収まります。
Joystick ─▶ [31, 52, 14]
Move Arm ─▶ Token
Jump ─▶ Token「観測トークン + 行動トークン → 次の観測トークン」。第1回のLLM、第3回の音声トークンと、ここでも同じ構造が顔を出します。
実例 ― NVIDIA Cosmos と Google Genie
具体的なモデルを2つ挙げておきます。
NVIDIA Cosmos は、物理AI向けのWorld Foundation Model(世界基盤モデル)として位置づけられています。カメラ映像を動画トークンに変換し、テキストや行動を条件に「未来の映像」を生成する方向へ進んでいます。教師データは、動画・テキスト・行動の組み合わせです。
Google Genie は、ゲーム画面だけから操作可能な環境を学びます。特徴的なのは、明示的な行動ラベルがない動画からでも、「画面の変化」から擬似的な行動(latent action)を自動で見つけ出す点です。
Genie:
画面 ─▶ (自動で見つけた)コントローラ入力 ─▶ 次画面教師データは「観測・行動・次観測」。行動ラベルすらAIが動画から推定してしまう——第1回から続く「AIが教師データを作る」流れが、ワールドモデルでは極まっているのがわかります。
生成AI全体を俯瞰する
ここまでの5モダリティを、教師データの構造で並べると、きれいに整理できます。
| モデル | 教師データ | 学習するもの |
|---|---|---|
| LLM | テキスト | 次トークン |
| 画像生成 | テキスト+画像 | ノイズ除去 |
| 音声合成 | テキスト+音声 | 音声表現・音声トークン |
| 動画生成 | テキスト+動画 | 時系列のノイズ除去 |
| ワールドモデル | 状態+行動+次状態 | 状態遷移(世界のダイナミクス) |
LLMから動画生成までは「もっともらしい出力」を作るモデルでした。ワールドモデルだけが、一段違うところ——世界がどう動くか——を学んでいます。
まとめ
- 動画生成は画像生成の時間拡張で、「動画+説明文」から「加えたノイズ」を当てる。目的は「もっともらしい映像」。
- ワールドモデルは
S_t + A_t → S_{t+1}を学ぶ。教師データには、映像だけでなく「そのとき取った行動」を時刻同期で対応づける必要がある。 - Cosmosは動画・テキスト・行動を、Genieは行動ラベルなしの動画から擬似行動を——ワールドモデルの教師データ作りは、AIへの依存が最も深い領域になっている。
ただし、動画生成とワールドモデルは対立するものではありません。最終回では、この2つを組み合わせて「物理的に正しい動画」を作る方法と、教師データをまるごとAIやシミュレーションで作る、その先の景色を描きます。