はじめに
ChatGPTのような大規模言語モデル(LLM)で活躍する「transformerアーキテクチャ」。その中心となる技術が自己注意機構(Self-Attention)です。
この記事では、自己注意機構の基本概念と仕組みについて簡単に説明していこうと思います。
自己注意機構(Self-Attention)とは?
自己注意機構(Self-Attention)とは、データの各要素が他の要素との関連性を動的に計算し、重要な情報を強調する技術です。
特徴と利点
✅ 長距離の関係性を把握
→ 文章や時系列データ内のすべての要素間の関係を一度に計算。長い文章でも重要な単語同士の関連を捉えられる。
✅ 並列処理が可能
→ RNNのような逐次処理とは異なり、一度に全単語を処理できるため、高速に計算できる。
✅ 文脈を深く理解
→ 各単語の意味を前後の単語との関係から学習し、より自然な言語理解を実現。
仕組み
自己注意機構は「クエリ(Query)」「キー(Key)」「値(Value)」の3つの要素を用いて動作します。
(1) 3つの主要要素
クエリ(Q, Query):「何を探しているか」
キー(K, Key):「自分が何を持っているか」
値(V, Value):「持っている情報」
例えば、「私は昨日、東京で美味しいラーメンを食べた」という文があったとします。
「食べた」にとって重要な単語は「ラーメン」です。この関連性を計算するのが自己注意機構の役割です。
(2) 自己注意の計算手順
① クエリとキーの内積を計算し、関連度(注意スコア)を求める
→ 「食べた」が他の単語(「私は」「東京」「ラーメン」など)とどれくらい関係があるかを計算。
② SoftMax関数を適用し、注意係数(重み)を得る
→ 関連度が高い単語に高い重みを与え、不要な単語の影響を減らす。
③ 注意係数を値に適用し、加重和を計算(新しい特徴量として出力)
→ 「食べた」にとって特に重要な単語(「ラーメン」)の情報が強調される。
このようにして、自己注意機構は入力データの中から「本当に重要な情報」を抽出し、モデルが適切に文脈を理解できるようにします。
- まとめ
✅ 自己注意機構とは、データの各要素間の関係性を動的に計算する技術。
✅ 長距離依存関係を捉え、並列処理が可能なため高速な計算ができる。
参考