VARとは?粗い画像から細部へ並列生成し、画像生成を高速化する次スケール予測

VARは、画像を粗い解像度から高解像度へ段階的に生成するVisual Autoregressive Modelingです。次スケール予測の仕組み、VQトークナイザ、ImageNetでの結果、画像生成開発への使い道を解説します。

参考文献

Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction

Keyu Tian, Yi Jiang, Zehuan Yuan, Bingyue Peng, Liwei Wang

論文を見る

今回の論文

今回取り上げるのは、Keyu Tianらによる「Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction」です。2024年4月にarXivで公開され、NeurIPS 2024に採録された論文です。公開元はarXiv、URLは https://arxiv.org/abs/2404.02905 、研究分野は画像生成・視覚的自己回帰モデルです。

選んだ理由は、画像生成の自己回帰モデルが遅くなりやすい根本原因を、Transformerを複雑化するのではなく「何を次に予測するか」という単位の変更で解いているからです。拡散モデル以外の高速な生成方式を考える際にも、粗から密への処理分割、並列化、トークナイザ設計という実装に近いヒントがあります。

どんな技術か

VAR(Visual AutoRegressive Modeling)は、画像を左上から1トークンずつ描く代わりに、低解像度の全体像から高解像度の細部へ、解像度の段階ごとに生成する手法です。この予測方式を「next-scale prediction(次スケール予測)」と呼びます。

例えば、最初に1×1のトークン地図で画像全体の大まかな意味を決め、次に2×2、4×4というように解像度を上げます。同じ解像度のトークンは一括で並列生成できます。従来の画像自己回帰が数百〜数千回の逐次デコードを要したのに対し、VARは論文のImageNet 256×256設定で10段階にまとめます。画像の空間構造に合う生成順序へ変えることで、品質と速度の両方を狙う技術です。

課題

画像を離散トークンにして言語モデルのように生成する方法には魅力がありますが、2次元の画像を無理に1次元列へ平坦化する問題があります。

  • 画像には自然な左から右への順序がありません。ラスタ走査で1トークンずつ固定すると、近傍ピクセルや離れた領域の相関を片方向の条件付き確率に押し込みます。
  • 解像度が上がるとトークン数は二乗で増えます。通常の自己回帰では各トークンでモデルを一度動かすため、待ち時間が大きくなります。論文は、標準的な自己注意を使う場合、生成計算量が潜在マップの一辺をnとして O(n^6) になると整理しています。
  • 既知の領域の周囲だけを補うインペインティングのように、前後・上下の両方向の文脈を使いたい処理では、一方向の生成順が制約になります。

実際の画像生成サービスでは、この問題は単なるベンチマークの差ではありません。大量サムネイルの生成、インタラクティブな編集、動画への拡張では、反復回数がレイテンシとGPUコストを直接押し上げます。空間構造を保ちつつ、逐次依存をどこまで減らせるかが課題です。

用語解説

自己回帰(autoregressive)モデル
これまでに生成した内容を条件に、次の内容の確率を予測するモデルです。VARは自己回帰性を捨てず、1トークンではなく1解像度を次の予測単位に変えます。
VQ-VAE(ベクトル量子化VAE)
連続値の画像特徴を、コードブックにある有限個のIDへ置き換えるオートエンコーダです。VARでは画像をTransformerが扱える離散トークン地図へ変換し、最後に画像へ復元する土台になります。
マルチスケール表現
同じ画像を異なる解像度で表す方法です。低解像度は構図、高解像度は質感や輪郭を担いやすく、VARが粗から細へ条件付けする順序を作ります。
クロスエントロピー損失
正しい離散トークンに高い確率を割り当てるよう学習する損失です。VARでは各解像度のトークン地図を、前段の地図から当てるように最適化します。
FID(Fréchet Inception Distance)
生成画像と実画像の特徴分布の距離を測る指標で、小さいほどよいとされます。本論文では生成品質を比較する中心指標であり、速度だけを得て画質を失っていないかを確認します。

技術の仕組み

VARは「トークナイザを学習する段階」と「画像を生成するTransformerを学習する段階」に分かれます。肝心なのは、各段階で前の粗い表現を捨てず、次の細かい表現の条件として残す点です。

1. 画像を残差的な複数スケールのトークンへ分解する

まず、VQ-VAEのエンコーダが画像を特徴マップへ変換します。VARのマルチスケール量子化器は、この特徴を小さい解像度から順にコードブックIDへ量子化します。各段階で復元した特徴を元の特徴から引く残差形式なので、早い段階には全体の意味、後の段階には前段で説明しきれない細部が入りやすくなります。

全スケールでコードブックを共有し、論文の設定では語彙サイズを4,096にしています。各量子化トークンをアップサンプルし、スケール別の畳み込みを通して足し合わせ、デコーダで画像を再構成します。これは単に縮小画像を別々に保存する処理ではなく、粗い層から順に情報を残差として分担するトークナイザです。

