Up | Transformer とは何か | 作成: 2025-05-25 更新: 2025-05-28 |
言語は,シンタクスとセマンティクスを構造とする空間と見なせる。 シンタクスは,「犬が走る」「犬が飛ぶ」を許し「犬走るが」「が飛ぶ犬」を却けるもの。 セマンティクスは,「犬が走る」を許し「犬が飛ぶ」を却けるもの。 Transformer は,その言語空間をコンピュータの中に写し取る。 この写像は,語彙を決まった長さ (次元) の数ベクトルに表現する。 ベクトルは,真っ白な状態 (ランダム) から始まり,語彙へと成長する。 生まれたばかりの赤ん坊が大人に成長する様(さま)である。 Transformer は,この養育システムである。 Transformer の養育は,手の込んだものではない。 その反対である。 Transformer がベクトルに手出しをするのは,基本的に2つだけである。 1つは,養育の開始前にすることで,網羅的に用意した語彙それぞれに真っ白なベクトルをあてがうこと。 そしてもう1つは,学習材テクストを入力したときに,そのテクストの i 番目の語彙にあたるベクトルに,「i 番目」の情報を加えること。 「i 番目」の情報は,語彙ベクトルと同じ長さのベクトル。 「i 番目」の情報の付加は,文字通り語彙ベクトルに「i 番目」ベクトルを加算する。 テクストの中に何回も出てくる語彙には,何番目情報を全部足す。 これは何のため? この方法で語彙ベクトルに「文脈」が擦り込まれることを,期待すのである。, 荒っぽいやり方に見えるが,結果的にこれがうまくいく。 Transforemer が語彙に真っ白なベクトルをあてがうやり方は: ベクトルは,ベクトル空間の点に表現される。 これにより,ベクトルの成長は,ベクトル空間の点の移動に表現される。 ベクトルが語彙に成長することは,ベクトル空間の中に,シンタクスとセマンティクスを構造として言語が形成されることである。 ベクトルはベクトル空間を動くが,Transforemer は ID を使って彼らの個々を同定し,見失わうことがない。 イメージは「放流され成長する魚の個々をつねに同定できる」。 しかし「ベクトル空間の中の移動する点」は,もちろん幻想である。 ベクトルの実体は,コンピュータのメモリに書かれた数値である。 ベクトルの成長は,この値の上書きである。 「ID とベクトルがつながっている」は,ベクトルのメモリ番号を指すポインタ変数の機能である。 養育の中身は,「語彙ベクトルに決まったルールのプレイを繰り返させる」。 ちょうど野球のゲームが9回を使って同じルールのプレイを繰り返すようにである, そのルール (「計算アルゴリズム」) は込み入っているが,ルールで意図していることは,プレイヤーが「引き合う者同士は近くに」になること。。 そして,野球を何試合もするように,入力テクストを変えては,上の一まわりを繰り返す。 これを,厖大な数のテクストでやる。 すると,どうなるか? 不思議なことに,語彙ベクトルがほんとうに語彙になる。 即ち,総体で,シンタクスとセマンティクスを現すようになる。 ベクトル空間の中に言語空間を形成する。 語彙を語彙にするのは,人間である。 しかしこれを,「<語彙が互いに引き合う力学>に人間が追随している」と読んでみる。 その力学場が,言語空間である。 そして Transformer で出来上がってくるのは,この言語空間なのである。 Transformer が人間の言語をコンピュータに写すとは,こういうことである。 先に,「語彙ベクトルに何番目情報ベクトルを加算する」「テクストの中に何回も出てくる語彙には,何番目情報を全部足す」ということを言った。 荒っぽいやり方に見えるが,改めて考えれば,「文脈レベルのシンタクス・セマンティクス」を実現しようとすれば,このやり方は自然だと言える。 しかし, 「それにしても」である。 やっていることは,「野球を知らない者たちに,野球を繰り返しプレイさせる」である。 そしてその結果が,「ちゃんとした野球プレイに全員がなる」。 Transformer の設計者は,プレイのルール (計算アルゴリズム) を,合理を探ってつくっている。 しかし,この養育法の鍵は,「大数」にある。 なんとも不思議なことが実現しているわけだが,その不思議は「大数」の不思議である。 その大数は,いまはつぎのステージにある: |