Attentionとは
Attentionとは、入力系列の中から、現在の出力にとって重要な部分に重みを付けて集約する仕組みです。固定長ベクトルに圧縮せず必要な情報を必要なタイミングで動的に参照できるため、長文処理・翻訳・要約などで高性能を実現します。
この用語はG検定シラバスの「23. Attention」に含まれます。 章全体の用語は用語解説④(全60語)にまとまっています。
一言でいうと
入力のどこに注目すべきかを重みとして計算し、必要な情報だけを取り出す仕組みです。
何を解決したのか
従来のSeq2Seqは、入力全体を1本の固定長ベクトルに圧縮していました。長文になるほど情報が入りきらず、性能が落ちていました。
Attentionは圧縮せず、出力する語ごとに入力のどこを見るかを選び直します。これによって長文でも精度が保たれるようになりました。
Query・Key・Valueの3つ
Transformerで用いられるAttentionでは、Query・Key・Valueの3つのベクトルを用いて計算します。図書館で本を探す場面にたとえると分かりやすくなります。
- Query(クエリ):探しているもの(検索キーワード)
- Key(キー):各候補の見出し(本のタイトル)
- Value(バリュー):実際に取り出す中身(本の内容)
計算は類似度(QKᵀ)→ 正規化(Softmax)→ 重み付き和という順で進みます。この3ステップは重要です。
「どこを見たか」が分かる
Attentionの重みは数値として取り出せます。つまり「この語を出すとき入力のどこを見ていたか」が確認できます。
翻訳であれば原文と訳文の対応が可視化されます。Attention重みを可視化することで、モデルがどの位置の情報を参照しているかを確認できます。
ただし、Attention重みがそのままモデルの判断根拠を説明するとは限りません。可視化できることと、説明可能性(XAI)の手法であることは別という点は押さえておきましょう。
🎯 G検定での押さえどころ
- Query・Key・Valueの3つで計算する
- 手順は類似度 → Softmax → 重み付き和
- 固定長ベクトルへの圧縮というSeq2Seqの弱点を解決
⚠️ よくある誤りの選択肢
- 「Attentionは入力を固定長ベクトルに圧縮する」→ 誤り。圧縮しない点が利点です
- 「AttentionはTransformerで初めて登場した」→ 誤り。Seq2Seqの改良として先に登場しました
📘 もっと深く学ぶ
- 数式レベルまで踏み込んだ解説 → 医療AIナビ「系列変換」(E資格向け)
- 手を動かして確かめる → Attention可視化シミュレータ
関連する用語
ご利用にあたって 本ページの内容は、JDLAが公開しているG検定シラバス2024や公式テキストなど、一般に公開されている情報をもとに独自に整理・解説したものです。実際の試験の出題内容を示すものではなく、また合格を保証するものでもありません。制度・法令・試験要項は変更されることがあるため、最新の情報は必ずJDLA公式サイトでご確認ください。