アテンションAttention
どれにどれだけ重みを置くかを決める仕組み
- アテンションは複数の入力のうちどれにどれだけ重みを置くかを決め、その比率で混ぜ合わせる仕組みです。
- 重みは固定された値ではありません。今何を処理しているかに応じて毎回計算し直されます。
- 重みをすべて足すと1になります。どこかを大きく上げるとほかは自動的に小さくなります。
- 遠く離れた言葉にも**一度で直接届きます。**順番に伝えながらぼやけていた以前の方式の弱点をなくしました。
- 見る対象が増えると**照らし合わせる組の数が二乗で増えます。**長い文章を扱うと費用が急に上がる理由です。
目次
1たとえで理解する
放送局の調整室には、マイクがいくつも入ってきます。司会者の声、観客の声、BGMが同時に届きます。調整担当はこれを全部同じ大きさで送り出しません。司会者が話す瞬間は司会者のフェーダーを上げ、ほかを下げます。笑いが起きた瞬間は観客側を少し上げます。アテンションがしているのはこの手さばきです。
送り出す音は一本の流れですが、そこには複数のマイクがそれぞれ違う大きさで混ざっています。どれか一つだけを選んで送るのではなく、比率を決めて合わせるのです。
比率は瞬間ごとに変わります。さっき司会者側が大きかったからといって、次の瞬間も大きいとは限りません。今何が重要かによって、つまみがまた動きます。
2くわしく
どのフェーダーを上げるか、どうわかるのか
調整担当は台本を見て判断します。アテンションは三つの情報を作って判断します。今処理している場所が「自分はこういうものを探している」という条件を出し、ほかの場所はそれぞれ「自分はこういうものを持っている」という名札を出します。この二つがよく合うほど、その場所のフェーダーが上がります。
実際に混ざる中身はまた別に用意されています。名札は「探す条件に合うか」を判定するためだけに使われ、フェーダーが上がった場所から実際に流れ出るのは、その場所が持っている中身です。図書館で検索語と本の題名を照らし合わせ、実際に読むのは本の中身であるのと同じです。
この三つはすべて同じ原本から、それぞれ違うやり方で取り出されたものです。どう取り出すかは学習の中で決まりました。人が規則を書き込んだ部分はありません。
重みをすべて足すと1になります
計算された点数はそのまま使われません。全部足すと1になるよう一度整えられます。だから「こちらが40パーセント、あちらが25パーセント」というふうに読めます。
このルールのおかげで競争が生まれます。ある場所に大きく重みを与えると、残りの場所は自動的に小さくなります。フェーダーを全部最大まで上げることはできないのと同じです。だからモデルは毎瞬間「何をあきらめて何を見るか」を選ぶことになります。
重みが一か所に集まることもあれば、複数の場所に均等に散らばることもあります。集まっていればその場所一つが決定的という意味で、散らばっていれば全体の雰囲気を広く参考にしているという意味です。
遠くにあっても直接届きます
以前の方式は文章を一語ずつ順番に渡しながら処理していました。文頭の言葉が文末まで届くには途中のすべての段階を経る必要があり、そのあいだに情報がぼやけました。長い文で主語を見失う問題はここから来ていました。
アテンションはこの構造をなくしました。今の場所から前のすべての場所を直接見られるので、二十語前に出た言葉もすぐ隣の言葉と同じ距離にあります。調整室でどのマイクでも手を伸ばせば届くのと同じです。長い文章で前のほうの名前や条件を最後まで保持できるようになったことが、アテンションの一番の成果です。
扱う対象が増えると調整卓が大きくなります
便利さには代償があります。すべての場所がすべての場所を見るということは、場所が二倍に増えると照らし合わせる組は四倍になるということです。マイクが十本なら調整卓でも間に合いますが、一万本になると話が変わります。
長い文書を入れたときに料金と時間が急に上がる理由がここにあります。そのため、近い場所だけを見させたり、代表となる場所だけを見させたり、計算の順序を変えてメモリを節約したりする工夫が次々と出てきています。
重みの表をのぞき見ること
どの言葉がどの言葉に重みを置いたかは数字として残ります。だからモデルが何を見て判断したかをうかがえる数少ない窓口だと考えられています。代名詞がどの名前を指すか、文の成分がどうつながるかが、この表に表れることが実際にあります。
ただ、この表をそのまま「モデルがこれを根拠にした」という説明として読むのは危険です。重みが高いからといって、それが判断の理由だったと断定はできません。参考資料としては優れていますが、証拠として使うには弱いのです。
3もう少し正確に
アテンションはクエリ、キー、バリューという三つのベクトルの組で計算されます。クエリと各キーの類似度を測り、ベクトルの大きさに合わせて一度縮めたあと、ソフトマックスを通して合計が1になる重みに変えます。その重みで値を加重平均したものが結果です。計算量とメモリは入力の長さの二乗に比例します。
文を続けて書くときは後ろを見られないよう隠します。まだ出ていない言葉を先に参考にすると、答えを写すことになってしまうからです。
たとえがずれる点もあります。調整室には判断する担当者が座っていますが、アテンションには何を重要と決める主体がいません。学習で合わせられた数字が掛け合わされ足し合わされて、重みが自然に出てくるのです。また調整担当は音を実際に聞いて判断しますが、アテンションは意味を理解して選ぶのではなく、ベクトル同士の似ている度合いだけを計算します。
4やってみる
5よくある誤解
アテンションが重要な一つを選び出すと思われがちですが、実際には全部に重みを配り、その比率で混ぜ合わせます。
重みが高い場所がそのまま判断の根拠だと見なされがちですが、実際には参考になる手がかりにすぎず、それだけで理由を説明することはできません。
アテンションのおかげで長さの制限がなくなったと思われがちですが、実際にはすべての組を照らし合わせるため、長さが伸びると費用が二乗で膨らみます。
7ひとこと要約
つまりアテンションは調整室のフェーダーのように、どれにどれだけ重みを置くかを毎回決め直し、その比率で混ぜて次へ渡す仕組みです。
誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02