ブログ連載:AIの「文脈を読む力」の秘密 - Attention機構 完全解説
【第2部】TransformerとAttention:ChatGPTを誕生させた革命的技術
【入門編】なぜ昔の翻訳AIは変だった?奇跡の仕組み「Attention」を徹底解説
「この翻訳アプリ、すごく自然だな」「このチャットAI、ちゃんと文脈を理解してくれている」。
近年のAIの目覚ましい進化に、そう感じたことはありませんか?一昔前の、意味が通じない奇妙な翻訳はすっかり影を潜めました。
この劇的な進化の裏には「Attention(アテンション)」という、AIに「集中力」と「空気を読む力」を与えた、革命的な仕組みが存在します。この記事では、専門用語や数式を一切使わずに、Attentionがどれだけ賢いのか、その本質的なアイデアを解説します。
昔のAIが抱えていた「たった一つの大きな悩み」
Attentionが登場する前、AIによる翻訳は、主に「エンコーダ・デコーダモデル」という二人組のチームで行われていました。
-
エンコーダ(情報の読書家)
入力された文章(例:日本語)を丁寧に読み解き、その文章が持つ意味や文脈を、たった一つの「要約メモ」にまとめるのが仕事です。
-
デコーダ(才能ある作家)
エンコーダからその「要約メモ」だけを受け取り、それを頼りにゼロから新しい文章(例:英語)を書き起こすのが仕事です。
このチームには、大きな課題がありました。それは「情報のボトルネック」問題です。
どんなに長い小説を渡されても、エンコーダはそれを無理やり「一枚の付箋」に要約しなければなりませんでした。デコーダは、その情報が不十分かもしれない付箋一枚だけを頼りに、元の小説を復元しようとするのです。
これでは、当然うまくいきません。文章が長くなると、文の初めの方にあった重要な情報が押しつぶされて消えてしまったり、全体のニュアンスが抜け落ちたりしていました。これが、昔のAIが長い文章の翻訳を苦手としていた根本的な原因です。
発想の大転換:「必要な時に、原文をカンニングすれば良い」
ここで、天才的なアイデアが生まれます。
「全部を一枚の付箋に詰め込むから忘れてしまうんだ。それなら、人間が翻訳する時みたいに、元の文章を何度も見返せるようにすればいいじゃないか!」
これがAttentionの基本的な考え方です。
AIは、翻訳文の単語を一つ生成するたびに、元の文章全体をもう一度見渡して、「今、出力したい単語に一番関係があるのは、原文のどの部分だろう?」と、注目(Attention)するのです。
一枚の不完全な要約メモに頼るのをやめ、まるで「原文という教科書を持ち込みOKのテスト」のように、いつでも必要な情報をカンニングできる仕組み。これが革命の始まりでした。
アテンションの3ステップ:AIはこうやって「注目」している
では、AIは具体的にどうやって「注目」する場所を決めているのでしょうか?簡単な3ステップで見てみましょう。
ステップ1:関連度を採点する
まず、AIが「これから英語の『student』という単語を書きたいな」と考えたとします。
その時、元の日本語の文章「私は学生です」の各単語を一つずつ見て、「私」「は」「学生」「です」それぞれが、今から書きたい『student』とどれくらい関連があるかを点数付けします。当然、この場合は「学生」の点数が最も高くなります。
ステップ2:注目度(集中力)の配分を決める
次に、採点結果をもとに「注目度の割合」を決めます。
「よし、今回は原文の『学生』に80%集中して、念のため『私』にも10%くらいは意識を向けておこう」
というように、AIは自分の限られた集中力(リソース)を、どの単語にどれだけ配分するかを決定します。この「注目の重み」こそが、Attention Weight(アテンション・ウェイト)と呼ばれるものの正体です。
ステップ3:大事な情報だけを抜き出す
最後に、決めた注目度の割合に応じて、元の文章から情報をブレンドし、一つの「オーダーメイドの要約情報」を作ります。
この例では、「学生」の意味が80%、「私」の意味が10%といった具合に、情報が色濃く反映された、まさに「今、"student"と出力するために一番必要な情報」だけが凝縮された要約です。
AIは、この出来立ての要約情報を元に、次の単語「student」を正確に出力します。そして、また次の単語を生成する際に、この3ステップをゼロから繰り返すのです。