2. 次の「トークン」ではなく次の「地図」を予測する

得られたトークン地図を r1, r2, ..., rK とします。通常の自己回帰は x1 の次に x2 を予測しますが、VARは r1 の次に r2、その次に r3 を予測します。確率は、p(r1,...,rK)=∏p(rk | r1,...,r(k-1)) と分解されます。

ここで重要なのは、同じrk内のトークンは一つずつではなく並列に生成できることです。学習中はブロック単位の因果マスクにより、あるスケールが自分以前のスケールだけを参照するようにします。一方、同一スケール内では空間的に相互参照できます。これにより2次元の近傍関係を壊さず、画像の段階的な構図形成に合う因果構造を作ります。

3. GPT型Transformerで粗から細へサンプリングする

生成器はAdaLN(Adaptive Layer Normalization)を持つGPT-2型のdecoder-only Transformerです。クラス条件付きImageNet生成では、クラス埋め込みを開始トークンとAdaLNの条件に使います。学習は各スケールの正解IDに対する通常のクロスエントロピーです。

推論では開始条件から最小スケールを出し、その地図をKVキャッシュに追加しながら、より高いスケールを順に生成します。各段階の地図内は並列なので、必要な逐次反復は画素数ではなく解像度段階数になります。論文は一辺nの潜在表現に対し、従来ARのO(n^6)からVARではO(n^4)へ計算量を下げ、反復回数をO(n^2)からO(log n)へ減らせると示しています。

実験と結果

論文はクラス条件付きImageNetの256×256と512×512で、GAN、拡散モデル、マスク予測型、従来の自己回帰モデルと比較しました。品質はFID、Inception Score(IS)、precision、recallで、効率は画像一枚を作るモデル実行回数と相対実時間で確認しています。

ImageNet 256×256で品質と反復回数を両立

2.0BパラメータのVAR-d30は、rejection samplingありでFID 1.73、IS 350.2、precision 0.82、recall 0.60を記録しました。比較表ではDiT-XL/2のFIDは2.27、L-DiT-3Bは2.10でした。VAR-d30は10回のモデル実行、相対時間1で生成するのに対し、DiT-XL/2は250ステップ・相対時間45、VQGANは256ステップ・相対時間24です。

同じ枠組みで小型のVAR-d16でも、310Mパラメータ・10ステップでFID 3.30でした。最終の巨大モデルだけが効いたわけではなく、ARをVARへ置き換えるアブレーションでFIDが18.65から5.22へ改善し、推論コストは基準ARの0.013倍でした。さらにAdaLN、top-kサンプリング、classifier-free guidance、Q/K正規化を加えて3.30まで改善しています。

512×512とスケーリングの検証

512×512ではVAR-d36がFID 2.63、IS 303.2、相対時間1を示しました。比較対象のDiT-XL/2はFID 3.04、相対時間81でした。評価条件・実装差を含む論文内比較ではあるため、任意の現行商用モデルに対する優位を意味する数値ではありませんが、解像度が上がっても段階生成の利点が残ることを示します。

18.5M〜2.0Bパラメータの12モデルでも検証し、ImageNet 128万枚で1エポックあたり約8,700億画像トークン、最大3,050億トークンまで学習しました。パラメータ数や最適学習計算量と損失・トークン誤り率の対数関係は、Pearson相関係数がおよそ-0.998のべき則に適合しました。小さいモデルで伸び方を見て、より大きな学習への投資を見積もれる可能性が論文の意義です。

編集タスクへのゼロショット適用

VAR-d30に対し、マスク外のトークン地図を正解で固定し、マスク内だけを生成することで、追加学習なしのインペインティング・アウトペインティングを試しています。さらにバウンディングボックス内だけをクラス条件で生成する編集も例示しました。定量ベンチマークというより可能性の確認ですが、スケール内で双方向の文脈を扱える設計が局所編集に使えることを示しています。

何に使える?

VARをそのまま既存の画像生成APIに後付けすることはできません。トークナイザと生成器を一体で学習する必要があります。その前提で、次のような生成基盤で特に検討価値があります。

高頻度のバッチ画像生成

ECサイトの商品バリエーション、ゲーム内アセットの案出し、記事のアイキャッチ候補など、一度に多数の画像を作る処理です。生成反復が少ないため、品質条件を満たすなら待ち行列の滞留とGPU利用時間を抑えられる可能性があります。単発の最高品質だけでなく、単位時間当たりの採用候補数で評価するのが適しています。

部分修正を中心とするクリエイティブツール

背景を残して被写体だけを補う、余白を広げる、指定枠の内容を差し替えるといった操作です。VARのゼロショット例は、既知領域を条件として保持しながら未知領域を補う設計の出発点になります。ただしテキスト指示での細かな制御は本論文の主実験ではないため、別途テキスト条件付けと編集の失敗率を評価してください。

