Transformer の心臓部:どの単語が、どの単語を見ているか
文の中の単語どうしが「どれくらい他の単語に注目したか」を表す Attention 重み行列です。各単語は自分のクエリ(何を探しているか)と相手のキー(何を持っているか)の内積を取り、softmax で重みに変えます。行ごとの合計は必ず 1。マスにホバーすると対応関係が浮かび上がります。「読んでいる」が「本」を、「甘い」が「りんご」を見つける様子を確かめてください。
縦(行)=注目する単語のクエリ / 横(列)=注目される単語のキー / 色が濃いほど強く注目
ヒント:スケーリングを外すと内積が大きくなりすぎて、softmax が1箇所に偏りすぎるのが分かります。だから Transformer は \(\sqrt{d_k}\) で割っています。