「必要なのはアテンションだけ」——トランスフォーマーを提案した論文の題名が示すとおり、アテンションは現在の生成AIの心臓部です。AIが代名詞の指す相手を見抜き、長い文脈を踏まえた答えを返せるのは、すべてこの仕組みのおかげ。このページでは、親記事で「注目の重みづけ」とだけ学んだアテンションの中身を、もう一段深くのぞいてみます。

📖 ひと言でいうと

アテンション(Attention)とは、文章中のある言葉を処理するとき、他のどの言葉にどれだけ注目すべきかを点数化し、点数の高い相手の情報を重点的に取り込む仕組みのことです。

身近な例えは、会議中のメモ取りです。発言を聞きながら、「今の発言は、さっきの部長の指摘への反論だな」と関係の深い過去の発言に頭の中でリンクを張りますよね。全発言を均等に思い出すのではなく、関係の深いものに強く、薄いものに弱く注意を配る——この「注意の配分」を数値として計算するのがアテンションです。

🖼 1枚でわかるアテンション

アテンション — 「どこに注目するか」を計算する
  • 役割 — 言葉どうしの関係の強さを点数化し、注目配分を決める
  • 効果 — 代名詞の解決・文脈による意味の使い分け・長文の理解
  • 自己注意 — 同じ文章内の言葉どうしが注目し合う方式(Self-Attention)
  • マルチヘッド — 複数の観点で同時に注目し、多面的に文脈を読む
  • 位置づけ — トランスフォーマーの中核部品(設計図の心臓部)
つくもち屋「生成AI入門」SUMMARY

🔍 しっかり理解する

「探す・照合する・取り込む」の3ステップ

アテンションの計算は、数式を使わなくても「図書館での調べもの」にたとえるときれいに理解できます。登場人物は3つです。

💡 ポイント
  • クエリ(問い合わせ): いま処理している言葉が発する「私に関係する情報はどれ?」という問いかけ。調べものの「検索ワード」にあたります
  • キー(見出し): 文中の各言葉が掲げる「私はこういう情報です」という見出し。本の背表紙のラベルにあたります
  • バリュー(中身): 各言葉が実際に持っている情報の中身。本の内容にあたります

処理の流れはこうです。ある言葉のクエリを、文中の全部の言葉のキーと照合し、「どれくらい合致するか」を点数化します。この点数がアテンションの重み(注目度)です。そして、点数の高い言葉のバリューをたっぷり、低い言葉のバリューを少しだけ混ぜ合わせて、その言葉の新しい表現を作ります。検索ワードに合う本を見つけ、合致度に応じて内容を読み込む——それを全部の言葉が一斉に行っているのです。

問いを発する
処理中の言葉が「関係する情報は?」と問う(クエリ)
見出しと照合
全単語の見出し(キー)と合致度を点数化
重みに応じて取り込む
点数の高い言葉の中身(バリュー)を多めに混ぜる
文脈入りの表現が完成
その言葉の意味が文脈で更新される

この結果、各言葉の表現は「単語辞書の意味」から「この文脈でのこの言葉の意味」へと更新されます。たとえば「銀行の口座」と「川の土手(bank)」のように文脈で意味が変わる言葉も、周囲への注目を通じて適切な意味に寄っていきます。

自己注意とマルチヘッド——2つの発展形

親記事にも登場した自己注意(Self-Attention)は、同じ文章の中の言葉どうしが互いに注目し合う方式です。翻訳の元の文と訳文のように「別々の文の間」で注目する使い方もありますが、トランスフォーマーの中核になったのは、自分の文の中で完結する自己注意でした。文中の全ペアの関係を一斉に計算するため、離れた言葉どうしでも1ステップで直接つながれる——これが長文に強い理由です。

もう1つの重要な発展形がマルチヘッドアテンションです。ひと言でいうと「注目の観点を複数用意して同時に走らせる」仕組みです。1つの文の中には、「誰が何をしたか」という文法的な関係、「どの言葉とどの言葉が同じ話題か」という意味的な関係など、複数の種類の関係が同居しています。1種類の注目だけでは、どれか1つの観点しか拾えません。そこで、異なる観点を持つ複数の「ヘッド(注目の担当者)」を並べて、それぞれが独自の重みづけを計算し、最後に結果を持ち寄ります。会議の議事録を、進行係・決定事項係・宿題係が別々の観点で記録して後で突き合わせるようなものです。

