レポート一覧へ

AI / Technology

1枚の画像は16×16の言葉に値する大規模画像認識のためのTransformer

画像をパッチ列に変えて分類する流れ

図1(新規の説明図): 画像をパッチに分け、1次元の列へ並べ、Transformer で統合して分類する。論文 Figure 1 と §3.1 に基づく概念整理。

  1. 画像を「単語の列」のように扱う。 画像を固定サイズの小領域(パッチ)に切り、各パッチをベクトルにして、ほぼ標準の Transformer に入力する。
  2. CNN は必須ではなかった。ただし、大量の事前学習データが鍵だった。 ViT は画像向けの作り込みが少ないため、小規模データでは不利だが、1,400万〜3.03億枚の事前学習では強さを発揮した(論文 pp. 2, 4, 6)。
  3. 成果は画像分類での大規模教師あり学習についてのもの。 物体検出やセグメンテーション、データ効率、自己教師あり学習まで解決したとはいえない(論文 p. 9)。

局所的な集約と全体的な注意の違い

図2(新規の説明図): 左は近傍情報を段階的に集める直感、右は離れたパッチを直接関連づける self-attention の直感。優劣ではなく、情報の結び方の違いを示す。

全画素どうしを直接 self-attention で結ぶと、計算量はトークン数の二乗で増える。そこで ViT は画素ではなくパッチをトークンにする。たとえば 224×224 の画像を 16×16 パッチに切れば、画素 50,176 個ではなく 196 個のパッチとして扱える。後者の数値は論文の式 N = HW/P² からの計算例であり、個別の実験結果ではない(論文 §3.1)。

事前学習データ量による定性的な違い

図3(新規の定性的説明図): 論文 Figures 3–4 の結論を概念化したもの。正確な数値グラフではない。少量では CNN の画像向け前提が助けになり、大規模化すると ViT の伸びが現れる。

ImageNet 規模の事前学習では、大きな ViT は同等規模の ResNet より数ポイント低く、JFT の 900万枚サブセットでも ViT は過学習しやすかった。データを 9,000万枚以上へ増やすと ViT が比較対象を上回る傾向が現れた(論文 pp. 1–2, 6–7)。つまり、画像向けの前提を減らした自由度は、十分なデータがあると強みになる一方、少量データでは負担になる。

研究付録

原題: An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
著者: Alexey Dosovitskiy ほか(ICLR 2021)
一次資料: arXiv:2010.11929 v2論文PDF

要点

まず覚えたい3点

  1. 画像を「単語の列」のように扱う。 画像を固定サイズの小領域(パッチ)に切り、各パッチをベクトルにして、ほぼ標準の Transformer に入力する。
  2. CNN は必須ではなかった。ただし、大量の事前学習データが鍵だった。 ViT は画像向けの作り込みが少ないため、小規模データでは不利だが、1,400万〜3.03億枚の事前学習では強さを発揮した(論文 pp. 2, 4, 6)。
  3. 成果は画像分類での大規模教師あり学習についてのもの。 物体検出やセグメンテーション、データ効率、自己教師あり学習まで解決したとはいえない(論文 p. 9)。

一文でつかむ

問題は、画像認識が CNN 固有の仕組みに強く依存していたこと。論文の変更は、画像をパッチ列にして標準 Transformer に直接渡したこと。最も強い証拠は、JFT-300M で事前学習した ViT-H/14 が ImageNet で 88.55% を達成し、同じ比較表の強力な CNN 系モデルを上回ったこと。最大の未解決点は、その強さが巨大な教師ありデータと計算資源を必要とすることだ(論文 Table 2、pp. 5–6)。

問題

CNNが先に知っていること

CNN は「近い画素ほど関係しやすい」「同じ模様は場所がずれても同じように見える」といった画像向けの前提を構造に埋め込んでいる。これは少ないデータでも学びやすい反面、画像認識の設計を畳み込み中心に固定する。2020年当時、注意機構を使う研究の多くも CNN と組み合わせるか、画像向けに特殊化した注意パターンを使っていた(論文 pp. 1–2)。

