Lab AI トランスフォーマーのアテンションとは——Self-Attentionを直感的に理解する
目次

現代のLLMはすべてTransformerアーキテクチャを基盤としている。2017年に発表された論文「Attention is All You Need」は、その名の通り「アテンション(注意機構)だけで言語を処理できる」ことを示し、深層学習の歴史を変えた。

Self-Attentionの仕組みは、数式なしでも直感的に理解できる。

なぜアテンションが必要か——RNNの限界から

Transformer以前、自然言語処理の主流はRNN(Recurrent Neural Network)だった。RNNはテキストを左から右へ順番に処理し、各ステップで「これまでの文脈」を「隠れ状態」というベクトルに圧縮して次のステップに引き継ぐ。

この設計には根本的な問題があった。

順次処理のボトルネック:左から右へ順番に処理するため、並列化ができない。長い文章の処理は時間がかかる。

長距離依存の喪失:文章が長くなると、初期の情報が「隠れ状態」の圧縮を経て薄れていく。「最初に登場した主語が、文末の動詞に影響する」という長距離の依存関係を捉えにくい。

これらの問題を解決したのがSelf-Attentionだ。

Self-Attentionの直感的説明

Self-Attentionの核心は「各トークンが、他のすべてのトークンに対してどれだけ注目するべきかを計算する」仕組みだ。

「太郎は花子が好きだと彼女に伝えた」という文を例に考えよう。「彼女」が誰を指すかを判断するには、「花子」という名詞に注目する必要がある。Self-Attentionは、「彼女」というトークンが「花子」に高いアテンション重みを割り当てることで、この文脈的な関係を捉える。

具体的なプロセスは以下の通りだ。

各トークンに対して3種類の数値ベクトルが計算される。**Query(クエリ、Q)**は「私は何を探しているか」、**Key(キー、K)**は「私はこのような情報を持っている」、**Value(バリュー、V)**は「実際の情報内容」だ。

あるトークン(例:「彼女」)のQueryを、すべてのトークンのKeyと比較する。類似度の高いKey(例:「花子」のKey)を持つトークンに高いスコアが付く。このスコアをsoftmax関数で正規化して確率(アテンション重み)にし、各トークンのValueをその重みで加重平均する。

結果として「彼女」のトークンは、「花子」のValueを強く含んだ更新されたベクトルになる。これが「花子に注意を向けた」という処理だ。

Q/K/Vの行列の役割

なぜQuery・Key・Valueという3種類に分けるのか。

これは「検索」の比喩で理解できる。データベース検索を思い浮かべてほしい。あなたの検索語(Query)がある。データベースの各レコードにはインデックス(Key)と実際の内容(Value)がある。Queryとキーの照合によって関連レコードが選ばれ、そのValueが返される。

Self-Attentionは、各トークンが同時に「検索する側(Query)」と「検索される側(Key/Value)」の両方の役割を担う。このため「Self(自己)」Attentionと呼ばれる。

Q, K, Vの各ベクトルは、元のトークンベクトルに学習可能な重み行列を掛けて生成される。これらの重み行列が訓練によって最適化され、意味的に適切な「注意パターン」が学習される。

マルチヘッドアテンション

実際のTransformerでは、Self-Attentionは「マルチヘッド」形式で実行される。

1つのアテンションヘッドは1種類の注意パターンしか捉えられない。しかし言語には複数の次元の依存関係がある。たとえば、構文的な依存関係(主語と動詞)、語義的な依存関係(代名詞と先行詞)、意味的な関連性など。

マルチヘッドアテンションは、異なる重み行列を持つ複数のアテンションヘッド(通常8〜32個)を並列で実行し、各ヘッドが異なる種類の関係性を学習する。それぞれのヘッドの出力を結合することで、複数の観点からの文脈情報を統合する。

RNNとの比較

Self-AttentionとRNNの最大の違いは「どのトークンが何を処理するか」の点だ。

RNNは順次処理を行うため、遠く離れたトークン間の依存関係を保持するには、その間のすべてのステップを経由する必要がある。情報が「電話ゲーム」のように劣化する。

Self-Attentionはすべてのトークン間の関係を直接計算する。どれだけ遠く離れたトークン同士でも、1ステップで直接注意を向けられる。これが長距離依存の捕捉を可能にし、LLMが長い文章の文脈を維持できる理由だ。

また、Self-Attentionはすべてのトークンを並列に処理できる(各トークンの計算は独立)。RNNの順次処理に対して、GPUの並列計算を最大限に活用できる。これがTransformerの訓練速度がRNNより大幅に速い理由でもある。


まとめ

Self-Attentionの本質は「各トークンが他のすべてのトークンに対して『どれだけ注目するか』を学習する仕組み」だ。

Query・Key・Valueという3役割の分離、マルチヘッドによる多角的な関係捕捉、直接的な全トークン間の関係計算——これらがRNNの限界を超えて、現代のLLMの基盤となるTransformerを成立させている。

「Attention is All You Need」という論文タイトルは、やや大げさに聞こえるかもしれないが、現在のAI技術の発展を見れば、その主張の正しさは明らかだ。

免責事項 — 掲載情報は執筆時点のものです。料金・機能は変更される場合があります。最新情報は各公式サイトをご確認ください。