Vision Transformer (ViT)
Vision Transformer (ViT) の可能性を解説します。自己注意機構とパッチトークン化が、UltralyticsとともにCNNを超えてコンピュータビジョンを革新する仕組みを学びます。
Vision Transformer (ViT)は、もともと自然言語処理 (NLP)向けに設計された自己注意メカニズムを応用し、視覚タスクを解決するディープラーニングアーキテクチャです。画像を局所的なピクセルグリッドの階層を通じて処理する従来の畳み込みニューラルネットワーク (CNN)とは異なり、ViTは画像を離散的なパッチのシーケンスとして扱います。このアプローチは、純粋なTransformerアーキテクチャが畳み込み層に依存せず、コンピュータービジョン (CV)で最先端の性能を達成できることを示した画期的な研究論文「An Image is Worth 16x16 Words」によって広く知られるようになりました。グローバルな注意機構を活用することで、ViTは最初の層から画像全体にわたる長距離の依存関係を捉えられます。
Vision Transformerの仕組み#
ViTの基本的な革新は、入力データの構造化方法にあります。画像を標準的なTransformerと互換性のある形式にするため、モデルは視覚情報をベクトルのシーケンスに分解します。これは、言語モデルが単語の文を処理する方法を模倣したものです。
-
パッチのトークン化: 入力画像を、通常は16x16ピクセルの固定サイズの正方形グリッドに分割します。各正方形をフラット化してベクトルに変換し、視覚的なトークンにします。
-
線形射影: フラット化したパッチを学習可能な線形層に通し、高密度な埋め込みを作成します。この処理により、生のピクセル値がモデルで処理可能な高次元空間にマッピングされます。
-
位置エンコーディング: このアーキテクチャはシーケンスを並列処理し、順序や空間を本質的に理解する機能を持たないため、パッチの埋め込みに学習可能な位置エンコーディングを追加します。これにより、各パッチが元の画像のどこに位置していたかという空間情報をモデルが保持できます。
-
自己注意メカニズム: シーケンスはTransformerエンコーダーに入力され、自己注意によってすべてのパッチが同時に他のすべてのパッチと相互作用できるようになります。これにより、ネットワークはグローバルコンテキストを学習し、左上隅のピクセルと右下隅のピクセルの関係を理解できます。
-
分類ヘッド: 画像分類などのタスクでは、特殊な「クラス トークン」をシーケンスの先頭に追加することがよくあります。このトークンの最終出力状態が画像の集約表現となり、その後、多層パーセプトロン (MLP)などの分類器に入力されます。
Vision TransformerとCNNの比較#
どちらのアーキテクチャも視覚データの理解を目的としていますが、動作に関する考え方は大きく異なります。CNNには「帰納バイアス」と呼ばれる強い特性があり、その一つが平行移動不変性です。これは、エッジやテクスチャなどの局所的な特徴が、位置にかかわらず重要であると本質的に仮定するものです。そのため、CNNはデータ効率が高く、より小規模なデータセットでも効果的に動作します。
一方、Vision Transformerは画像に特化したバイアスが比較的少なくなっています。JFT-300MやImageNetの全データセットなど、大量のトレーニングデータを使用して、空間的な関係をゼロから学習する必要があります。そのためトレーニングの計算負荷は高くなりますが、ViTは非常に優れたスケーリング性能を発揮します。十分なデータと計算能力があれば、局所的な畳み込みでは捉えにくい複雑なグローバル構造を捉え、CNNを上回る性能を実現できます。
実世界での利用例#
グローバルコンテキストを理解できるため、ViTは複雑で重要度の高い環境に特に適しています。
- 医用画像解析: ヘルスケアAIでは、ViTをMRIや病理組織スライドなどの高解像度スキャンの解析に使用します。たとえば、腫瘍検出では、ViTが組織内の微細なテクスチャ異常とスライド全体にわたるより広範な構造変化を関連付け、局所的な処理では見落とす可能性のある悪性パターンを特定できます。
- 衛星画像とリモートセンシング: ViTは、物体間の関係が広い距離にわたる衛星画像解析で優れた性能を発揮します。たとえば、森林伐採地点と遠く離れた伐採道路を関連付けるには、景観の「全体像」を理解する必要があります。このタスクでは、ViTのグローバルな注意機構が、標準的なCNNの限られた受容野を上回ります。
UltralyticsでTransformerを活用する#
ultralyticsライブラリは、特にRT-DETR(リアルタイム検出Transformer)をはじめとするTransformerベースのアーキテクチャをサポートしています。フラッグシップの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は、データへのアノテーション付け、クラウド経由での複雑なモデルのトレーニング、さまざまなエンドポイントへのデプロイを行う統合環境を提供しています。









