VAR(Visual Autoregressive Modeling)を徹底解説 — 次スケール予測で拡散モデルを超えた画像生成【NeurIPS 2024 Best Paper】

GPTが文章を「次の単語」を1つずつ予測して生成するように、画像も「次のピクセル(トークン)」を1つずつ予測すれば作れるはずです。実際にそういう自己回帰(AR)画像生成モデルは長年研究されてきました。しかし画像生成の主役は、長らく拡散モデルに奪われたままでした。ARモデルは画質でもスピードでも拡散に勝てなかったのです。

その常識をひっくり返したのが VAR(Visual Autoregressive Modeling) です。NeurIPS 2024 のベストペーパーに選ばれたこの論文(Tian et al.)は、「自己回帰の単位を変える」というシンプルな発想で、ImageNet生成において拡散モデル(DiTを含む)を画質・速度の両方で上回りました。さらに、言語モデルでおなじみのスケーリング則(モデルを大きくすると性能が綺麗な冪乗則で伸びる)が画像生成でも成り立つことを示し、「画像生成版GPT」への道を開いた一本です。

この記事では、VARの核心である次スケール予測(next-scale prediction)を、論文の図(CC0・パブリックドメイン)を引用しながら、アーキテクチャから評価まで読めば全部わかる形で解説します。

なぜVARを学ぶのか

VARを理解する価値は、具体的に次の場面で効いてきます。

  • 生成モデルの設計思想を更新できる:「自己回帰の単位は1トークンでなくてよい」という発想は、画像に限らず音声・動画など他のモダリティの生成設計にも波及しています。
  • 拡散一強の構図を相対化できる:拡散モデル(DiTなど)とARモデルの長所・短所を、同じ土俵で比較できるようになります。
  • スケーリング則の普遍性を体感できる:言語で確立したスケーリング則が画像でも再現することは、「大きくすれば伸びる」という投資判断の根拠になります。

この記事を読む前に、以下を押さえておくとスムーズです。

何が問題だったのか — 従来のAR画像生成

まず、従来のAR画像生成が抱えていた弱点を整理します。

従来ARとVARの対比図:左はラスタ走査で1トークンずつ生成(n×nステップ)、右は解像度を粗から細へ段階生成(Kステップ)

従来のAR画像生成(左)は、画像をVQ-VAEで $n \times n$ 個の離散トークンに変換し、それを左上から右下へラスタ走査の順に1個ずつ予測します。ここには2つの根本問題がありました。

  1. 順序が不自然:画像は本来2次元で、ピクセル間に「前後」はありません。それを無理やり1次元の系列に並べると、空間的に近いのに系列上は遠い、という歪みが生じます。
  2. 遅い・重い:$n \times n$ 個のトークンを1つずつ生成するので、生成には $n^2$ 回の前向き計算が必要です。さらにAttentionのコストも乗るため、計算量は $O(n^6)$ に達します。

VAR(右)の答えは「1トークンずつでなく、1解像度ずつ生成する」というものです。粗い全体像から始め、解像度を段階的に上げていきます。これが次スケール予測です。

論文自身の図で、この対比を見てみましょう。

論文Fig.2:標準的なAR(ラスタ順の next-token 予測)と、提案手法VARの next-scale 予測の対比

出典: Tian et al., “Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction” (NeurIPS 2024), Fig.2 (CC0 / public domain)

論文Fig.2の上段が従来のnext-token予測、下段がVARのnext-scale予測です。VARでは予測の「1単位」が1個のトークンではなく、ある解像度のトークンマップ全体になっています。次の節で、この解像度ピラミッドを詳しく見ます。

核心アイデア — 次スケール予測

VARの生成単位は、解像度の異なるトークンマップの列 $r_1, r_2, \dots, r_K$ です。

マルチスケール・トークンマップの図:1×1→2×2→3×3→5×5→8×8と解像度が上がる解像度ピラミッド

$r_1$ は $1\times1$ の最も粗いマップ(画像全体の大まかな情報)、$r_K$ は $n\times n$ の最も細かいマップ(ディテール)です。生成は次の自己回帰で進みます。

$$ p(r_1, r_2, \dots, r_K) = \prod_{k=1}^{K} p(r_k \mid r_1, r_2, \dots, r_{k-1}) $$

ここがポイントです。自己回帰の各ステップ $k$ では、スケール $k$ のトークンマップに含まれる全トークンを「同時に」予測します。スケール内のトークン同士には因果順序を課さず、互いに見える(双方向の)状態で一気に出します。条件にするのは「より粗い、過去の全スケール」だけです。

この設計には2つの効能があります。

  • 空間構造が保たれる:1次元に無理やり並べないので、画像本来の2次元性を壊しません。粗い全体構図を先に決め、それを足場に細部を描く——人間が絵を描く手順にも近い、自然な順序です。
  • ステップ数が激減する:自己回帰のステップ数が $n^2$ から $K$(スケール数、たかだか $\log n$ 程度)へ減ります。1スケール内は並列予測なので、生成が劇的に速くなります。

