Attentionにおいて、あるクエリと3つのキーから求めた注意の重み(ソフトマックス関数で正規化した後の値)が、キー1:0.5、キー2:0.3、キー3:0.2であった。キー1〜3に対応するバリューがそれぞれ(0, 8)、(10, 2)、(5, 2)のとき、このクエリに対するAttentionの出力として、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 B
この問題の論点:Attentionの出力の計算
ポイント
Attentionの出力は、クエリとキーから求めた重みでバリューを加重和したものです。キーは重みの計算に、バリューは出力の材料に使います。
選択肢ごとの解説
- A
不適切
最も重みの大きいキー1のバリューだけを選んだ値です。通常のAttentionは1つを選ぶのではなく、すべてのバリューを重みに応じて混ぜ合わせます。
- B
適切 正解
出力は重みによるバリューの加重和です。0.5×(0, 8)+0.3×(10, 2)+0.2×(5, 2)=(0, 4)+(3, 0.6)+(1, 0.4)=(4, 5)となります。
- C
不適切
重みを使わず、3つのバリューを単純に平均した値です。(0+10+5)÷3=5、(8+2+2)÷3=4となり、注意の重みが反映されていません。
- D
不適切
重みとバリューの対応を逆にした値です(0.2×(0, 8)+0.3×(10, 2)+0.5×(5, 2))。各重みは、同じキーに対応するバリューに掛けます。
補足
Transformerで使われるScaled Dot-Product Attentionでは、クエリとキーの内積をキーの次元数の平方根で割り、ソフトマックス関数で正規化して重みにします。重みの合計は1になるため、出力はバリューの「重み付き平均」とも見なせます。
試験での狙われ方
クエリ・キー・バリューの役割の区別や、重みとバリューから出力を求める簡単な計算の形で問われることがあります。
参考
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目23 Attention)
- Vaswani et al., Attention Is All You Need (2017)