openAI SORAのテクニカルレポートを読む
※ noteだとGIFがうまく埋め込めなかったので,アニメーションが見たい人は以下のリンクからどうぞ
openAI社から動画生成モデル soraのテクニカルレポート(↗)が投稿されていたので読んでみました.
(筆者はその道の専門家ではないです.不備や誤りがある際は,コメントもしくはDM(↗)などで教えてください.僕自身も正しく理解したいです…)
⭐要約
soraは拡散モデルを用いたビデオデータに対する大規模な学習モデルで,テキストから動画を生成する.様々なアスペクト比,時間,解像度のビデオを学習することで,汎用的な動画を生成することが可能になった.Soraは、高忠実度のビデオを最大1分間生成できる能力を持っており、物理世界の一般目的のシミュレータを構築するための有望な方法を示す.
Q. どこが新しいの?
A. 様々なアスペクト比,時間,解像度のビデオを学習させることで汎用性の高い動画生成が可能になった.また,長時間で高解像度のビデオを生成可能になった
Q. 技術や手法の重要な点はなに?
A.拡散モデルを使用,学習データにはサイズを標準化した動画ではなく,本来のサイズの動画を使用.それにより,様々なデバイス向けのコンテンツを作成したり,低品質のプロトタイプを作成することが可能になる.
Q. どうやって有効だと検証した?
A. web上では定量的な評価は示されていない.代わりに,多くのサンプルによって証明している.
Q. 議論はある?
A. 正確な物理演算や因果関係の生成には限界がある.また,長時間の動画や,オブジェクトの突発的な出現などもみられる.
🗒️ 詳細
視覚的なデータをパッチ処理する
LLMパラダイムでは,テキストや数学,コード,様々な自然言語といった多様なモダリティを統合するためにトークン(token)を使用した.soraでは,視覚的なデータを統合するために視覚パッチ(visual patches)を使用する.
①ビデオを圧縮する (Video compression network)
生のビデオを入力として,時間的・空間的に圧縮された潜在表現を出力する
②パッチに分解する(Spacetime Latent Patches)
圧縮されたビデオから,変換トークンとして機能する「時空間パッチ」のシーケンス(特定の順番で並べられた要素の連続)を抽出する.画像は1フレームのビデオなので,この方法は画像にも有効である.
パッチベースの表現により,soraは様々な解像度,時間,アスペクト比のビデオや画像に対して学習可能になる.(※)
③ パッチから学習(Scaling transformers for video generation)
soraは拡散変換(Diffusion transformer)を使用したモデル.近年の動画生成モデル同様,soraもdiffusion modelを使用.ノイズの多いパッチ(やテキストプロンプトのような条件)が与えられると,元のきれいなパッチを予測するように学習する.
transformerを用いてスケーリングすることで,学習量に対して精度が向上
シンプルで強力な新しいアプローチを採用
従来の画像・動画生成のアプローチでは,動画を標準化(リサイズ・クロップ・トリミング)するのが一般的だった.本研究では,本来のサイズのデータでトレーニングをすることで,様々なメリットを発見した.
サンプリングの柔軟性
soraは,ワイドスクリーン向けの1920×1080p の動画から縦型の1080×1920,そしてその中間のすべてのサイズにサンプリングできる.
また,フル解像度でコンテンツを作成する前に,より小さいサイズのプロトタイプを作成することもできる.
※従来の標準化での問題
従来のモデルで使用されてきた正方形にトリミングされる方法では,被写体が一部しか映っていない動画を生成することがある.それに比べsoraではフレーミングがカイゼンされている
リキャプション機能で高品質なテキスト->ビデオを実現
テキスト->ビデオのトレーニングには,テキストキャプション付きの大規模なビデオデータが必要(現実的に不可能).本モデルでは,DALL-E3で導入したリキャプション技術(↗)を採用.また,DALL-E3と同様に,GPTを活用して短いプロンプトを長い詳細なキャプションに変換し,ビデオモデルに送信する.これにより,ユーザーのプロンプトに従った高品質なビデオを生成することができる.
動画・画像からの動画生成も可能
promptには,テキストだけでなく動画や画像の入力も可能
画像をアニメーション化
静止画をアニメーション化
動画の拡張
動画の長さを前後に引き延ばす
動画から異なる動画へ
入力した動画を異なるテイストにする
動画と動画をシームレスにつなぐ
異なる動画をいい感じにつなぐ
新しいシュミレーション能力(コレスゴイ…)
大規模な訓練により,従来達成できなかった物理的な人,動物,環境のいくつかの側面をシュミレートすることができる.
3Dの一貫性
ダイナミックなカメラモーションを持つビデオを生成することが可能に.カメラモーションに対して,一貫した人物やオブジェクトの移動が再現できる.
時間的一貫性の維持
長時間の映像では,時間的な一貫性を維持することが重要.たとえば,オブジェクトがフレームから一度消えて再び出て来るような映像では,オブジェクトの存在を維持する必要がある.
因果関係のシュミレーション
従来の生成モデルは,時間の前後での原因と結果をうまく表現できなかった.soraでは,それも可能に(後述)
例えば,以下では人がハンバーガーを食べたら,ハンバーガーの嚙んだ後が再現されている
人工的な世界のシュミレーション
人工的なプロセスをシュミレーションすることもできる.以下では,マイクラでプレイヤーがコントロールしている映像を再現してる(しかもzero-shotで)
現時点での限界
どうしても物理演算や因果関係の再現は難しい.うまくいった例もあればうまくいかない例もある.
🗣️感想・コメント
いやーーーすごい!以上!
だけでは,物足りないので個人的な感想を.
chatgptの衝撃から早一年がたち,つくづくdiffusion×transformerの成長の速さには驚かされるなー,と.去年の段階では時間の概念はまだ先になりそうって感じだったけど,一気に飛び越えてきた感じ.
落合氏が言うように,計算機が作り出す自然を人間が理解できない世界がどんどん広がっている.よく見たら不自然に見える映像もぼーっと見てたら変だと思わないし,そもそも自然なんてもの僕たちは理解していない.
end2end,つまり体験を体験のまま描くことで物理演算,時間再現が可能になる可能性が.単純に動画つくれるスゲーという以上に,自然を理解してないのに,自然を再現できるブラックボックス化がますます顕著に.
人間が世界の記述者ではなくなる,そんな計算機自然のパラダイムを目の前に感じました.
あとは,個人的に.
僕の本名がソラで,朝からsoraでタイムラインがにぎわっているんだけど…お昼過ぎにまたソラのamiiboなるものがトレンド入りしていて,今日は僕の日だなと思ったので急ピッチで投稿してみました.良ければコメントなどください😄