
すでにチャレンジ参加2週目。
昨日まで2章を終えていなかったが、1泊2日の研修に来て、12時までコーディングしながらようやく進度を合わせた。
1. 内容
2章の内容は単語のトークン化、エンコーディング、デコーディング、埋め込みベクトルが中心だった。
ワンホットエンコーダーを作ったことがあるので他のことは慣れていたが、埋め込みベクトル自体は新しい内容だった。
ワンホットエンコーダーは単語ごとに3次元行列を作りその部分を1にするが、埋め込みベクトルはx, y, zのような3次元上のベクトルで表された。

2. 質問
埋め込みベクトルを作成する時、質問が次々と生まれた。
なぜ埋め込みを初期にシードを利用して、重ならない乱数で作るのか?
行列自体は2次元のようなのに、なぜ3次元と表現するのか?
トークン埋め込みと位置埋め込みを足す理由は何か?
これらの質問はChat-GPTで解決した。

埋め込みベクトルは単語を探す辞書のような役割をする。
初期に埋め込みにシードを与えてランダムな関数を与えるのは、座標系上で単語の位置を異なるようにばらまくためだ。
そして同じシードで埋め込みを作ると、その埋め込みは初期にあった埋め込みと同じになるため、単語の位置と同じになる。
したがってトークン埋め込みと位置埋め込みを足すとその単語の特徴と文脈が一緒に現れる。
3. レビュー
Vercel AI SDKで漠然と埋め込みベクトルについて見ていたが、今は確実に理解することができるようになった。
数学的に表現しようとするとかなり難しいが、その意味を理解すればより簡単にアプローチできそうだ。
今後も引き続きやってみる予定だ。
댓글을 불러오는 중...