では、この解像度ピラミッドのトークンはどう作るのでしょうか。それを担うのが Stage 1 の量子化器です。

Stage 1 — マルチスケール残差VQオートエンコーダ

VARの学習は2段階に分かれます。論文の全体図を見ましょう。

論文Fig.4:VARの2段階学習。Stage1のマルチスケールVQオートエンコーダと、Stage2のVARトランスフォーマー

出典: Tian et al. (NeurIPS 2024), Fig.4 (CC0 / public domain)

Stage 1 では、画像をマルチスケールのトークン列に可逆変換する量子化器を学習します。自作図で内部を噛み砕きます。

Stage1の自作図:エンコーダで特徴マップを作り、残差量子化で各スケールr1..rKを抽出、共有コードブックを使いデコーダで画像復元

仕組みはこうです。エンコーダ $E$ が画像を連続特徴マップ $f$ に変換します。ここから残差量子化(residual quantization)で複数スケールのトークンを順に取り出します。

  1. まず $f$ を最も粗い解像度に縮小して量子化し、$r_1$ を得る。
  2. $r_1$ を元の解像度に戻して $f$ から引き、残差を計算する。
  3. 残差を次に細かい解像度で量子化して $r_2$ を得る。
  4. これをスケール $K$ まで繰り返す。

こうして「粗いスケールが大域構造を、細かいスケールがディテールを担う」階層表現ができます。残差量子化を式で書くと、特徴 $f$ の近似は各スケールの量子化結果の和

