XYZNOT

論文 · arXiv 2010.11929

画像は16x16の言葉に値する:大規模画像認識のためのTransformer

An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

公開日 cs.CVcs.AIcs.LG arXivPDF

XYZNOT で読む(全文翻訳と AI 解説)

3行まとめ

  1. 🎯 畳み込みニューラルネットワークは強力な帰納バイアスによりコンピュータビジョンを支配してきましたが、標準的なTransformerには2次元画像への直接的かつスケーラブルな適用法が欠けていました。
  2. 🔧 画像を固定サイズ(例:16x16)の平坦化されたパッチに分割し、線形射影してトークン埋め込みに変換、位置埋め込みを加算した上で、先頭に[class]トークンを付与して標準的なTransformerエンコーダに入力します。
  3. 📈 JFT-300Mで事前学習したViT-H/14は、ImageNetで88.55%、ImageNet ReaLで90.72%、VTABで77.63%のTop-1精度を達成し、同等のCNNよりも大幅に少ない事前学習計算量を実現しました。

概要

自然言語処理タスクにおいてTransformerアーキテクチャがデファクトスタンダードとなった一方で、コンピュータビジョンへの応用は依然として限定的です。ビジョン分野では、アテンションが畳み込みネットワークと併用されるか、あるいは畳み込みネットワークの全体的な構造を維持したまま一部のコンポーネントを置き換えるために使用されています。本研究では、このようなCNNへの依存は不要であり、画像パッチのシーケンスに直接適用された純粋なTransformerが画像分類タスクで非常に優れた性能を発揮できることを示します。大量のデータで事前学習を行い、複数の中規模または小規模な画像認識ベンチマーク(ImageNet、CIFAR-100、VTABなど)に転移させた場合、Vision Transformer (ViT) は最先端の畳み込みネットワークと比較して優れた結果を達成しつつ、学習に必要な計算リソースを大幅に削減します。

英語の原文概要

While the Transformer architecture has become the de-facto standard for natural language processing tasks, its applications to computer vision remain limited. In vision, attention is either applied in conjunction with convolutional networks, or used to replace certain components of convolutional networks while keeping their overall structure in place. We show that this reliance on CNNs is not necessary and a pure transformer applied directly to sequences of image patches can perform very well on image classification tasks. When pre-trained on large amounts of data and transferred to multiple mid-sized or small image recognition benchmarks (ImageNet, CIFAR-100, VTAB, etc.), Vision Transformer (ViT) attains excellent results compared to state-of-the-art convolutional networks while requiring substantially fewer computational resources to train.

論文解説

問題設定と動機

畳み込みアーキテクチャ(ResNetなど)は、並進等分散性や2次元の局所性といったハードコードされた帰納バイアス(inductive bias)により、長年にわたり現代のコンピュータビジョンの基盤となってきました。一方で、Transformerはその計算効率と圧倒的なスケーラビリティによって自然言語処理(NLP)の標準となりましたが、自己アテンションをビジョンに導入する従来のアプローチは、アテンションをCNNバックボーンと組み合わせたり、ハードウェアアクセラレータ上での効率的なスケールが困難な特殊なローカル/アクシャルアテンションパターンを用いたりするのが一般的でした。本論文では、最小限の変更で画像パッチのシーケンスに直接適用された純粋なTransformerアーキテクチャが、最先端のCNNに匹敵またはそれを凌駕できるかを検証します。

主要なアイデア

  • 単語シーケンスとしての画像: 画像 を、互いに重複しない サイズのパッチに分割します。平坦化されたパッチは、NLPのトークンと全く同様に扱われます。
  • 最小限の帰納バイアス: すべての層に空間的局所性と並進等分散性が組み込まれているCNNとは異なり、ViTはパッチ間でグローバルな自己アテンションを使用します。2次元構造が参照されるのは、パッチの切り出し時と、高解像度でのファインチューニングにおける位置埋め込みの補間時のみです。
  • スケールが帰納バイアスを凌駕する: 強力な帰納バイアスを持たないため、ViTは小〜中規模のデータセット(強力な正則化を行わない標準的なImageNetなど)ではResNetに劣ります。しかし、大規模データセット(1400万枚のImageNet-21kまたは3億300万枚のJFT-300M)で事前学習を行うと、ViTは計算量(FLOPs)を大幅に抑えながらCNNと同等以上の性能を達成します。

手法

  1. パッチ埋め込みと入力の構築: パッチサイズ に対し、画像は 個のパッチを生成します。各平坦化パッチ は、行列 によって次元 に線形射影されます。学習可能な分類トークン が先頭に追加され、1次元の学習可能な位置埋め込み が加算されます:
  2. Transformerエンコーダ層: シーケンスは、マルチヘッド自己アテンション(MSA)とMLPブロックが交互に配置された 個の同一ブロックを通過します。ここではPre-LayerNorm(LN)と残差接続が使用されます:
  3. 表現とヘッド: 最終的な画像表現は、最初の出力トークンから得られます: 事前学習時には小さなMLP(1つの隠れ層を持つ)が分類ヘッドとして機能し、ファインチューニング時には単一の線形射影()に置き換えられます。
  4. 高解像度でのファインチューニング: より高い画像解像度(例: や )でファインチューニングを行う場合、パッチサイズ は固定されたままであるため、シーケンス長 が増加します。事前学習済みの1次元位置埋め込みは、元の空間グリッド位置に応じて2次元バイキュービック補間によって調整されます。

