YOLO Vision Shenzhen
深セン
今すぐ参加
用語集

Vision Transformer (ViT)

Vision Transformers (ViT) の能力を探りましょう。自己注意とパッチトークン化が、UltralyticsでCNNを超えてコンピュータビジョンをどのように革新するかを学びましょう。

ビジョン・トランスフォーマー (ViT) は、元々自然言語処理 (NLP)向けに設計された自己注意メカニズムを視覚タスクの解決に応用した深層学習アーキテクチャです。局所的なピクセルグリッドの階層を通じて画像を処理する従来の畳み込みニューラルネットワーク (CNN)とは異なり、ViTは画像を離散的なパッチのシーケンスとして扱います。このアプローチは、画期的な研究論文「An Image is Worth 16x16 Words」によって普及しました。この論文では、純粋なトランスフォーマーアーキテクチャが畳み込み層に依存することなく、コンピュータービジョン (CV)において最先端の性能を達成できることが示されました。グローバルアテンションを活用することで、ViTは最初の層から画像全体にわたる長距離依存関係を捉えることができます。

Vision Transformerの仕組み

ViTの根本的な革新は、入力データの構造化方法にあります。画像を標準的なTransformerと互換性を持たせるために、モデルは視覚情報をベクトルのシーケンスに分解し、言語モデルが単語の文を処理する方法を模倣します。

  1. パッチトークン化: 入力画像は、通常16x16ピクセルの固定サイズの正方形のグリッドに分割されます。各正方形はベクトルに平坦化され、実質的に視覚的なトークンとなります。
  2. 線形投影: これらの平坦化されたパッチは、学習可能な線形層を通過して、密な埋め込みを生成します。このステップでは、生のピクセル値をモデルが処理できる高次元空間にマッピングします。
  3. 位置エンコーディング: このアーキテクチャはシーケンスを並列に処理し、順序や空間に関する固有の理解を欠いているため、学習可能な位置エンコーディングがパッチ埋め込みに追加されます。これにより、モデルは各パッチが元の画像のどこに属するかという空間情報を保持できます。
  4. 自己アテンションメカニズム: シーケンスはTransformerエンコーダーに入力され、そこで自己アテンションにより、すべてのパッチが他のすべてのパッチと同時に相互作用できます。これにより、ネットワークはグローバルなコンテキストを学習し、左上隅のピクセルが右下隅のピクセルとどのように関連しているかを理解できます。
  5. 分類ヘッド: 画像分類のようなタスクでは、特別な「クラス・トークン」がシーケンスの先頭に追加されることがよくあります。このトークンの最終出力状態は、画像の集約表現として機能し、その後、多層パーセプトロン (MLP)などの分類器に入力されます。

ビジョン・トランスフォーマー対CNN

両方のアーキテクチャは視覚データの理解を目指していますが、それらは運用哲学において大きく異なります。CNNは、変換不変性として知られる強力な「帰納的バイアス」を持っており、局所的な特徴(エッジやテクスチャなど)がその位置に関係なく重要であると本質的に仮定します。これにより、CNNはデータ効率が高く、より小さなデータセットで効果的になります。

対照的に、Vision Transformerは画像固有のバイアスが少ないです。これらは、JFT-300Mや完全なImageNetデータセットのような膨大な量のトレーニングデータを使用して、空間的関係をゼロから学習する必要があります。これによりトレーニングは計算負荷が高くなりますが、ViTは驚くほど優れたスケーラビリティを発揮します。十分なデータと計算能力があれば、局所的な畳み込みでは見逃されがちな複雑なグローバル構造を捉えることで、CNNを凌駕することができます。

実際のアプリケーション

グローバルなコンテキストを理解する能力により、ViTは複雑でリスクの高い環境において特に有用です。

  • 医療画像解析: ヘルスケアAIにおいて、ViTはMRIや病理組織スライドのような高解像度スキャンを解析するために使用されます。例えば、腫瘍detectでは、ViTは組織内の微妙なテクスチャ異常とスライド全体の広範な構造変化を関連付け、局所的な処理では見落とされがちな悪性パターンを特定できます。
  • 衛星画像とリモートセンシング: ViTは、オブジェクト間の関係が広範囲に及ぶ衛星画像解析において優れた性能を発揮します。例えば、森林破壊現場と遠く離れた林道を結びつけるには、景観の「全体像」を理解する必要がありますが、このタスクではViTのグローバルアテンションが標準的なCNNの限られた受容野を上回ります。

UltralyticsでTransformerを活用する

について ultralytics ライブラリは、Transformerベースのアーキテクチャ、特に RT-DETR(リアルタイム検出トランスフォーマー)。フラッグシップの YOLO26 エッジデバイスにおける速度と精度のバランスからしばしば好まれる一方で、RT-DETRは、グローバルコンテキストを優先するシナリオにおいて強力な代替手段を提供します。

以下のpythonの例は、事前学習済みのTransformerベースモデルをロードして推論を実行する方法を示しています。

from ultralytics import RTDETR

# Load a pre-trained RT-DETR model (Vision Transformer-based)
model = RTDETR("rtdetr-l.pt")

# Run inference on an image source
# The model uses self-attention to detect objects globally
results = model("https://ultralytics.com/images/bus.jpg")

# Display the detection results
results[0].show()

今後の展望

ViTの高い計算コストに対処するための研究は急速に進展しています。FlashAttentionのような技術は、これらのモデルをより高速かつメモリ効率の良いものにしています。さらに、CNNの効率性とTransformerの注意機構を組み合わせたハイブリッドアーキテクチャが一般的になりつつあります。これらの高度なワークフローを管理したいチームのために、Ultralytics Platformは、データのアノテーション、クラウド経由での複雑なモデルのトレーニング、多様なエンドポイントへのデプロイのための統合環境を提供します。

共にAIの未来を築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。