視覚変換器(ViT)をゼロから構築する完全ガイド
「ビジュアル・トランスフォーマーをゼロから構築する:包括的なガイド」 ※事前知識の確認をお願いします。本ブログを読む際には、併せて表示される図を参照すると、各概念の理解がさらに深まります。 本記事は、2020年11月に公開された研究論文 arXiv:2010.11929 を基にしています。 ビジュアル・トランスフォーマー(ViT)は、自然言語処理(NLP)で用いられるトランスフォーマー構造を、コンピュータビジョンタスクに応用したディープラーニングモデルです。従来の畳み込みニューラルネットワーク(CNN)とは異なり、ViTは画像を小さなパッチのシーケンスとして扱い、テキストの単語と同様に、自己注意機構(self-attention)を用いて各パッチ間の空間的関係を学習します。 ビジュアル・トランスフォーマーの仕組み 1. 画像パッチのトークン化 画像は、固定サイズの小さなパッチに分割されます。たとえば、224×224ピクセルの画像を16×16ピクセルのパッチに分割すると、196個のパッチが得られます。各パッチは1つのトークンとして扱われ、1次元のベクトルに変換されます。この過程で、パッチの色情報(ピクセル値)は線形変換(投影)によって特徴ベクトルに変換されます。 2. 位置エンコーディングの追加 パッチはシーケンスとして扱われるため、パッチの空間的位置情報が失われます。これを補うために、位置エンコーディングが各トークンに追加されます。これにより、モデルはパッチの相対的な配置を認識できるようになります。 3. トランスフォーマーのエンコーダー処理 トークン列は、標準的なトランスフォーマーのエンコーダーに渡されます。各層では、自己注意機構がパッチ間の関係を計算し、重要な部分に注目する能力を獲得します。その後、前向きネットワークを経て、より高次の特徴が抽出されます。 4. 分類ヘッドによる出力 最終層の出力は、クラス分類用のヘッドに接続されます。特に、最初のトークン([CLS]トークン)の出力は、画像全体の特徴を表すとされ、これを使って分類予測が行われます。 このアプローチにより、ViTは大規模なデータで学習することで、従来のCNNを上回る性能を発揮することが実証されています。特に、画像認識や物体検出などのタスクで高い精度を示しており、AI分野における画期的な進展とされています。