AIにおけるセルフアテンションのパワーをご覧ください。コンテキストを認識した精度で、NLP、コンピュータビジョン、音声認識に革命をもたらします。
自己アテンションとは、ディープラーニング・モデルが、入力シーケンスの異なる要素の重要性を相対的に評価することを可能にするメカニズムである。 ディープラーニング・モデルのメカニズムである。データを逐次的または局所的に処理する従来のアーキテクチャとは異なり 自己アテンションは、データを順次または局所的に処理する従来のアーキテクチャとは異なり、モデルがシーケンス全体を一度に見て、どの部分が現在の要素の理解に最も関連しているかを判断することを可能にする。 を決定することができる。この機能は トランスフォーマー・アーキテクチャの特徴であり に革命をもたらした。 自然言語処理(NLP) から高度なコンピュータ・ビジョン(CV)までの分野に革命をもたらした。データセット内のすべてのアイテム間の データセット内のすべてのアイテムのペア間の関係を計算することで、自己アテンションはコンテキストのグローバルな理解を提供する。 のような旧来の手法では実現が難しい。 リカレント・ニューラル・ネットワーク(RNN)。
概念的には、自己注意は、無関係なノイズを無視して特定の細部に集中することで、人間が情報を処理する方法を模倣している。 無関係なノイズは無視する。文章や画像を処理する際、モデルは各要素に「注意スコア」を割り当てる。 を割り当てる。これらのスコアは、特定の単語やピクセルをエンコードする際に、入力の他の部分にどの程度フォーカスを当てるべきかを決定する。 単語やピクセルをエンコードする際に、他の部分にどの程度焦点を当てるべきかを決定する。
このプロセスでは通常、各入力要素に対して3つのベクトルを作成します。 キー、そして値です。
このモデルは、あるエレメントのクエリと他のすべてのキーとを比較し、互換性を計算する。これらの これらの互換性スコアは ソフトマックス関数を用いて正規化され、重みが作成される。最後に、これらの重み を値に適用し、コンテキストを考慮した新しい表現を生成する。この効率的な並列処理により 大規模な 大規模言語モデル(LLM)と強力な ビジョンモデルの学習が可能になります。より深い のようなリソースがあります。 ジェイ・アランマーのIllustrated Transformerのようなリソースは 優れた直観を提供する。
この2つの用語は近接して使われることが多いが、自己注意をより広範な注意メカニズムから区別することは有益である。 注意のメカニズム
長期的な依存関係を捉える能力により、現代の人工知能(AI)には自己注意が偏在している。 人工知能(AI)。
以下のPython スニペットは、自己注意に依存するTransformerベースのモデルをロードして使用する方法を示している。
を使って推論を行う ultralytics パッケージで提供される。
from ultralytics import RTDETR
# Load the RT-DETR model, which uses self-attention for object detection
model = RTDETR("rtdetr-l.pt")
# Perform inference on an image to detect objects with global context
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the resulting bounding boxes and class probabilities
results[0].show()
自己注意は、グーグルの研究者たちによる画期的な論文 「アテンション・イズ・オール・ユー・ニード(Attention Is All You Need)」。それは 以前のディープラーニング・アーキテクチャを悩ませていた 以前のディープ・ラーニング・アーキテクチャを悩ませた勾配消失問題に対処し、GPT-4のような基礎モデルの作成を可能にした。 GPT-4のような基礎モデルの作成を可能にした。
アテンション・ベースのモデルは強力だが、計算コストがかかる。多くのリアルタイム・アプリケーションでは のような効率的なCNNベースのモデルは YOLO11のような のような効率的なCNNベースのモデルは、その速度と低いメモリフットプリントにより、推奨される選択であり続けている。しかし、ハイブリッド・アプローチや最適化されたトランスフォーマー は、機械学習の限界を押し広げ続けている。 機械学習の限界を押し広げ続けている。将来的には YOLO26のような今後のアーキテクチャは、Ultralytics上でエンドツーエンドの機能を提供し、両者の長所を統合することを目指している。 Ultralytics Platform上でエンドツーエンドの機能を提供する。 次のようなフレームワーク PyTorchや TensorFlowのようなフレームワークは、開発者が これらの高度な自己アテンション・レイヤーを実験するためのビルディング・ブロックを提供する。


