Vision Transformer — 画像をトークン列として読む

「画像は16×16の単語の集まりである」— ViT は画像をパッチに切ってトークン列に変換し、Transformer にそのまま流し込みます。CNN が半世紀かけて磨いた帰納バイアスを捨て、データ量で殴るこの発想が、なぜ・いつ勝つのか。そして CLIP・SAM・DINO が拓いた基盤モデル時代までを一気に見渡します。

1. 画像は「16×16の単語」 — パッチ埋め込み

Transformer の入力はトークン(ベクトル)の列です(Transformer 章参照)。画像をこの形に変換するために、ViT は画像を P×P 画素のパッチに格子状に切り分け、各パッチを1本のベクトルに平坦化して線形層 E で埋め込みます。224×224 の画像を 16×16 のパッチで切れば 196 トークン — ちょうど1つの文と同じ長さのトークン列です。

切り分けた瞬間に「どのパッチがどこにあったか」という空間情報が失われるため、位置埋め込み Epos を各トークンに加算します。さらに文の先頭に、画像全体の要約役となる学習可能な [CLS] トークンを連結します。下のデモでこの変形をステップ実行してください。

パッチ埋め込み — 画像がトークン列になるまで
プロシージャルに描いた画像を 4×4=16 パッチに分割し(実物の ViT-B/16 は 14×14=196 パッチ)、直線に並べ、位置埋め込み(色付きの下線)と [CLS] トークンを付けて Transformer エンコーダに入力するまでの流れです。
z0 = [ xcls ; x1pE ; x2pE ; … ; xNpE ] + Epos,   N = HW / P² xip は平坦化した第iパッチ(P²·3次元)、E は埋め込み行列。以降は普通の Transformer エンコーダを L 層通すだけ
POINT — ViT 本体には「画像専用の部品」がほぼ無い パッチ埋め込みの後は、Multi-Head Self-Attention と MLP を交互に重ねた標準の Transformer エンコーダそのもの。分類は最終層の [CLS] トークンを MLP ヘッドに通すだけ。アーキテクチャを言語と共通化したことが、後のマルチモーダル基盤モデルへの道を開いた。

2. ViT は画像のどこを見ているか — Attention マップ

Self-Attention の重みを可視化すると、[CLS] トークンが各パッチにどれだけ注目しているかが分かります。実際の ViT で観察される典型的な傾向は次の2つです。

下のデモは、この傾向を手設計で再現した模式図です。層スライダーとヘッド切替で、注意の広がり方の変化を確かめてください。

[CLS] → 各パッチの attention マップ(模式図)
左=画像上の attention ヒートマップ(明るいほど [CLS] からの注意が強い)、右=4×4 パッチごとの重み。浅い層ではどのヘッドも局所的ですが、層を深くすると「物体」ヘッドはボール全体へ、「背景」ヘッドは文脈領域へ、「位置」ヘッドは位置埋め込み由来の縞パターンへと分化します(実測を模した手設計の値です)。

3. CNN との違い — 帰納バイアスとデータ量

CNN は「画像は局所的な構造の集まりで、パターンは平行移動しても同じ」という帰納バイアス(局所結合・重み共有)を構造に焼き込んでいます。これは少ないデータで効率よく学べる強力な事前知識ですが、同時に「遠く離れた画素同士の関係は深い層まで見えない」という制約でもあります。

ViT はこのバイアスをほぼ持ちません。第1層から全パッチ対を Self-Attention で見られる代わりに、「局所性が大事」ということすらデータから学ぶ必要があります。だから少データでは CNN に負け、巨大データ(JFT-300M など)で事前学習すると逆転する — これが ViT 原論文の核心的な観察です。

帰納バイアスの対比と、データ量 vs 性能のクロスオーバー
左=結合パターンの対比(CNN は局所 3×3 のみ、ViT は1つのトークンが全パッチを見る)。右=データ量と精度の模式カーブ。スライダーでデータ規模を動かすと、ImageNet 級では CNN 有利、数億枚級で ViT が逆転する様子が分かります(曲線は傾向を示す模式値)。
注意 — 「ViT はデータ食い」は絶対条件ではない DeiT(2021)は強いデータ拡張と蒸留により ImageNet-1k だけで ViT を CNN 並みに学習できることを示した。また Swin Transformer のように局所窓+シフトで畳み込み的なバイアスを部分的に戻す折衷案も強い。「バイアスを入れるか、データと正則化で補うか」は設計上のトレードオフであり、二者択一ではない。

4. 基盤モデル時代のCV — CLIP・SAM・DINO

ViT がもたらした最大の変化は精度そのものより、「1つの巨大な事前学習モデルを、あらゆる視覚タスクの土台にする」という基盤モデル(foundation model)のパラダイムです。その転換点が CLIP でした。

CLIP(2021)は、4億組の「画像とその説明文」ペアを使い、画像エンコーダ(ViT)とテキストエンコーダを同じ埋め込み空間に対照学習で写像します。正しいペアのコサイン類似度を上げ、間違ったペアを下げる — それだけで、「クラス名を文章として埋め込み、一番近いものを選ぶ」ゼロショット分類が可能になります。ラベル固定の分類器という枠組みそのものが不要になったのです。

CLIP の直感 — 画像とテキストが同じ空間に住む
中央の円が共有埋め込み空間(模式的に2次元で表示)。テキスト埋め込み(青)は固定され、入力画像の埋め込み(オレンジ)が最も近いテキストの方向へ動きます。右のバーはコサイン類似度で、最大のものがゼロショット分類の予測になります。
一歩先へ — 2026年時点の概況:CVの「土台」はViTになった DINO / DINOv2・v3 はラベル無しの自己蒸留で ViT を学習し、セグメンテーションに近い attention や、そのまま流用できる汎用特徴を獲得した。SAM(Segment Anything, 2023)/SAM 2 は11億マスクで事前学習した ViT ベースのモデルで、点やボックスを「プロンプト」として与えると未知の物体でも切り抜ける — セグメンテーションの「何でも屋」だ。さらに GPT-4V や Claude、Gemini のようなマルチモーダル LLM は、ViT 系の視覚エンコーダが出力する画像トークンを言語モデルに接続する構成であり、「画像をトークン列にする」という ViT の設計思想そのものの延長線上にある。現在の実務では、検出・分割・検索・生成のいずれも「巨大 ViT 系バックボーン+軽いタスクヘッド/プロンプト」で組むのが標準になり、タスクごとにゼロから CNN を訓練する時代は終わりつつある。一方、エッジ推論では畳み込みと attention のハイブリッドが健在で、帰納バイアスは「計算資源との交換レート」として今も生きている。

5. まとめ