Up Query・Key・Value の意味論 作成: 2025-05-17
更新: 2025-05-22


  1. 「学習・成長」
    Self-Attention 層では,つぎのことが起こっている:
      入力のテクストの通りにトークンベクトルを並ばせ,
      所定のアルゴリズムで,トークンベクトルに揺らし (線型変換行列) をかけ,
      それから揺らし行列にも,揺らしをかける。

    これを厖大な数のテクストを使って繰り返し行うと,揺れがシンクロを起こす具合になって,トークンベクトルと揺らし行列の値が固定してくる。
    そしてそのときのトークンベクトルの値は,リアルなテクストでのトークンの挙動を表現するものになっている。

    トークベクトルと変換行列の値の固定化は,学習の飽和を意味する。
    実際この現象が,まさに「学習の飽和」のことばで,報告されている。
    そして学習の飽和が,学習の切り上げのタイミングである。


  2. 「学習・成長」ストーリー
    Transformer の "Query・Key・Value" は,「学習・成長」をつぎのストーリーにしたことになる:

    1. トークンベクトルは,何も知らない無垢の状態から始まる。
    2. 学習材テクストSは,彼らをこの通りに並ばせるものである。
      Sをとっかえひっかえ変えて,「並ぶ」をさせる。
    3. すると,トークンベクトルは,並びの印象をもつかのようになる。
      それは
        「あいつが,またいるな」
        「今回は,あそこにいるぞ」
    4. そしてこの「あいつ」印象は,最初は外見の印象だが,だんだんと内面の印象に及ぶ。


  3. 「印象をもつ」の構造化
    「印象をもつ」をつぎのように構造化する:
    1. 「並び」印象は,「あいつ」印象に還元できそうだ。
    2. 「あいつ」印象は,つぎの3つをこれの要素と見なせそうだ:
      • 「あいつ」への気づき
      • 「あいつの外見」
      • 「あいつの内面」


  4. 数理化
    上の3つの要素が,"Query, Key, Value" である。
    読み方:
      Q_i = x_i W_Q :TV(ID_i) が発する問い
      K_i = x_i W_K :TV(ID_i) が持つ情報の特徴
      V_i = x_i W_V :TV(ID_i) が S の他のトークンに与える意味

    そして,この解釈でつくった「トークンベクトルを揺らすアルゴリズム」が:

    Self-Attention の入力から出力まで
            X(S) = E(S) + P(LEN(S))
                ↓
         ┌──────┬─────┐
     線形変換│W_Q    │W_K   │W_V
         ↓      ↓     ↓
         Q      K      V
         └──┬───┘     │
            ↓         │
          ( Q_i · K_j )        │
         正規化↓         │
            α         │
            └────┬────┘
                 ↓
                Z =α V

    このアルゴリズムは,つぎのように読まれる:
      入力のトークンベクトル は,
      • 自分(Q_i)が
      • S の他のすべての語(K_j)の特徴を見て
      • S のどの語から、どの程度、意味 (V_j )を取り込むかを判断し
      文脈的な意味ベクトルとして再定義される (→ 出力).

    あるいは,短く::
      「トークンベクトルは、全体を見て自分の意味を組み直す。」


    「学習・成長」を「自然選択」と見る思想