画素をそのまま並べると重すぎる

全画素どうしを直接 self-attention で結ぶと、計算量はトークン数の二乗で増える。そこで ViT は画素ではなくパッチをトークンにする。たとえば 224×224 の画像を 16×16 パッチに切れば、画素 50,176 個ではなく 196 個のパッチとして扱える。後者の数値は論文の式 N = HW/P² からの計算例であり、個別の実験結果ではない(論文 §3.1)。

方法

パッチを「単語」に変える

入力画像を同じ大きさのパッチに分割し、各パッチを平らにして、学習可能な線形変換で同じ長さのベクトルへ写す。これが patch embedding である。各ベクトルには、元の位置を区別するための学習可能な位置埋め込みを足す(論文 §3.1、式1)。

標準Transformerで関係を学ぶ

パッチ列の先頭に、画像全体を要約する学習可能な classification token を置く。その列を、multi-head self-attention と MLP を交互に重ねた Transformer encoder に通す。最後の classification token の状態を分類器へ渡す。画像専用の工夫は主に最初のパッチ分割と、高解像度へ転移するときの位置埋め込み補間に限られる(論文 pp. 3–4)。

大規模に事前学習し、小さな課題へ移す

まず ImageNet(130万枚)、ImageNet-21k(1,400万枚)、または非公開の JFT(3.03億枚)で教師あり事前学習し、その後、分類ヘッドを付け替えて各ベンチマークへ fine-tuning する。パッチが小さいほど列が長くなるため計算は重くなる。ViT-L/16 は Large モデルと 16×16 パッチの組み合わせを意味する(論文 §4.1)。

証拠と限界

大規模事前学習後の結果

JFT-300M で事前学習した ViT-H/14 は、3回の fine-tuning の平均で ImageNet 88.55±0.04%、ImageNet-ReaL 90.72±0.05%、CIFAR-100 94.55±0.04%、19課題の VTAB 77.63±0.23% を記録した。比較対象の BiT-L(ResNet152×4)は順に 87.54±0.02%、90.54%、93.51±0.08%、76.29±1.70% だった(論文 Table 2、p. 6)。これは同論文の条件内での比較であり、あらゆる学習設定での普遍的な優位を意味しない。

計算効率の比較

Table 2 の事前学習コストは ViT-H/14 が 2,500 TPUv3-core-days、ViT-L/16 が 680、BiT-L が 9,900。さらに JFT-300M 上の統制したスケーリング比較では、同等の転移性能に達するための計算量が ViT で約 2〜4分の1だった(論文 pp. 6, 8)。ただし著者自身が、最適化手法、学習スケジュール、weight decay なども効率差に影響しうると注意している。

小さいデータでは逆転する

ImageNet 規模の事前学習では、大きな ViT は同等規模の ResNet より数ポイント低く、JFT の 900万枚サブセットでも ViT は過学習しやすかった。データを 9,000万枚以上へ増やすと ViT が比較対象を上回る傾向が現れた(論文 pp. 1–2, 6–7)。つまり、画像向けの前提を減らした自由度は、十分なデータがあると強みになる一方、少量データでは負担になる。

論文が残した限界

  • 最良結果の事前学習には、非公開の JFT-300M と大きな計算資源を使っているため、再現可能性と利用可能性に制約がある。
  • 主な検証対象は画像分類と転移学習であり、物体検出やセグメンテーションは今後の課題として挙げられている。
  • masked patch prediction による自己教師あり ViT-B/16 は ImageNet 79.9%。scratch より 2ポイント高いが、教師あり事前学習より 4ポイント低かった(論文 p. 9)。
  • attention の可視化はモデル内部の振る舞いを示す手がかりだが、判断理由の完全な説明や因果証明ではない。

実務的な意味

設計上の教訓

