Vision Transformerとは
Vision Transformer(ViT)は、2020年にGoogleの研究チームが発表した、Transformerアーキテクチャを画像認識に応用したモデルです。従来の画像認識で主流だったCNNを使用せず、画像をパッチに分割してトークンとして扱い、Transformerのエンコーダーで処理するアプローチを取ります。大規模データでの事前学習により、CNNを上回る性能を達成しました。
ViTの構造
ViTは入力画像を固定サイズのパッチ(通常16×16ピクセル)に分割し、各パッチを線形変換で埋め込みベクトルに変換します。これにクラストークン[CLS]と位置エンコーディングを追加し、標準的なTransformerエンコーダーに入力します。最終的な[CLS]トークンの表現を用いて分類を行います。
CNNとの比較
ViTは帰納バイアス(局所性、平行移動等変性)がCNNより弱いため、小規模データでは性能が劣りますが、大規模データではCNNを上回ります。ViTの自己注意機構は画像全体の大域的な関係を直接捉えられるのが強みです。一方、パッチ分割による局所的な情報の損失が課題として指摘されています。
ViTの発展と影響
ViTの登場以降、DeiT(データ効率の改善)、Swin Transformer(階層的な構造と窓アテンション)、BEiT(マスク画像モデリング)など、多くの改良版が提案されています。Swin Transformerは計算効率と性能の両面でViTを改善し、物体検出やセグメンテーションでも優れた成果を上げています。ViTはコンピュータビジョンにおけるTransformerの可能性を実証した画期的な研究です。