用語集

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

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

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

ヴィジョン・トランスフォーマー(ViT)は、当初自然言語処理(NLP)用に設計され、大成功を収めたトランスフォーマー・アーキテクチャを画像ベースのタスクに応用したもので、コンピュータ・ヴィジョン(CV)における極めて重要な発展である。従来のCNN(Convolutional Neural Network:畳み込みニューラルネットワーク)がレイヤーごとに局所的なフィルターを用いて画像を処理するのとは異なり、ViTは画像を固定サイズのパッチに分割し、それらをトークン(文中の単語に似たもの)のシーケンスとして扱い、Transformerの自己注意メカニズムを用いて処理する。これによってViTは、多くのCNNアーキテクチャよりも効果的に画像内のグローバルな文脈と長距離依存性を捉えることができ、特にImageNetのような大規模データセットで学習した場合、様々なベンチマークで最先端の結果を導く。

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

ViTの核となるアイデアは、画像処理のパラダイムを再構築することである。入力画像はまず、重なり合わないパッチのグリッドに分割される。各パッチはベクトルに平坦化され、埋め込み空間に線形射影される。空間情報を保持するために、これらのパッチ埋め込みに位置埋め込みが追加される。この一連のベクトルは、画像パッチとその位置を表し、元の論文 "An Image is Worth 16x16 Words "で詳しく述べられているように、標準的なTransformerエンコーダに供給されます。

複数のレイヤーで構成されるTransformerエンコーダは、自己注意メカニズムに大きく依存している。このメカニズムにより、モデルは互いに異なるパッチの重要性を動的に計量し、画像の離れた部分間の関係を学習することができる。このグローバルな受容野は、CNNの一般的なローカルな受容野とは対照的であり、ViTにシーン全体の文脈を理解する利点を与えている。The Illustrated Transformerのようなリソースは、基本的なTransformerの概念を直感的に説明する。フレームワーク PyTorchTensorFlowのようなフレームワークは、これらのコンポーネントの実装を提供します。

関連性と応用

ビジョントランスフォーマーは、そのスケーラビリティと、特に大規模な事前学習による印象的なパフォーマンスにより、現代のディープラーニングにおいて非常に重要なものとなっている。グローバルなコンテキストをモデル化する能力により、基本的な画像分類にとどまらず、以下のような幅広いCVタスクに適している:

  • 物体の検出:以下のようなモデル RT-DETRのようなモデルは、しばしば変圧器コンポーネントを利用し、物体の位置を高精度で特定する。
  • 画像セグメンテーション:ViTは、Segment Anything Model(SAM)のようなモデルに見られるように、画像内の異なるオブジェクトや領域をセグメンテーションするような高密度な予測タスクに適応することができる。
  • 医療画像分析:ViTは、X線やMRIなどのスキャン画像から病気を示す微妙なパターンを検出するのに役立ち、ヘルスケアAIにおける診断精度を向上させる可能性がある。例えば、局所的なモデルでは困難な複雑な腫瘍の形状や分布を特定することができる。
  • 自律走行車:安全なナビゲーションのためには、遠方の車両、歩行者、信号を含む交通シーン全体を理解することが重要です。ViTsのグローバルコンテキストモデリングは、車載AIアプリケーションの包括的なシーン理解を支援します。

ViTは、Ultralytics HUBのようなプラットフォームや、Hugging Face Transformersのようなライブラリに統合されつつあり、研究や展開に利用しやすくなっている。また、NVIDIA Jetsonのようなデバイス上でエッジAIを展開するために最適化することもできる。

ViT対CNN

ViTもCNNもコンピュータ・ビジョンの基礎となるアーキテクチャだが(視覚モデルの歴史を参照)、そのアプローチは大きく異なる:

  • 処理:CNNはスライディングカーネルを使った畳み込み演算を使い、局所的パターンに焦点を当て、階層的特徴を構築する。ViTは画像パッチ間の自己注意を利用し、最初から大域的な関係に注目する。
  • 帰納的バイアス:CNNは画像に適した強い帰納的バイアス(局所性や平行移動の等価性など)を内蔵しており、小規模なデータセットではデータ効率が高くなることが多い。ViTは帰納的バイアスが弱く、一般的にうまく汎化するためには、より大きなデータセット(またはCLIPで使用されているような高度な事前学習ストラテジー)を必要とする。
  • アーキテクチャCNNは畳み込み層、プーリング層、完全連結層で構成される。ViTは標準的なTransformerエンコーダ構造を採用する。畳み込みバックボーンとTransformerヘッド/ネックを組み合わせたハイブリッドモデル(例えばRT-DETR 亜種)は、両者の長所を活用することを目的としている。

ViTとCNNのどちらを選択するかは、特定のタスク、利用可能なデータ、計算リソースに依存することが多い。ViTは一般的に、大量の学習データが利用可能な場合に優れている。 Ultralytics YOLOファミリーのようなCNNは、特に制約の多いデバイス上でのリアルタイムの物体検出において、非常に効果的かつ効率的なままである。

すべて読む