登場人物だけを青い服に着替えさせてほしいと頼んだ。出てきた映像では、手の動きやカメラワークまでつられて変わっていた。
映像生成器に賢い理解モデルをつなぐと、よく起きる失敗だ。マルチモーダルLLM(画像・映像・テキストを一緒に理解するLLM、以下MLLM)は台本を読みレファレンスを解釈して、何が起きているのかをかなりよく把握する。その理解を映像生成器につなぐこともできる。問題は、つないでも結果にほとんど反映されない点だ。理解はできているのに、使われない。
FAPL(Factor-Aware Predictive Learning)は、その隔たりを3段階の学習で埋める。そうやって教えたモデル(映像生成器が13Bのもの)が、生成器がより大きな14Bの比較対象を複数の指標で上回る。本稿では、それがどうして可能なのかを追っていく。
映画の1カットを作るのに必要な能力は2つだ。
1つは、わずかな手がかりから動きを埋める作業だ。台本の数行とレファレンス数枚から、俳優がどう動きカメラがどう回るのかを補う。論文アブストラクトの例がこれをよく示している。「男が箱のほうへ体を向け、右手を上に置き、左手で束を押さえる」。こうした動作の連なりはテキストだけでは取りこぼすが、完全な映像を一緒に見せると同じモデルが再現してみせる。
もう1つは、変えたい要素だけを変える作業だ。冒頭の失敗はここに属する。登場人物だけを変えてと頼んだら動きまで変わり、カメラだけを回してと頼んだら背景がまるごと差し替わる。論文のFigure 1がまさにその場面だ。ほかの指示はすべて固定し、人物プロンプトだけをいじったのに、人物でない要素までつられて動いてしまう。
原因を見るには、映像生成の側を3つの部品に分ける必要がある。
解釈モデルが理解した内容は、数値の束になって生成器へ渡っていく。この数値の束を表現と呼ぶ。モデルが情報を詰め込んで受け渡す形だ。
MLLMを使う理由は、従来の入力が足りないからだ。テキストエンコーダ(T5・CLIP系、文章を数値ベクトルに変えるモデル)は視覚・時間の情報をほとんど持てない。VAEで圧縮したレファレンス画像は見た目は保存するが、どんな動作なのか、カメラをどう動かすつもりなのかは持てない。MLLMは台本を解釈しレファレンスを読んで、ありそうな展開まで推論する。そのため最近の研究は、MLLMの表現を受け渡しモジュールで変換して生成器に入れる。
ここに落とし穴が生まれる。使えるようにすることと、実際に使わせることは別物だ。FAPLの基盤であるUniVideoは、もともとテキストエンコーダを取り除いた構成で、条件づけはMLLM表現とVAEレファレンス経路から入る。ところがVAEレファレンス経路は見た目をそのまま運ぶぶん生成器にとって扱いやすく、モデルは見慣れないMLLM表現に頼らなくても、この馴染んだ経路に寄りかかって誤差を減らせる。だからMLLMが理解した内容は脇へ漏れていく。この迂回(bypass)こそが、2つの能力を同時に塞ぐ共通のボトルネックだ。
Figure 2がこれを露わにする。MLLM条件だけを残すと、生成器が小さいほう(Omni-Video 2の1.3B Video DiT)はノイズを吐き、生成器が大きいほう(Omni-Video 2の14B Video DiT)は1人の連続した動作を、2人が別々に動く場面として描く。条件が衝突すると、VAEレファレンスが出力を支配してしまう。
FAPLの解き方は2つだ。MLLM表現をコンテンツを運ぶ唯一の通路として強制して迂回を塞ぎ、変えるものと守るものを対にした例で教える。この2つを3つの段階に分けて盛り込んだ。
各段階は異なる部品を凍結する。凍結するとは、その部品の重みを固定して学習中に変えないという意味だ。どの段階で何を学習し、何を学ぶのかから見ていこう。
| 段階 | 学習する部品 | 学ぶこと |
|---|---|---|
| 1段階 | 生成器 | MLLMが渡した表現を映像へ展開する |
| 2段階 | 生成器 | 変える要因だけを変え、残りは守る |
| 3段階 | 解釈モデル + 受け渡しモジュール | 生成器にうまく噛み合う表現を出す |
MLLMと受け渡しモジュールを凍結し、生成器だけを学習する。このときVAEレファレンス経路を切ってしまう。頼れる先がMLLM表現しかなくなるので、生成器はその表現を解読して使う術を学ぶ。迂回路そのものを閉じてしまうわけだ。
学習は2つの入力モードを混ぜる。テキストだけを与えるモードと、テキストに完全な映像まで一緒に与えるモードだ。完全な映像はMLLM表現に視覚・時間の情報を乗せて生成器を慣らし、テキスト専用モードは後の段階との互換を保つ。
「赤い服の人物」を「青い服の人物」に変えつつ、動作と背景はそのままにするとしよう。これを教える仕掛けが要因区間の差し替えだ。
まず1つの要因だけが異なる映像のペアを用意する。人物だけが違い、動作・背景はまったく同じ2本の映像だ。次にキャプションを人物・シーン・動作・カメラの4フィールドに書き直しておく。すると各要因が、表現のどのトークン区間に対応するのかという住所が生まれる。トークン区間とは、その数値の束のうち人物の説明にあたる部分を指す。ここで人物区間だけを相手の映像のものに差し替え、残りのトークンには触れない。人物区間を差し替えた条件は、人物だけが変わった映像へつながるように導き、逆方向も合わせて教える。
肝心なのは、要因を無理に切り離さない点だ。論文は要因がきれいに分離されていると仮定せず、特徴を分離する目的関数も使わない。代わりに出力の反応で教える。人物区間だけをいじったのに動作まで変わったら、それがまさに間違いだという信号だ。モデルは「この区間を変えれば、出力のこの部分だけが変わるべきだ」を、その反応から学ぶ。この段階も生成器だけを更新する。
前の2段階で、生成器は表現をきちんと展開する術を身につけた。そこで3段階では、この生成器を固定した基準とし、解釈モデルが生成器とうまく噛み合う表現を出すように調整する。生成器を固定することで「よい表現」の基準がぶれず、解釈モデルだけがその基準に向かって動く。
掘り下げ — 学習信号(勾配)は、固定された生成器をそのまま通り抜けて、受け渡しモジュールと解釈モデルまで流れる。生成器は一文字も変わらないが、通路の役割は果たす。ピクセルを直接合わせる代わりに高品質な生成器を経て予測を導くという点が、高品質なデコーダがない、あるいは別途学習しなければならない従来の予測的表現学習(JEPA系)と分かれるところだ。
3段階が終わると、MLLM表現を唯一のコンテンツ条件として使う1つの構造が残る。この構造1つで3つのことをこなす。台本・レファレンスだけからの生成、構造化プロンプトの1フィールドだけを直してその区間だけを変える要因別制御、人物・シーンは共有しつつ動作・カメラだけをショットごとに変えるマルチショット生成だ。
FAPLはUniVideo(Video DiT 13B)の上に実装し、オリジナルのUniVideoとOmni-Video 2(Video DiT 1.3B・14Bのバリアント)を比較対象にした。学習・評価データはソースが重ならないように分けておいた(学習10万ペア、テストは学習に使っていないソースグループ)。課題ごとにテストセットが違うので、下の3行は1つのスコアの3側面ではなく、それぞれ別の実験の結果だ。
| 課題 | 指標(高いほど良い) | UniVideo (DiT 13B) | FAPL |
|---|---|---|---|
| わずかな手がかりから動きを埋める | 動作順序の正確度 | 48% | 61% |
| 変えたい要素だけを変える | 編集の正確度 | 42% | 58% |
| 複数ショットで人物を維持 | 顔のアイデンティティ維持度 | 0.451 | 0.523 |
3課題いずれも、もっとも強い比較対象を上回る。カメラ軌跡の誤差(移動・回転)も比較対象のうちもっとも低い(こちらは低いほど正確)。
1つの数字がこの論文の主張を凝縮している。Omni-Video 2は、生成器(Video DiT)が14Bのほうが1.3Bのほうより全体的に優れている。ところが生成器が13BのFAPLが、その14Bを複数の指標で上回る。生成器を大きくすることと、MLLMの理解を実際に使わせることは、互いに別のレバーなのだ。先に見た迂回を塞いだ代償が、ここで数値になって返ってくる。
3段階がそれぞれどれだけ効くのかは、公開された原文の除去(ablation)実験に出ている(§4.4・Table 2)。1段階だけを適用すると動作順序の正確度が48%から54%へ上がる。2段階の要因区間差し替えを足すと編集の正確度が48%から57%へ、3段階の観測混合まで足すと動作順序の正確度が57%から61%へ上がる。3つの仕掛けがそれぞれ寄与し、合わさって働くときに比較対象を上回る。
何が良くなったのかも、数字と同じくらい重要だ。UniVideoは大きな流れはつかんでも、髪の長さ・手の動き・要求された軌道といった細部を取りこぼし、一部の編集では見当違いの要因まで触ってしまう。冒頭の「服だけ変えたのに動きまで変わる」失敗がその典型だ。FAPLは仕様をより忠実に守り、変えないと決めた要因を保ち、ショットが変わっても背景と人物の見た目を維持する(Figure 4・5・7)。
本稿の判断は、公開された論文の抜粋の範囲内で下したものだ。
指標は指示への追従と一貫性を測るだけで、映像がどれほど映画らしいかは測らない。審美的な品質や人が感じる自然さと、この数字たちとのあいだの隔たりは、表だけでは埋まらない。
適用範囲は4フィールドに縛られている。要因のアドレス指定が人物・シーン・動作・カメラという構造に依存するので、照明・編集のリズム・台詞のタイミングのように、この枠の外にある要因にはそのまま適用できない。
数値は相対的な優位にすぎず、絶対的に高いわけではない。61%、58%は比較対象より前に出るだけで飽和には程遠く、マルチショット評価は100シーケンスと小さい。「もっとも高い」を「十分に高い」と読んではいけない。
AI PMが毎週こなす仕事の1つが、散らばった作業データを集めて状況報告を書くことだ。今週のタスクDB、完了ログ、遅延理由が検索(RAG)でコンテキストに添付される。ところが出てきた報告書が、データと微妙にずれたもっともらしい一般論であることがある。遅延したタスクが3件なのに、報告書は「おおむね順調だ」と書く。検索された数値の代わりに、モデルが学習時に見た典型的な言い回しで埋めたのだ。根拠は添えられたのに、使われなかった。映像生成器が楽な経路へ漏れていたのと同じ形だ。
確かめる方法は、FAPLの2段階から借りてこられる。同じ報告書で遅延件数だけを3から7に入れ替えて、もう一度生成してみる。遅延に関する記述はつられて変わるか。そして遅延件数と無関係な項目、たとえば予算執行率はそのままか。根拠を変えたのに結論がびくともしないなら、その根拠がちゃんと読まれているのかを見直すべきだ。
この検査をきちんと回すには、設計の段階でいくつか押さえておくとよい。検索された根拠だけを残し、ほかの入力を切ったモードで回してみると、迂回がより鮮明に浮かび上がる。遅延件数を自由な文章ではなく決まったフィールドに固定しておけば、その項目だけを狙って変えやすい。どちらも検査の前提ではなく、設計するときに検討しておく条件だ。ONTLEが「AI PM派遣」の品質を測るとき、実際に投げてみる問いは1つだ。根拠を一行変えたとき、関連する記述はつられて変わり、無関係な記述はそのままか。
いいえ。事前学習済みのMLLMと生成器(実装はUniVideoの13B Video DiT)を再利用します。段階ごとに異なるモジュールだけを凍結したり学習したりします。1・2段階は生成器だけ、3段階は生成器を固定して解釈モデルと受け渡しモジュールを学習します。
大丈夫です。差し替えは受け渡しモジュールの後、生成器の前で起きるので追加の変換が挟まらず、2つの区間のトークン数が互いに違っていても構いません。双方向の指導の式は論文の付録にあります。
抜粋だけでは難しいです。ランダムな基準線を知るには選択肢の数が必要ですが、その値が抜粋にありません。いま確かなのは、相対比較でもっとも高いということだけです。