Diffusion Forcing
Diffusion forcingは、それぞれが固有のノイズレベルを持つ系列トークンを因果モデルでノイズ除去するよう学習させ、安定した長時間動画のロールアウトとプランニングを実現します。
拡散フォーシングは、動画フレームやロボットの動作などのシーケンス生成モデル向けのトレーニング手法です。シーケンスの各トークンに独立してサンプリングしたノイズレベルを割り当て、因果モデルは一部にノイズが加わった履歴を条件として各トークンのノイズを除去する方法を学習します。この方法でトレーニングした1つのモデルは、大規模言語モデル (LLM)のように次のトークンを予測しながらシーケンスを段階的に生成できると同時に、シーケンス全体を扱う拡散モデルのように、未来全体を目標に向けて誘導できます。MITのBoyuan Chen、Diego Martí Monsó、Yilun Du、Max Simchowitz、Russ Tedrake、Vincent Sitzmannが2024年7月に発表したDiffusion Forcing: Next-token Prediction Meets Full-Sequence Diffusionで提案され、この論文はNeurIPS 2024で発表されました。
部分マスキングとしてのノイズ#
教師強制では、クリーンな正解履歴から次のトークンを予測する自己回帰モデルをトレーニングします。そのため生成時に初めて、モデル自身の不完全な出力に直面し、誤差が積み重なるにつれて長い動画生成の出力がずれていきます。シーケンス全体の拡散では、すべてのフレームを同じノイズレベルで一度にノイズ除去します。ガイダンスに対応できますが、シーケンスの長さが固定され、途中で新しい観測を受け取っても対応できません。
拡散フォーシングでは、ノイズを部分マスキングとして扱います。クリーンなトークンは完全に見え、純粋なノイズは完全に隠され、その間のレベルでは一部が隠れます。トークンごとに独立したノイズレベルでトレーニングすると、1つのモデルがあらゆる組み合わせを一度に学習します。これには、クリーンな過去に対して次のフレームが完全にノイズ状態である次トークン予測と、すべてのフレームに同じノイズを加えるシーケンス全体の拡散が含まれます。論文では、この目的関数がすべてのサブシーケンスの尤度に対する変分下限を最適化することを証明しています。リファレンス実装のCausal Diffusion Forcingでは、ノイズのある履歴を隠れ状態に要約するリカレントニューラルネットワークを使用し、著者らは後にTransformer版も公開しました。
サンプリングスケジュール#
あらゆるノイズレベルの組み合わせが分布内にあるため、生成ではノイズ除去の反復とフレームを軸とする2次元のスケジュールを使用できます。論文のジグザグスケジュールでは、各フレームのノイズ除去を、1つ前のフレームより少し遅く開始します。
import torch
torch.manual_seed(0)
frames, levels = 5, 4 # a 5-frame clip; noise levels run from 0 (clean) to 4 (pure noise)
# Training: every frame gets its own random noise level, so any mix of clean and noisy frames is seen
print("Training noise levels:", torch.randint(0, levels + 1, (frames,)).tolist())
# Sampling with a zig-zag schedule: each row is one denoising pass over all frames, and frame i
# starts denoising i passes after frame 0, so the near future is always cleaner than the far future
for step in range(levels + frames):
row = [min(max(levels - step + i, 0), levels) for i in range(frames)]
print(f"pass {step}: {row}")トレーニング時の行には、1つのクリップで [4, 4, 3, 0, 3]のようなレベルが描かれています。この組み合わせは、教師強制でもシーケンス全体の拡散でもトレーニングされません。スケジュールでは、行0は純粋なノイズを表し、反復4では最初のフレームがクリーンになる一方、5番目のフレームはまだ完全にノイズ状態です。クリップは8回の反復後に完成します。論文では、直近の未来は遠い未来よりも確実であるという考えに基づき、計画にこの形状を使用しています。
長いロールアウトには、もう1つの工夫があります。新しい各フレームを、すでに生成したフレームのクリーンなコピーではなく、少しノイズを加えたコピーを条件として生成することで、モデル自身の小さな誤りに対する頑健性を高めます。DMLabナビゲーションデータセットでは、36フレームのクリップでトレーニングしたモデルが、ベースラインでは発散した2,000フレームのロールアウトを発散せずに実行しました。
ガイダンス、計画、ロボティクス#
シーケンス全体へのガイダンスも引き継げます。サンプリング中に報酬や目標を使って、ノイズのある未来のフレームを誘導できます。論文のMonte Carlo Guidanceでは、複数の未来候補を生成してガイダンス勾配を平均し、強化学習の研究で使われる迷路計画タスクの結果を改善しました。ロボティクスでは、模倣学習を使って実際のロボットアームをトレーニングし、2つの果物を3つ目の場所を使って入れ替えました。果物がランダムな場所から始まるため、このタスクには記憶が必要です。記憶を持たないDiffusion Policyが失敗した状況で、拡散フォーシングは80%の確率で成功しました。視覚的な妨害がある場合やカメラが完全に覆われている場合でも76%に達し、破損したフレームを正解として扱う次フレーム拡散ベースラインの48%を上回りました。同じモデルは時系列予測にも対応しました。
動画モデルにおける拡散フォーシング#
MITグループのDiffusion Forcing Transformer (DFoT)は、2025年2月の論文History-Guided Video Diffusionで発表され、任意の数の過去フレームを条件として、その履歴をガイダンス信号として使います。Skywork AIが2025年4月に公開したSkyReels-V2は、事前トレーニング済みのシーケンス全体型動画モデルを拡散フォーシングモデルにファインチューニングしたもので、ノイズレベルがフレームごとに減少しないため、動画をチャンク単位で延長できます。シーンがAIエージェントの行動に応じてどう変化するかを予測する動画世界モデルにも、同様に安定した因果的なロールアウトが必要です。長いロールアウトで物体の一貫性が保たれるかどうかは、物体追跡で測定できます。追跡モードのUltralytics YOLO26は、検出した各物体にフレームをまたいで維持されるIDを割り当てます。生成クリップ内で車が同じトラックIDを保つ場合、車のアイデンティティも維持されています。
拡散フォーシングと関連用語の比較#
- 拡散言語モデル: 各ステップで共通のマスキング率を用い、複数のステップにわたって離散的なテキストトークンのマスクを並列に解除します。
- 拡散ポリシー: クリーンな観測を条件として、ロボット動作のチャンク内のすべての動作に同じノイズレベルを適用してノイズ除去します。
- テキストから動画への拡散: ほとんどのシステムはシーケンス全体の拡散を使って固定長のクリップを生成します。拡散フォーシングの派生手法では、クリップをその長さより先まで一度に1チャンクずつ延長します。