厳密には、各ヘッドがどんな観点を担当するかは人間が指定するのではなく、学習の過程で自然に役割分担が生まれます。

なぜ「これだけでよかった」のか

論文の題名「Attention Is All You Need」には、「従来の逐次処理(RNN)を捨てて、アテンション中心の構造だけで言語処理ができる」という宣言が込められていました。逐次処理では、離れた言葉の関係は何ステップもかけて間接的に伝わるしかなく、途中で情報が薄れます。アテンションなら、どんなに離れた言葉でも「点数化して直接取り込む」1回の操作で届きます。しかもこの計算は全部の言葉について同時に実行できるため、並列計算との相性が抜群でした。「関係を直接つかめる+並列化できる」という2つの性質が、トランスフォーマーの成功、ひいてはLLMの大規模化を支えたのです。

💡 具体例で考える

「田中さんは鈴木さんに資料を渡した。彼女はそれを翌日の会議で使った。」という文をAIが処理する場面を考えます。「彼女」を処理するとき、アテンションのあるヘッドは人物への注目を強め(田中さんか鈴木さんか)、「それ」を処理するときは物への注目が働きます(資料)。さらに「使った」という動詞との関係から、「彼女=資料を受け取った側=鈴木さん」という解釈に重みが集まります。私たちが無意識にやっている文脈の推理を、注目度の計算として再現しているわけです。

また、長い指示文の最後に「なお、回答は箇条書きで」と付けても守られるのは、回答を生成する各ステップで、この指示部分への注目が働き続けるからです。「AIに条件を伝えるなら、文章のどこに書いても拾ってもらえるが、明確に書くほど注目されやすい」という実用上の感覚も、アテンションの理解から自然に導けます。

⚠️ よくある誤解・つまずきポイント

💡 ポイント
  • 誤解「アテンションは重要な単語だけを選び、他を捨てる仕組み」→ 正しくは、全部の言葉に連続的な重みを配り、混ぜ合わせる仕組みです。ゼロか100かの選別ではありません
  • 誤解「注目先は人間がルールとして与えている」→ 正しくは、何に注目すべきかは学習を通じてモデル自身が身につけます
  • 誤解「アテンション=トランスフォーマー」→ 正しくは、アテンションは部品、トランスフォーマーはそれを中核に据えた設計図全体です
  • 誤解「自己注意の『自己』はAI自身を意識する機能のこと」→ 正しくは、同じ文章の内部で言葉どうしが注目し合う、という意味の「自己」です

📝 生成AIテストではこう出る

💡 ポイント
  • アテンションの役割を問う形式。「入力のどの部分に注目するかを重みづけして情報を取り込む仕組み」が正解の軸で、「データを圧縮する仕組み」などの誤答と区別させる問題が想定されます
  • 効果を問う形式。「離れた位置にある単語間の関係を捉えられる」「代名詞が指す対象の解釈に役立つ」といった記述の正誤判定が考えられます
  • 用語の階層を問う形式。「自己注意(Self-Attention)はトランスフォーマーの中核をなす」という記述は正しいと判断できるようにしましょう
  • 「Attention Is All You Need」という論文でトランスフォーマーが提案された、という対応関係も出題され得ます

📚 まとめ

💡 ポイント
  • アテンションは、言葉どうしの関係を点数化し、関係の強い相手の情報を重点的に取り込む仕組みです
  • 計算は「問いを発する(クエリ)→見出しと照合(キー)→中身を重みつきで取り込む(バリュー)」の3役で理解できます
  • 同じ文中で注目し合う自己注意と、複数の観点で同時に注目するマルチヘッドが、トランスフォーマーの中核です
  • 「関係を直接つかめる」「並列計算できる」という2つの性質が、LLMの長文理解と大規模化を可能にしました