Multi-Head Attention

Transformer は 1 つの Self-Attention ではなく、複数のヘッドを並列に走らせ、 各ヘッドが 違う関係性 を学びます。

入力トークン(クリックで Query を切り替え)

選んだ単語の Attention を 4 ヘッド同時に表示

色 = ヘッドの種類、線の太さ = そのヘッドでの注目度。同じ単語でもヘッドごとに違う相手を見ているのが分かります。

選んだ単語の各ヘッドの解釈

1 つの視点だけだと「主語と動詞の関係」と「冠詞と名詞の関係」を同時には捉えられません。
Multi-Head Attention は 同じ文を 4 つ(または 8、12、64 個)の異なる視点で同時に読む 仕組みです。
たとえば cat を見るとき、あるヘッドは sat に、別のヘッドは mat に、また別のヘッドは the に注目する — それらを合わせて意味を決めます。

4 ヘッドそれぞれの Attention ヒートマップ

なぜ「複数ヘッド」?

もっと詳しく:各ヘッドの Wq・Wk が何を切り出しているか

埋め込みは 8 次元:前半 4 次元 = 意味特徴(冠詞/名詞/動詞/前置詞)、後半 4 次元 = 位置情報(正規化位置・逆位置・sin・cos)。 各ヘッドの Wq・Wk(8 × 2)が、この 8 次元のうち どの次元を使って関係を作るか を決めています。

  • 構文ヘッド:意味特徴(前半 4 次元)のみを使い、名詞 ↔ 動詞・冠詞 → 名詞 を結びつける
  • 位置ヘッド:位置の sin・cos(後半 2 次元)を使い、内積 ≈ cos(位置差) で 近い位置ほど強く注目
  • 先頭志向ヘッド:すべての Query が同じベクトルを出し、Key は逆位置(文頭で大)を投影 — 結果として全 Query が文頭に注目
  • 意味類似ヘッド:意味特徴を恒等的に投影し、同じカテゴリ語(the↔the、cat↔mat)に強く注目