自然言語処理の可視化
言語モデルはテキストをトークンにし、離散記号をベクトルへ写し、文脈で表現を変え、最後に次のトークンの確率分布を作ります。各レッスンは一つの仕組みを分離し、実際のトークン ID、GloVe ベクトル、GPT-2 の予測トレースを調べます。
モデルが受け取るのはトークン ID です。N-gram は直近の正確な列を数えて続きを予測し、ニューラル言語モデルは ID をベクトルへ変え、文脈を混ぜ、語彙の各候補へ採点します。N-gram を追跡しやすい基準とし、その後で学習した表現が完全一致を置き換える様子を見ます。
テキストからモデルへの流れ
- トークンに分ける:単語、サブワード、さらに小さい断片に対応します。既存の語彙の適用とトークナイザーの訓練は別の処理です。
- 統計的な基準を作る:N-gram は最近の
n - 1トークンを記憶し、同じ履歴の続きを数えます。履歴を詳しくするほど、一致しない履歴も増えます。 - 幾何表現を作る:埋め込みは記号をベクトルにし、コサイン検索や類推の差分を可能にしますが、コーパスの偏りも持ち込みます。
- 文脈を混ぜる:注意機構はクエリとキーの一致で、他の位置から読む量を決めます。
- 位置を加える:正弦位置ベクトルを埋め込みへ加え、同じトークンでも位置により入力を変えます。
- 構造に組み上げる:Transformer は注意層と全結合の前向き層を重ね、学習したパラメーターで文脈を処理します。
- 続きを採点する:最終隠れベクトルから語彙の確率を得て、一つ選び、追加して繰り返します。
レッスンの内容
| レッスン | 観察するもの |
|---|---|
| トークン化 | 文がモデルの受け取るトークンへ分かれる |
| BPE の訓練 | 最頻の隣接記号対を繰り返し結合して語彙を作る |
| N-gram 言語モデル | 履歴の一致、継続の計数、平滑化、疎な文脈での失敗 |
| 単語埋め込み | 実際の 50 次元データで woman → girl の差分を queen へ適用し、偏りの失敗を確認する |
| 注意機構 | 各トークンが他のトークンを重み付きで読む |
| 位置エンコーディング | 正弦・余弦の組で位置をベクトルにし、有無を比較する |
| Transformer | 注意層、前向き層、残差接続を重ねた GPT の基礎構造 |
| 次トークン予測 | GPT-2 が一ベクトルから 50,257 の確率を作り、自分の選択を再入力する |
| デコーディング戦略 | 同じ GPT-2 logits で Greedy、Top-k、Top-p を比べ、温度と切り捨てを変える |
推奨する学習順序
トークン化で文の切れ目を観察し、語彙にある記号がモデルの入力になると理解します。次は BPE の訓練です。本例は一文字から始め、最頻の隣接対を繰り返し結合します。よく現れる組は一トークンになり、まれなものは断片のままです。トークン化は語彙を適用し、BPE の訓練は語彙を作ります。
ベクトルの前に N-gram 言語モデルを開きます。五文のコーパスで、履歴長を選び、一致を数え、正規化し、一語の変更で証拠が消える過程を追います。履歴を短くすれば一致は戻りますが、具体性を失います。
次の単語埋め込みは、実際の GloVe の 50 次元データでコサイン類似度と差分を示します。偏りの例から、幾何的規則は真実の保証ではないと分かります。静的埋め込みが一語に一ベクトルを与えるのに対し、注意機構では bank が river や savings から異なる情報を読み、表現が文脈に依存します。
Transformer の前に位置エンコーディングを学びます。同じトークンを比べると埋め込みが相殺され、追加した位置ベクトルの差だけが残ります。Transformerで注意、前向き層、残差接続を組み合わせ、次トークン予測で最終ベクトルを語彙スコアへ射影します。softmax が確率へ変え、デコーダーが一つ選んで戻し、テキストからテキストへの流れが完成します。
最後はデコーディング戦略です。接頭テキストと乱数の値を固定し、Greedy、Top-k、Top-p を比べます。温度は確率の配分を変え、残した候補集合は選択可能なトークンを決めます。
自然言語処理の可視化一覧
入力を変え、一段階ずつ仕組みを確かめてください。