結果

  • SOTAとの比較:
    • JFT-300Mで事前学習したViT-H/14は、ImageNetで88.55%、ImageNet ReaLで90.72%、CIFAR-100で94.55%、VTAB 19タスクスイートで**77.63%**を達成し、所要リソースは2.5k TPUv3-core-daysでした。
    • JFT-300Mで事前学習したViT-L/16は、わずか0.68k TPUv3-core-daysでImageNetにおいて**87.76%**を達成し、BiT-L(ResNet152x4、87.54%、9.9k TPUv3-core-days)を上回り、Noisy Student EfficientNet-L2(88.4/88.5%、12.3k TPUv3-core-days)に迫る結果を残しました。
    • 公開データセットでの事前学習: ImageNet-21kで事前学習したViT-L/16は、ImageNetで**85.30%**に達しました。
  • 計算量と性能のトレードオフ: JFT-300Mを用いたスケーリング実験全体を通じて、純粋なViTはパレート境界上でResNetを圧倒し、同等の精度を達成するために必要な計算量は〜削減されました。
  • 内部表現の解析: 下位層には、画像全体に注意を払うアテンションヘッドと、小さく局所的なアテンション距離を持つヘッドの両方が存在します。全体として、アテンション距離は深さに伴って単調に増加します。

限界と今後の課題

  • データ飢餓性(Data Hunger): ViTは、大規模な事前学習データ(ImageNet-21kやJFT-300Mなど)または強力な正則化がない場合、小規模データセットでの汎化性能が低下します。
  • 自己教師あり学習とのギャップ: マスクされたパッチ予測を用いた初期実験ではImageNetで79.9%(ViT-B/16)にとどまり、教師あり事前学習と比較して約4%の性能ギャップが残されています。
  • 高密度予測(Dense Prediction)への適用: 本論文の検証は分類タスクに特化しており、純粋なパッチベースのTransformerを物体検出やセマンティックセグメンテーションなどの空間密度の高いタスクへ適応させることは、今後の研究課題です。

重要用語

Vision Transformer (ViT)
畳み込みによる特徴抽出を行わず、互いに重複しない画像パッチのシーケンスに標準的なTransformerを直接適用した純粋なビジョン向けアーキテクチャ。
Patch Embeddings
平坦化した ピクセルのパッチをモデルの潜在空間へ線形射影することで得られる 次元の表現。
Classification Token ([class])
パッチシーケンスの先頭に追加される学習可能なトークン。Transformerの最終層を経た出力状態が、画像全体の表現として使用される。
Inductive Bias
モデルに組み込まれた設計上の仮定。CNNにおける空間的局所性や並進等分散性などが該当するが、ViTにはこれらがほとんど存在しない。
Position Embeddings
シーケンス内の空間的な順序情報を保持するために、パッチ埋め込みに加算される1次元の学習可能なベクトル。
Attention Distance
アテンションヘッドが情報を統合する画像上の平均的な空間距離。CNNにおける受容野(Receptive Field)のサイズに概念的に類似している。
Hybrid Architecture
生の画像ピクセルではなく、初期の畳み込みバックボーンから抽出された特徴マップに対してパッチ埋め込みの射影を適用するモデル構成。
Visual Task Adaptation Benchmark (VTAB)
Natural、Specialized、Structuredの各グループに分類された19の多様なビジョンタスクから構成され、タスクごとに1,000サンプルのデータを用いて評価を行うベンチマークスイート。

よくある質問

ImageNet-1kのような小規模データセットで、ViTがResNetよりも性能が劣るのはなぜですか?

Transformerには局所性や並進等分散性といった畳み込みの帰納バイアスが欠けているためです。小規模なデータセットでは空間的な関係性をゼロから学習しなければならず、過学習を起こしやすくなります。一方、ResNetはハードコードされた帰納バイアスのおかげで、限られたデータでもサンプル効率が高くなります。

ViTはファインチューニング時、異なる解像度や高解像度の画像をどのように処理しますか?

ViTはパッチサイズを固定したまま処理するため、全体のシーケンス長が増加します。事前学習済みの1次元位置埋め込みは元の2次元グリッド上に再配置され、新しいグリッドサイズに合わせて2次元バイキュービック補間(bicubic interpolation)により調整されます。

2次元を考慮した位置埋め込みを使用すると、標準的な1次元埋め込みよりもViTの性能は向上しますか?

向上しません。著者らの実験によると、2次元座標埋め込みや相対位置埋め込みを用いても、標準的な学習可能1次元位置埋め込みとほぼ同等の性能にとどまりました。これはモデル自身が2次元の行・列のトポロジーを容易に学習できるためです。

純粋なViTとハイブリッドアーキテクチャ(Hybrid architecture)の違いは何ですか?

純粋なViTは入力画像を直接 ピクセルのパッチに分割して線形射影を行います。ハイブリッドモデルでは、画像をまず初期のResNetバックボーンに通し、そこから得られた中間特徴マップからパッチトークンを抽出します。

このページの解説は AI が論文から作成したもので、誤りを含む場合があります。詳細は原文をご確認ください。

XYZNOT で読む(全文翻訳と AI 解説)