この論文の価値は「CNN を捨てれば常に勝てる」という処方箋ではない。大規模な事前学習と転移が可能なら、画像専用の複雑な部品を増やす代わりに、単純でスケールしやすい共通アーキテクチャを選べると示した点にある。実務では、精度だけでなく、手元のデータ量、事前学習済みモデルの利用可否、推論時の画像解像度、計算予算を一緒に判断する必要がある。

採用を考えやすい場面

大規模な事前学習済み重みを再利用でき、分類や表現学習を中心に据え、Transformer 系の実装基盤を共通化したい場面では ViT が有力な選択肢になる。一方、データが少なく事前学習も使えない場合や、端末上の厳しい計算制約がある場合は、CNN や小型ハイブリッドとの実測比較を先に行うべきだ。これは論文結果からの実務的な解釈であり、著者が直接検証した製品要件ではない。

読むとき・試すときの確認事項

  • 比較モデルは同じ事前学習データ、解像度、学習回数、最適化条件か。
  • 「計算量」は FLOPs、accelerator-core-days、実時間、費用のどれで測っているか。
  • パッチサイズを変えたとき、精度だけでなく列長とメモリ使用量はどう変わるか。
  • 非公開データで得た結論が、利用可能な公開データと事前学習済み重みでも保たれるか。
  • 分類以外の目的では、別の論文と実験で根拠を補えているか。

出典と不確実性

正式タイトル、著者、版情報は arXiv の一次資料で確認した。数値は v2 PDF の本文・表に合わせた。JFT は論文中で 3億枚または 3.03億枚と丸め方が異なるため、データセット説明では 3.03億枚、モデル名の慣用表記では JFT-300M とした。製品選定への示唆は明示的に解釈として分け、2021年以降の追試や後続モデルの成果は本稿の根拠に含めていない。

この論文についての3つの重要な質問

1枚の画像は16×16の言葉に値する:大規模画像認識のためのTransformerはどの課題を扱いますか?

JFT-300M で事前学習した ViT-H/14 は、3回の fine-tuning の平均で ImageNet 88.55±0.04%、ImageNet-ReaL 90.72±0.05%、CIFAR-100 94.55±0.04%、19課題の VTAB 77.63±0.23% を記録した。比較対象の BiT-L(ResNet152×4)は順に 87.54±0.02%、90.54%、93.51±0.08%、76.29±1.70% だった(論文 Table 2、p. 6)。これは同論文の条件内での比較であり、あらゆる学習設定での普遍的な優位を意味しない。

1枚の画像は16×16の言葉に値する:大規模画像認識のためのTransformerの中心的な主張を支える根拠は何ですか?

問題は、画像認識が CNN 固有の仕組みに強く依存していたこと。論文の変更は、画像をパッチ列にして標準 Transformer に直接渡したこと。最も強い証拠は、JFT-300M で事前学習した ViT-H/14 が ImageNet で 88.55% を達成し、同じ比較表の強力な CNN 系モデルを上回ったこと。最大の未解決点は、その強さが巨大な教師ありデータと計算資源を必要とすることだ(論文 Table 2、pp. 5–6)。

1枚の画像は16×16の言葉に値する:大規模画像認識のためのTransformerを読むときに注意すべき限界は何ですか?

JFT-300M で事前学習した ViT-H/14 は、3回の fine-tuning の平均で ImageNet 88.55±0.04%、ImageNet-ReaL 90.72±0.05%、CIFAR-100 94.55±0.04%、19課題の VTAB 77.63±0.23% を記録した。比較対象の BiT-L(ResNet152×4)は順に 87.54±0.02%、90.54%、93.51±0.08%、76.29±1.70% だった(論文 Table 2、p. 6)。これは同論文の条件内での比較であり、あらゆる学習設定での普遍的な優位を意味しない。

本日はあと2本の新しいレポートを無料で読めますProなら無制限に読め、毎月10本の新しい論文解説を生成できます。Proにアップグレード