長尺動画・世界モデルの研究

論文は動画を実装していませんが、時間も含む3次元ピラミッドに次スケール予測を広げる方向を将来課題として挙げています。時間方向をトークン列に平坦化すると逐次回数が急増するため、粗い動きから細部へ生成する発想は、長尺動画やシミュレーションの候補になります。ここは論文で実証済みの用途ではなく、技術的な拡張案です。

開発や事業へのヒント

この論文の実務的な学びは、モデルの演算を減らす前に「生成の依存単位」を見直すことです。画像生成以外でも、細かな要素の逐次処理を、意味のある塊の順序へ置き換えられないかを検討できます。

プレビューと最終描画を同じ生成過程にする

粗いスケールは構図確認用のプレビュー、細かいスケールは最終品質という役割分担を持ちます。ユーザーが構図を早く確認でき、採用した案だけを後段まで生成するUXは考えられます。ただしVAR論文は途中で人が介入するUIを評価していないため、実装時は中断・再開時のKVキャッシュ管理と、粗いプレビューが意思決定に十分かを測る必要があります。

トークナイザを生成品質の一部として扱う

VARでは生成Transformerだけでなく、残差型マルチスケールVQ-VAEが「どの情報を先に決めるか」を定義します。自社画像の生成・復元を扱うなら、コードブック再構成品質、細い文字やロゴ、商品固有の形状が各スケールにどう分配されるかを、モデル本体と同等に評価すべきです。

スケーリング前に小型モデルで曲線を取る

論文は複数モデルサイズで損失と計算量の関係を測りました。小規模チームでも、いきなり最大GPU予算を投じる前に、同じデータ・同じ評価セットで小中規模のモデルを数点訓練し、品質、レイテンシ、1採用画像当たりのコストを曲線として取れます。べき則が必ず再現するとは限りませんが、投資判断を単一のデモ画像から切り離せます。

限界

VARの結果は主にクラス条件付きImageNetで得られたものです。現在一般的な、自由文プロンプトからの大規模な画像生成、人物・文字・複数物体の複雑な指示追従まで直接検証したものではありません。論文自身もテキストプロンプト生成を今後の課題にしています。

また、最良の結果には2.0BパラメータのTransformerと、OpenImagesで訓練したトークナイザが必要です。推論の反復回数は減っても、モデルの常駐メモリ、KVキャッシュ、トークナイザの学習コストが消えるわけではありません。小規模GPUでの実効レイテンシは、バッチサイズと実装カーネルを含めて測定してください。

さらに、離散コードブックによる情報落ちと、粗いスケールで決めた構図の誤りは後段へ引き継がれます。段階的生成は高速化に有利ですが、最初の構図を修正する制御、テキスト・参照画像への忠実性、著作権・データ来歴の管理は別途必要です。ゼロショット編集の結果は定性的であり、失敗率や人手評価の十分な検証は残っています。

よくある質問

Q. VARは拡散モデルを常に置き換えられますか?

A. いいえ。論文のImageNetクラス条件付き評価ではDiT系を上回る結果ですが、テキストからの高精細画像、制御性、安全性、エコシステムまで含む一般的な優劣は検証していません。用途のデータと品質指標で比較してください。

Q. VARはなぜ高速なのですか?

A. 同じ解像度のトークンを並列に生成し、1トークンずつの逐次デコードを解像度段階ごとのデコードに置き換えるからです。論文の256×256設定では10段階で、VQGANの256回やDiT-XL/2の250反復より少なくなっています。

Q. VQ-VAEはVARに必須ですか?

A. 本論文のVARでは必須です。画像を共有コードブックの離散トークン地図へ変え、残差的な複数スケールへ分解します。別のトークナイザを使う研究は可能ですが、スケール間の条件付けが成立するかを再検証する必要があります。

Q. 既存のStable DiffusionにVARだけを追加できますか?

A. そのままの追加はできません。VARは拡散のサンプラーではなく、離散画像トークンを予測する生成パラダイムです。採用するには、トークナイザ、Transformer、学習データ、条件付けを含む生成パイプラインを設計し直します。

Q. 小規模プロダクトは何から試すべきですか?

A. まずは公式実装を用い、対象ドメインに近い少数の画像で、生成時間、FIDだけでなく人手採用率、編集成功率、GPUコストを測るのが現実的です。独自学習へ進む前に、粗いプレビューがユーザーの選別に役立つかも確認してください。

今日の学び

この論文は、画像を1次元のトークン列として逐次生成すると空間構造と速度を失いやすい課題を扱いました。VARは、残差的なマルチスケールトークンを作り、粗い地図から細かい地図を予測することで解こうとします。開発では、計算を最適化する前に、データの構造に合う「予測の単位」と「並列にできる境界」を再設計することが、品質・速度・拡張性を同時に改善するヒントになります。