$$ \hat{f} = \sum_{k=1}^{K} \text{up}_k\big(\text{Quant}(f_k)\big), \qquad f_{k} = \text{down}_k(f) – \sum_{j

の形になります。ここで $\text{down}_k, \text{up}_k$ はスケール $k$ の解像度への縮小・拡大、$\text{Quant}$ はコードブックの最近傍ベクトルへの割り当てです。各スケールが「前のスケールで表現しきれなかった残り(残差)」だけを担当するため、$K$ を増やすほど復元精度が滑らかに上がります。

重要なのは、全スケールで1つのコードブック(符号帳)を共有する点です。スケールごとに別々の語彙を持つのではなく、共通の語彙で粗密を表現します。これによりコードブックの利用効率が上がり、Stage 2 のTransformerが扱う語彙も1種類で済みます。デコーダは全スケールのトークンを足し合わせて画像を復元します。

この量子化器によって、どんな画像も「解像度ピラミッドのトークン列」へ可逆に変換できるようになりました。次は、この列を生成する本体——VARトランスフォーマーです。

Stage 2 — VARトランスフォーマー

Stage 2 では、Stage 1 で作ったトークン列を使って、next-scale予測を行うTransformerを学習します。

Stage2の自作図:入力r1から r2 を予測、r1:r2 から r3 を予測…とスケールを進める。ブロック単位の因果注意(スケール内は全結合、スケール間は過去のみ)

構造はGPTと同じデコーダ型Transformerですが、注意(Attention)のマスクが独特です。ブロック単位の因果注意(block-wise causal attention)を使います。

  • スケール内:同じスケールのトークン同士は、互いに全て参照できる(双方向・全結合)。だから1スケールを並列に同時予測できる。
  • スケール間:あるスケールのトークンは、それより粗い過去のスケールだけを参照できる。未来(より細かいスケール)は見えない。

学習時は、正解のトークン列を入力し「各スケールを1つ次のスケールにずらして当てる」teacher-forcing で、全スケールを並列に学習します。GPTのnext-token予測の「token」を「scale」に置き換えただけ、と捉えると分かりやすいです。

生成時は、$r_1$ から出発して $r_2$ を予測し、$r_1, r_2$ を条件に $r_3$ を予測し……と $K$ 回で全スケールを得て、Stage 1 のデコーダで画像に戻します。クラス条件付き生成では、クラス埋め込みを開始トークン($r_1$ の条件)として与えます。

このアーキテクチャが、なぜ速さにつながるのかを次に定量的に見ます。

なぜ速いのか — 計算量の比較

next-scale予測がもたらす効率を、生成ステップ数と計算量オーダーで比べます。

計算量比較の自作図:左は生成ステップ数(従来ARはn^2、VARはK)、右は計算量オーダー(従来O(n^6) vs VAR O(n^4))

左のグラフは、トークンマップの辺 $n$ に対する自己回帰ステップ数です。従来ARは $n^2$ で急増しますが、VARは $K$(おおよそ $\log n$ 規模)にとどまります。右は計算量オーダーで、論文の解析では従来ARの $O(n^6)$ に対しVARは $O(n^4)$ です。実測でもVARは同規模の拡散モデルより約20倍速い生成を達成しています。

「順序を変えただけ」で画質も速度も改善したのは、無駄な逐次性を捨てて画像の階層構造に沿った生成にしたからです。ここで、VARを拡散モデル・従来ARと並べて整理しておきます。

観点 従来AR(next-token) 拡散モデル(DiT等) VAR(next-scale)
生成の単位 1トークン ノイズ除去ステップ 1スケール(解像度)
生成方向 ラスタ走査 ノイズ→画像 粗→細
逐次ステップ数 $n^2$ 数十〜数百 $K$($\approx\log n$)
計算量オーダー $O(n^6)$ $O(n^4)$
空間構造 1次元化で歪む 保たれる 保たれる
スケーリング則 不明瞭 部分的 明確に成立

VARは「ARの高速な逐次生成・スケーリング則」と「拡散の高画質・空間構造保持」の良いところを併せ持つ立ち位置にあります。では肝心の画質と、スケーリング則はどうだったのでしょうか。

スケーリング則 — 画像生成版GPTの証拠

VARの最も重要な発見の1つが、スケーリング則の成立です。論文Fig.5を見ましょう。

論文Fig.5:VARトランスフォーマーのサイズNに対するスケーリング則。テスト損失・トークン誤り率が冪乗則(点線)でフィットされる

出典: Tian et al. (NeurIPS 2024), Fig.5 (CC0 / public domain)

横軸がモデルパラメータ数 $N$(両対数)、縦軸がテスト損失やトークン誤り率です。データ点が点線の直線(冪乗則)にほぼ完璧に乗っており、相関係数は0.998前後に達しています。これは「モデルを大きくすれば、損失が予測可能な冪乗則で下がる」ことを意味します。概念を自作図でも示します。

スケーリング則の自作概念図:モデルパラメータNを増やすほどテスト損失が冪乗則L=(βN)^αで低下

冪乗則は $L = (\beta \cdot N)^{\alpha}$ の形で、両対数を取ると $\log L = \alpha \log N + \alpha \log \beta$ という直線になります。傾き $\alpha$ が負なので、$N$ を増やすほど $L$ が下がります。言語モデルで観測されたのと同じ法則が画像生成で再現したことは、「計算資源を投じれば確実に伸びる」というGPT流のスケール戦略が、画像生成にも持ち込めることを示します。

具体的な数値で見ると、VARはImageNet 256×256のクラス条件付き生成で FID 1.73 / IS 350 前後を達成し、同設定のDiT-XL/2(FID 2.27)を上回りました。FID(Fréchet Inception Distance)は生成画像と実画像の特徴分布の近さを測る指標で小さいほど良く、IS(Inception Score)は多様性と鮮明さを測る指標で大きいほど良い指標です。VARは両指標で拡散モデルを上回りつつ、生成は約20倍高速という、画質と速度のトレードオフを同時に改善する結果を出しました。スケール則と合わせて、「もっと大きくすればさらに伸びる」余地が残っていることも示されています。

スケールで品質が伸びるだけでなく、VARは1つの学習済みモデルで複数タスクをこなせます。

ゼロショット汎化

VARは、追加学習なしに(ゼロショットで)下流タスクへ一般化できます。

ゼロショット汎化の自作図:クラス条件生成・インペインティング・アウトペインティング・画像編集を、共通のnext-scale予測で部分トークンを条件に補完して実現

インペインティング(欠損補完)やアウトペインティング(外側への拡張)、クラス条件付きの編集などが、追加学習なしで行えます。仕組みは単純で、既知の領域のトークンを条件として固定し、残りのトークンをnext-scale予測で生成するだけです。GPTがプロンプトを条件に続きを書くのと同じ発想を、画像の解像度ピラミッド上で行っているわけです。言語モデルが見せた汎用性が、画像生成でも芽生え始めていることを示す結果です。

まとめ

VAR(Visual Autoregressive Modeling)を、論文の図を引用しながら解説しました。要点を振り返ります。

  • 次スケール予測:自己回帰の単位を「1トークン」から「1解像度(スケール)」へ変更。粗→細の解像度ピラミッド $r_1, \dots, r_K$ を順に生成する。
  • 2段階学習:Stage 1 のマルチスケール残差VQオートエンコーダで画像をトークンピラミッドへ可逆変換し、Stage 2 のブロック因果注意Transformerで next-scale 予測を学習。
  • 効率:自己回帰ステップが $n^2 \to K$ に減り、計算量は $O(n^6) \to O(n^4)$。拡散モデルより約20倍高速。
  • スケーリング則:言語モデルと同じ冪乗則が画像生成で成立。2BモデルでDiTなどの拡散モデルをFID/ISで上回り、NeurIPS 2024ベストペーパーに。
  • ゼロショット汎化:1モデルでインペインティング・編集などへ追加学習なしに対応。

「自己回帰の単位を変える」というシンプルな問い直しが、拡散一強だった画像生成の構図に風穴を開けました。DiTが「拡散のバックボーンをTransformerに」と提案したのに対し、VARは「生成のパラダイムそのものをARに戻しつつ単位を刷新する」アプローチで、生成モデルの選択肢を大きく広げた一本と言えます。