Visual Autoregressive Modeling (VAR)
視覚的自己回帰モデリング(VAR)について解説します。次スケール予測が、従来の手法や拡散モデルよりも画像生成の速度と品質を高める仕組みを学びましょう。
視覚自己回帰モデリング(VAR)は、大規模言語モデル(LLMs)によって広まった自己回帰学習戦略を画像生成タスクに応用する、先進的なコンピュータービジョンのパラダイムです。従来の視覚自己回帰手法では、画像を1次元の系列にエンコードし、ラスタースキャン順にトークンを1つずつ予測しますが、これは計算コストが高く、視覚データの自然な2次元構造を無視しています。一方、VARでは粗いものから細かいものへと進む「次スケール予測」アプローチを導入します。個々のトークンを行ごとに予測するのではなく、より高解像度の特徴マップまたはスケールを段階的に予測して画像を生成します。この手法は構造的な整合性を保ちながら、画像品質と推論速度の両方を大幅に向上させます。
視覚自己回帰モデリングの仕組み#
VARの中核となるのは、従来の次トークン予測を次スケール予測に置き換えることです。まず、画像をベクトル量子化変分オートエンコーダー(VQ-VAE)に似たアーキテクチャを使用して、マルチスケールの離散トークンマップに圧縮します。生成段階では、トランスフォーマーモデルが最小解像度(1x1グリッドなど)から目標解像度(16x16や32x32グリッドなど)まで、これらのトークンマップを順次予測します。各スケールで空間構造を同時に処理するため、VARは2次元画像に本来備わっている双方向の相関関係を適切に保持します。
この新しいアプローチにより、VARモデルはOpenAI GPT-4のようなテキストベースのアーキテクチャに匹敵する、予測可能なスケーリング則を確立できます。研究者がモデルのパラメーター数を増やすと、性能は一貫して向上します。視覚自己回帰モデリングに関するNeurIPS 2024の論文によると、VARは難易度の高いImageNetベンチマークで競合アーキテクチャを上回りました。フレシェ開始距離(FID)とInceptionスコアの両方で優れた指標を達成しながら、はるかに高速に実行できます。
VARと拡散モデルの比較#
VARと拡散ベースの生成AIを区別することが重要です。拡散モデルは、初期キャンバスから連続的なノイズを反復的に除去して画像を生成するよう学習します。一方、VARは離散トークンを処理します。ノイズ除去を行う代わりに、解像度を段階的に上げながら自己回帰的に画像を構築します。拡散トランスフォーマー(DiT)は視覚的合成の主要な標準となっていますが、VARのトークンベースのアプローチは、トランスフォーマーモデルの最適化研究の成果を直接活用できるため、スケーラビリティとデータ効率の両面でDiTを上回ります。
実際のアプリケーション#
LLMの推論能力と高忠実度のビジョンを融合させることで、視覚自己回帰モデリングは実用的な複数の機能を実現します。
- ゼロショット画像編集とインペインティング: VARはゼロショット操作にネイティブで対応しています。特定のスケールや領域をマスクすることで、開発者はベースアーキテクチャを再学習またはファインチューニングすることなく、画像をシームレスに編集したり拡張したりできます。
- 小売業向けのスケーラブルなアセット生成: VARの非常に高速な推論により、高品質な画像をリアルタイムで合成できるため、商品背景やパーソナライズされたマーケティングアセットを大規模に動的生成できます。
自己回帰ワークフローの実装#
VARモデルはコンテンツ生成に重点を置いていますが、Ultralytics YOLO26のような強力な知覚モデルと組み合わせて、包括的なマルチモーダルパイプラインを構築できます。たとえば、YOLO26で正確な物体検出を行って対象を切り分け、その領域を自己回帰モデルに渡して強調やスタイル変更を行えます。
以下は、標準のPyTorch Transformerモジュールを使用してVARの基本ロジックをシミュレーションし、マルチスケールの自己回帰ループでトークンマップの次のスケールを反復的に予測する方法を示す、概念的なPyTorchのコード例です。
import torch
import torch.nn as nn
# Conceptual VAR Next-Scale Prediction Loop
class SimpleVARGenerator(nn.Module):
def __init__(self):
super().__init__()
# Simulated transformer to predict next resolution token map
self.transformer = nn.TransformerEncoderLayer(d_model=256, nhead=8)
def forward(self, initial_scale_token):
current_tokens = initial_scale_token
# Iteratively generate next scales (e.g., 1x1 -> 2x2 -> 4x4)
for scale in [1, 2, 4]:
# Model predicts the structural layout for the higher resolution
next_scale_tokens = self.transformer(current_tokens)
# Expand and update tokens for the next iteration
current_tokens = torch.cat((current_tokens, next_scale_tokens), dim=1)
return current_tokens
model = SimpleVARGenerator()
seed_token = torch.randn(1, 1, 256) # 1x1 starting scale
final_output = model(seed_token)
print(f"Generated multi-scale tokens shape: {final_output.shape}")データセットのキュレーションから複雑なアーキテクチャの評価まで、エンドツーエンドのビジョンパイプラインを構築する研究者向けに、Ultralytics Platformは自動アノテーション、トラッキング、クラウドデプロイのための堅牢なツールを提供します。ビジョン言語モデル(VLM)の最適化でも、次スケール予測の実験でも、統合された視覚インテリジェンスのエコシステムが現実世界のユースケース全体でイノベーションを加速します。









