- 「野生の思考」
わたしは,"Transformer/ChatGPT" の門外漢である。
わたしにとって,Transformer/ChatGPT の解説テクストを読んで理解することは,ひどく困難である。
この困難は,思考の違いが理由である。
Transformer/ChatGPT を説く思考は,Lévi-Strauss のいう「野生の思考」なのである。
野生の思考が語るのは「ブリコラージュ」である。
これは,門外漢には分からない。
- プラグマティズム
「野生の思考」の「野生」の意味は,結果主義・実績主義である。
野生の思考の哲学は,プラグマティズム (「理屈は後で付く」)。
「野生」に「劣った」の意味は無い。
実際,テクノロジーを開発する思考は,野生の思考である。
「理屈は後で付く」は,特に,
「思考が構造化されていなくて,ことばの使い方を間違わない」
である。
これは,文法を知らなくても話せるのと同じである。
ちなみに Chomsky は,「文法を知らなくても話せる」を「言語生得」に解した。
事実は,「言語に晒されていると,ことばを文法的に正しく使えるようになる」である。
Transformer/ChatGPT は,「生得」が間違いであることの,直接証明である。
- 構成主義」
では,門外漢が野生の思考/ブリコラージュを理解するにはどうするか?
構造主義/構成主義をする。
Lévi-Strauss は構造主義の祖ということになっているが,野生の思考を理解しようとした彼の方法が構造主義になったのは,必然なのである。
Transformer/ChatGPT を理解しようとするわたしの方法も,必然的に「構造主義」になる。
ただしわたしの「構造主義」は,構成主義である。
Transformer/ChatGPT の場合,「構成」は「数学的構成」で進められそうに見える。
そこでわたしは,数学に寄せた構成を択ることにした。
「択ることにした」というより,これしかないわけである。
- 意味の過剰
野生の思考の特徴に, 「意味の過剰」がある。
構成主義には,
も含まれている。
(1)「Query・Key・Value」
わたしは,Transformer の「意味の過剰」を,特に「Query, Key, Value」(後述) に見る:
表現その1
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 の他のトークンに与える意味
表現その2
入力のトークンベクトル は,
自分(Q_i)が
S の他のすべての語(K_j)の特徴を見て
S のどの語から、どの程度、意味 (V_j )を取り込むかを判断し
文脈的な意味ベクトルとして再定義される (→ 出力)。
あるいは,短く表現3
「トークンベクトルは、全体を見て自分の意味を組み直す。」
「Query, Key, Value」の文脈は,つぎの数式である:
softmax( ( X(S) W_Q )・( X(S) W_K )^T ) ( X(S) W_V )
即ち,この式の中の Q, K, V が, 「Query, Key, Value」である。
構成主義は,Q, K, V に「Query, Key, Value」を読むことができない。
構成主義の見方は,つぎのようになる:
- 「Query, Key, Value」は,思い入れである。
- しかしこの思い入れが,Transsformer の成功をもたらした。
思い入れが成功をもたらすことは,その思い込みが正しいということではない。
しかし野生の思考では,成功をもたらした思い入れは, 「事実」になる。
野生の思考は,結果主義・実績主義なのである。
上の式は,Transformer を成功に導いた「Self-Attention」の内容である。
この「Self-Attention」の用語は,哲学から出てきていまは科学用語になった「Self-Referrence」の<生き物>化である。
構成主義は,この<生き物>化は受け入れる。
構成主義は,<生き物>に対してはシステム化・機械化主義になるからである。
(2)「次の単語を当てなさい」
言語モデルをつくるときの「教師あり」は,つぎのように説明される:
たとえば、文:
を学習に使うとき、モデルはこういう学習をします:
|
入力 |
|
正解ラベル (教師信号) |
|
「私は」 | 「昨日」 |
「私は 昨日」 | 「、」 |
「私は 昨日 、」 | 「映画」 |
「私は 昨日 、 映画」 | 「を」 |
|
入力テクストは,自動処理される。
この自動処理の中に,「次の単語を当てなさい」ゲームは存在しない。
「次の単語を当てなさい」は,自動処理アルゴリズム設計者の<つもり・思い入れ>である。
自動処理では,「正解表」として,
「トークンT(m) に トークンT(n) がつながる確率 true_mn」
の行列が登場するだけである。
この表は,学習前に作成され,固定値である。
自動処理では,この行列はつぎのように出てくる:
logits_i = W o_i^T
p_i = softmax( logits_i )
loss_i = cross_entropy ( p_i, true_(ID_i) )
これを,「次の単語を当てなさい」と称している。
しかし門外漢は,「次の単語を当てなさい」のことばからは,つぎのようなやりとりがあることを思ってしまう:
「おめでとう,当たりです!」
「間違いです,正解はこれですよ。」
そしてそもそも論として,o_i は,何かを表現しようとしていない。
|