用語集

ヴィジョン・トランスフォーマー(ViT)

コンピュータ・ビジョンにおけるヴィジョン・トランスフォーマー(ViT)の威力をご覧ください。グローバルな画像コンテキストを捉えることで、どのようにCNNを凌駕するのかを学んでください。

ヴィジョン・トランスフォーマー(ViT)は、もともと自然言語処理(NLP)用に設計され、大きな成功を収めたトランスフォーマーモデルをコンピュータ・ヴィジョン(CV)タスクに応用したニューラルネットワーク・アーキテクチャの一種である。グーグルの研究者が論文「An Image is Worth 16x16 Words」で紹介したViTは、主流である畳み込みニューラルネットワーク(CNN)アーキテクチャとは大きく異なる。ViTは、スライディングフィルターで画像を処理する代わりに、画像をパッチのシーケンスとして扱い、自己注意メカニズムを用いて画像の異なる部分間のグローバルな関係を捉えることを可能にする。

ヴィジョン・トランスフォーマーの仕組み

ViTの核となるアイデアは、トランスフォーマーがテキストを処理する方法を模倣する方法で画像を処理することです。この処理にはいくつかの重要なステップがある:

  1. 画像のパッチ分割:入力画像はまず、固定サイズでオーバーラップしないパッチのグリッドに分割される。例えば、224x224ピクセルの画像は、それぞれ16x16ピクセルの196個のパッチに分割される。
  2. パッチの埋め込み:各パッチは1つのベクトルに平坦化される。これらのベクトルを低次元空間に投影し、"パッチ埋め込み "を作成する。学習可能な "位置埋め込み "が、空間情報を保持するために各パッチ埋め込みに加えられる。
  3. Transformerエンコーダー:この一連の埋め込みは、標準的なTransformerエンコーダに供給される。自己注意層を通して、このモデルはすべてのペアのパッチ間の関係を学習し、最初の層から画像全体のグローバルなコンテキストを捉えることができる。
  4. 分類ヘッド画像分類のようなタスクでは、学習可能な埋め込み(BERTの[CLS]トークンに似ている)がシーケンスに追加される。Transformerからの対応する出力は、予測を生成するために最後の分類層に渡される。

ViT対CNN

ViTとCNNはどちらもコンピュータビジョンの基礎となるアーキテクチャだが、そのアプローチは大きく異なる:

  • 帰納的バイアス:CNNは、畳み込み層やプーリング層を通して、局所性や並進 平行性といった強い帰納的バイアス(データに関する仮定)を持っている。ViTは帰納的バイアスが非常に弱いため、より柔軟だが、データから直接パターンを学習することに依存する。
  • データ依存性:ViTはバイアスが弱いため、最先端のCNNを凌駕するためには、一般的に大規模なデータセット(例えばImageNet-21k)や大規模な事前学習を必要とする。より小さなデータセットでは、CNNの方がよく汎化することが多い。これがViTにとって転移学習が重要な理由である。
  • グローバル・コンテキストとローカル・コンテキスト:CNNは局所的なパターンから大域的なパターンへと階層的な特徴を構築する。対照的に、ViTは最も初期の層からパッチ間のグローバルな相互作用をモデル化することができ、特定のタスクに対してより広範なコンテキストをより効果的に捉える可能性がある。
  • 計算コスト:ViTのトレーニングは計算集約的で、多くの場合、かなりのGPUリソースを必要とする。PyTorchや TensorFlowのようなフレームワークは、これらのモデルを学習するための実装を提供しています。

アプリケーションとハイブリッド・モデル

ViTは、特にグローバルなコンテクストを理解することが鍵となる様々なアプリケーションにおいて、卓越したパフォーマンスを示してきた。

  • 医用画像解析:ViTは、MRIや病理組織画像のような医療スキャン画像の解析に非常に効果的です。例えば、腫瘍の検出では、ViTは離れた組織間の関係を識別することができ、局所的なテクスチャのみに焦点を当てたモデルよりも正確に腫瘍を分類するのに役立ちます。
  • 自律走行:自動運転車では、ViTは複雑なシーンを分析し、物体の検出とセグメンテーションを行うことができる。シーン全体をグローバルに処理することで、自動車、歩行者、インフラ間の相互作用をよりよく理解することができる。

ViTの成功は、ハイブリッド・アーキテクチャにもインスピレーションを与えた。RT-DETRのようなモデルは、効率的な特徴抽出のためのCNNバックボーンと、オブジェクトの関係をモデル化するためのTransformerベースのエンコーダ・デコーダを組み合わせている。このアプローチは、CNNの効率性とTransformerのグローバルな文脈認識という、両方の長所を得ることを目的としている。

多くのリアルタイム・アプリケーション、特にリソースに制約のあるエッジ・デバイス上では、Ultralytics YOLOファミリー(YOLOv8や YOLO11など)のように高度に最適化されたCNNベースのモデルの方が、スピードと精度のバランスが良い場合が多い。トレードオフを理解するために、RT-DETRとYOLO11の詳細な比較をご覧ください。ViTとCNNのどちらを選択するかは、最終的には特定のタスク、利用可能なデータ、計算予算によって決まります。

Ultralyticsコミュニティに参加する

AIの未来に参加しませんか。世界のイノベーターとつながり、協力し、成長する

今すぐ参加する
クリップボードにコピーされたリンク