Up | 入力データの処理 (入力層) | 作成: 2025-05-16 更新: 2025-06-25 |
これを, [ t_1, ‥‥, t_m ] ( m = LEN(S) ) と簡略表記する。。 1.2 トークン検索 T(ID_i) → TV(ID_i) S から未登録トークン (未知語) が出てきたときは,つぎの「脱構築的トークン化」を処置する:
(サブワードの例:WordPiece や BPE ) [ TV(ID_1), TV(ID_2), ..., TV(ID_LEN(S)) ] を [ x_1, ‥‥, x_m ] ( m = LEN(S) ) と簡略表記する。。 x_1, ‥‥, x_m を上から下に並べ た LEN(S) × D 行行列を, X(S) で表す。 また,埋め込みベクトルで構成される行列ということで,この行列に対しては「埋め込み行列」の言い方をしていく。
2.2 埋め込み行列と位置エンコーディングの合成 ・S のトークン分割に対応するトークンベクトルの並び ・その並びの中の,トークンベクトルの位置 そしてこれを,2つの 行列 ( LEN(S)×D 行列) の和 X(S) ← X(S) + POS(LEN(S)) x_i ← x_i + pos_i この「加算」は,「トークンベクトルに<文脈の中の位置>を注入」の意味を見ている。 情報の混ぜ合わせであり,こんなやり方で「文脈」が扱えるのかと思ってしまうが,論より証拠で,これがうまくいくのである。 ──実験的にも有効(原論文 "Attention is All You Need") そしてこの方法は,シンプルで計算効率が良い (位置と意味を分けずに処理できる) < 2.3 Attention・FFNブロックへ Attention・FFNブロックに入ると,ベクトル x_i がバラバラに (「並列に」) 処理される。 しかし各 x_i は,「Sのどこにあるトークンのベクトルか」の情報になっているので,S (「文脈」) が保たれる:
|