- 「学習・成長」
Self-Attention 層では,つぎのことが起こっている:
入力のテクストの通りにトークンベクトルを並ばせ,
所定のアルゴリズムで,トークンベクトルに揺らし (線型変換行列) をかけ,
それから揺らし行列にも,揺らしをかける。
これを厖大な数のテクストを使って繰り返し行うと,揺れがシンクロを起こす具合になって,トークンベクトルと揺らし行列の値が固定してくる。
そしてそのときのトークンベクトルの値は,リアルなテクストでのトークンの挙動を表現するものになっている。
トークベクトルと変換行列の値の固定化は,学習の飽和を意味する。
実際この現象が,まさに「学習の飽和」のことばで,報告されている。
そして学習の飽和が,学習の切り上げのタイミングである。
- 「学習・成長」ストーリー
Transformer の "Query・Key・Value" は,「学習・成長」をつぎのストーリーにしたことになる:
- トークンベクトルは,何も知らない無垢の状態から始まる。
- 学習材テクストSは,彼らをこの通りに並ばせるものである。
Sをとっかえひっかえ変えて,「並ぶ」をさせる。
- すると,トークンベクトルは,並びの印象をもつかのようになる。
それは
「あいつが,またいるな」
「今回は,あそこにいるぞ」
- そしてこの「あいつ」印象は,最初は外見の印象だが,だんだんと内面の印象に及ぶ。
- 「印象をもつ」の構造化
「印象をもつ」をつぎのように構造化する:
- 「並び」印象は,「あいつ」印象に還元できそうだ。
- 「あいつ」印象は,つぎの3つをこれの要素と見なせそうだ:
- 「あいつ」への気づき
- 「あいつの外見」
- 「あいつの内面」
- 数理化
上の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 )を取り込むかを判断し
文脈的な意味ベクトルとして再定義される (→ 出力).
あるいは,短く::
「トークンベクトルは、全体を見て自分の意味を組み直す。」
「学習・成長」を「自然選択」と見る思想
|