用語集
教材の本文で、点線の下線が付いた用語は、クリック(またはタップ)すると短い解説が出ます。このページには、その全項目をまとめています。
- MLP(多層パーセプトロン)
線形変換と活性化関数を交互に重ねた、基本的なニューラルネットワーク。Transformer では、各トークンのベクトルを 1 つずつ別々に変換する部分を指す。
Transformer の MLP は、次元を 4 倍ほどに広げる線形変換 → 活性化関数 → 元の次元に戻す線形変換、の 2 層構成が典型的。Feed-Forward Network(FFN)とも呼ばれる。
- 重み
文脈によって 2 つの意味がある。(1) ニューラルネットワークの中で入力に掛ける数値(学習で調整されるパラメータ)。(2) 加重平均で、各値をどれだけ重視するかを表す割合。
Attention の説明で「重み」と言うときは、多くの場合 (2) の意味(softmax で作る、合計 1 の割合)である。(1) は「学習済みの重み」「モデルの重み」のように使う。
- 学習
大量のデータで予測を試し、外れた分だけパラメータを少しずつ調整して、予測を当たりやすくしていくこと。LLM は「次のトークンの予測」で学習する。
予測の外れ具合を数値(損失)で表し、損失が小さくなる方向にパラメータを動かす。どちらに動かせばよいかは勾配で求める。この調整を、膨大な文章について何度も繰り返す。
- 学習率
勾配降下法で、1 回の更新でパラメータをどれだけ大きく動かすかを決める数。大きすぎると行き過ぎて損失が増え(発散)、小さすぎると学習がなかなか進まない。
パラメータ ← パラメータ − 学習率 × 勾配、のように使う。学習では決まらず、使う人が決める値(ハイパーパラメータ)。学習の途中で少しずつ小さくしていくことも多い。
- 確率分布
起こりうる結果のそれぞれに、どれくらいの確率で起こるかを割り当てたもの。確率はすべて 0 以上で、合計は 1。
LLM の出力は、語彙のすべてのトークンに確率を割り当てた確率分布である。次のトークンは、この分布に従って選ばれる。
- 加重平均
値ごとに「重み」を掛けてから足し合わせる平均。重みの合計は 1 にする。重みの大きい値ほど結果に強く効く。
例:重み 0.7 の 10 と、重み 0.3 の 20 の加重平均は 0.7×10 + 0.3×20 = 13。Attention の 1 つのヘッドの出力(最後の行列を掛ける前)は、各トークンの Value を Attention の重みで加重平均したもの。
- 活性化関数(GELU など)
ニューラルネットワークの層の間に挟む、曲がった形(非線形)の関数。これがないと、線形変換を何層重ねても 1 回の線形変換と同じになり、複雑な関係を表せない。
代表例の ReLU は「負なら 0、正ならそのまま」。GELU は ReLU を滑らかにしたような形で、GPT-2 や BERT で使われた。最近の LLM では、GELU に似た SiLU(Swish)にゲート(もう 1 つの線形変換の結果との要素ごとの掛け算)を組み合わせた SwiGLU という形も多い。
- 行列
数値を縦横の表の形に並べたもの。横の並びを行、縦の並びを列という。ベクトルに行列を掛けると、別のベクトルに変換できる。
「語彙数 × 次元数」の埋め込み行列なら、1 行が 1 トークン分のベクトルになっている。ニューラルネットワークの計算の大部分は、行列とベクトル(または行列同士)の掛け算である。
- 系列
順番に並んだデータの列。ここでは、文章を区切ってできたトークンの並びのこと。並びの個数を系列の長さという。
Attention の計算量は系列の長さの 2 乗に比例して増えるので、系列が短いほど計算が軽くなる。
- 語彙(ボキャブラリ)
トークナイザが知っているトークンの一覧。LLM は、この一覧のどれか 1 つを次のトークンとして選ぶ。語彙の数を語彙サイズという。
GPT-2 の語彙サイズは 50,257。語彙に含まれる各トークンには、0 から順に番号(トークン ID)が振られている。
- 勾配
各パラメータを少し動かしたとき、予測の外れ具合(損失)がどれだけ増えるか減るかを表す値。学習では、勾配の逆向きにパラメータを動かして損失を減らす。
出力側から入力側へ順にさかのぼって計算する(誤差逆伝播法)。層が深いと、さかのぼる途中で勾配が極端に小さくなり、入力に近い層が学習されにくくなることがある。残差接続はこれを和らげる。
- コーパス
学習などに使うために集めた、大量の文章のこと。トークナイザやモデルは、コーパスの中の文章から規則や傾向を学ぶ。
LLM の学習には、Web ページ・書籍・コードなど、数兆トークン規模のコーパスが使われる。どんな文章がどれだけ含まれているかが、モデルの得意・不得意を左右する。
- コサイン類似度
2 つのベクトルの向きがどれだけ揃っているかを、-1〜1 の数値で表したもの。1 なら同じ向き、0 なら直交(向きがまったく揃っていない)、-1 なら正反対。
内積を、2 つのベクトルの長さの積で割って求める。長さの影響を除いて向きだけを比べられるので、埋め込みベクトルの「意味の近さ」を測るのによく使われる。
- コンテキスト長
LLM が一度に読み込めるトークン数の上限。入力(指示や会話の履歴)と、生成した出力の合計で数える。
上限を超えた部分は読めないので、長い会話では古い部分が切り捨てられたり要約されたりする。Attention の計算量が系列の長さの 2 乗に比例することが、上限を伸ばす難しさの 1 つ。
- 残差接続
層の出力で入力を置き換えるのではなく、入力に出力を足し合わせるつなぎ方。x ← x + 層(x) と書ける。入力をそのまま伝える通り道ができるので、元の情報が残りやすく、深く積んでも学習しやすくなる。
各層が「入力との差分(残差)」だけを学べばよくなるので、この名前が付いた。足し合わせの通り道により、学習時の勾配が、出力側から入力に近い層までまっすぐ届きやすい。Transformer では、この通り道を残差ストリームと呼ぶことがある。
- シグモイド関数
どんな入力も 0〜1 の間に押し込む、S 字形の関数。入力が大きいほど 1 に、小さいほど 0 に近づく。
sigmoid(z) = 1 / (1 + e^(−z))。出力を確率のように扱いたいとき(「はい」か「いいえ」の 2 択など)に使う。入力の絶対値が大きいところでは傾きがほぼ 0 になり、深い層の活性化関数としては学習が進みにくいことがある。
- 次元
ベクトルに並んでいる数値の個数。768 次元のベクトルは、768 個の数値の並び。
次元が多いほど、たくさんの違い(性質)を表し分けられる。その代わり、計算量と記憶するパラメータの数が増える。
- 正規化
数値の大きさや範囲を、扱いやすい基準に揃えること。たとえば「平均 0・分散 1 にする」「合計を 1 にする」「長さを 1 にする」など。
何を基準に揃えるかは場面によって違う。LayerNorm は平均と分散を、softmax は合計を、コサイン類似度はベクトルの長さを揃えている。
- 線形変換
ベクトルに行列を掛けて、別のベクトルに変えること。各出力は、入力の数値に重みを掛けて足し合わせたものになる。
次元数を変えることもできる(例:768 次元 → 3072 次元)。Query・Key・Value を作る処理や、最後に logits を出す処理も線形変換である。実際の層では、行列を掛けたあとに定数のベクトル(バイアス)を足すことが多い。厳密にはアフィン変換だが、慣習で「線形層」と呼ぶ。
- softmax(ソフトマックス)
数値の並びを、すべて 0 以上で合計がちょうど 1 になる「確率の並び」に変える関数。元の値が大きいものほど大きな確率になる。
各値 z に指数関数 e^z をかけ、その合計で割る。例:[2, 1, 0] は約 [0.67, 0.24, 0.09] になる。大きい値をより強調する性質があり、Attention の重みづけと、最後の確率の計算の両方で使われる。入力が有限の値なら出力はすべて正で、−∞ を入れた位置だけが 0 になる(Attention のマスクはこれを使う)。
- 損失(損失関数)
モデルの予測が正解からどれだけ外れているかを、1 つの数値にまとめたもの。小さいほど良い。学習は、この損失を小さくするようにパラメータを調整すること。損失を計算する式を損失関数という。
数値を当てる問題では平均二乗誤差、選択肢から選ぶ問題(LLM の次のトークン予測など)では交差エントロピーがよく使われる。
- 転置
行列の行と列を入れ替えること。A の転置を Aᵀ と書く。
「語彙数 × 次元数」の行列を転置すると「次元数 × 語彙数」になる。GPT-2 は、埋め込み行列の転置を使って、最後のベクトルを語彙数個のスコアに変換している。
- トークン ID
語彙の中の各トークンに振られた番号。LLM に実際に入力されるのは、この整数の並び。
番号の大小には意味がない(ID 1234 と 1235 が意味的に近いわけではない)。そのため、埋め込みでベクトルに変換してから計算に使う。
- 内積
2 つのベクトルの同じ位置の数値どうしを掛けて、全部足した値。それぞれの長さを変えずに比べれば、向きが揃っているほど大きく、逆向きなら負になる。ベクトルが長いほど、値の振れ幅も大きくなる。
例:[1, 2] と [3, 4] の内積は 1×3 + 2×4 = 11。ベクトルの長さで割って正規化したものがコサイン類似度になる。
- ニューラルネットワーク
数値を受け取り、掛け算・足し算と簡単な関数を何段も重ねて、別の数値を出す計算のしくみ。掛ける数(重み)を学習で調整して、目的の出力に近づける。
脳の神経細胞のつながりから名前が付いたが、中身は行列の掛け算と足し算の積み重ねである。扱えるのは数値だけなので、文章や画像は先に数値に直してから入力する。LLM も巨大なニューラルネットワークの一種。
- バイアス
ニューロンで、入力に重みを掛けて足したあとに、さらに足す定数。活性化関数がなければグラフを上下にずらし、ReLU などを通す場合は、折れ曲がる位置などを左右にずらす。学習で調整されるパラメータの 1 つ。
z = w x + b の b がバイアス。重み w だけだと、活性化関数に通す前の値 z は x = 0 のとき必ず 0 になるが、バイアスがあれば原点を通らない関係も表せる。「偏り」という意味の統計の用語とは別物。
- バイト
コンピュータがデータを扱う単位で、0〜255 の整数 1 つ分。文字は UTF-8 などの規則でバイトの並びに直して保存される。
UTF-8 では、英数字は 1 バイト、ひらがなや漢字の多くは 3 バイト、よく使う絵文字の多くは 4 バイトで表される(いくつかの文字を組み合わせた絵文字は、さらに長くなる)。バイトは 256 種類しかないので、バイトから始めればどんな文字でも必ず表せる。
- パラメータ
モデルが学習で調整する数値。埋め込み行列や、Attention・MLP の行列の中身がすべてパラメータ。「70B のモデル」は、パラメータが 700 億個あるという意味。
temperature のように、学習ではなく使う人が決める設定値は、区別して「ハイパーパラメータ」などと呼ぶ。
- 非線形
線形ではない関係。グラフにすると 1 本の直線(平面)にならない。たとえば ReLU(負なら 0、正ならそのまま)は、ReLU(1) + ReLU(-1) = 1 なのに ReLU(1 + (-1)) = 0 で、「足してから変換する」と「変換してから足す」の結果が食い違う。
線形とは、f(ax) = a f(x)(入力を a 倍すると出力も a 倍)と、f(x + y) = f(x) + f(y)(2 つの入力を足してから変換しても、別々に変換してから足しても同じ)の両方が成り立つこと。どちらかが崩れれば非線形。このサイトでは、バイアスを足した直線(w x + b。厳密にはアフィン)も「線形」の側として扱い、グラフが 1 本の直線(平面)にならないものを非線形と呼ぶ。線形変換だけを重ねても全体は 1 つの線形変換にまとまってしまう。間に非線形な関数を挟むことで、ニューラルネットワークは複雑な関係を表せるようになる。
- 微分(傾き)
ある量を少しだけ動かしたとき、別の量がどれだけ変わるかの割合。グラフで言えば、その点での接線の傾き。
例:y = x² の x = 3 での傾きは 6。x を 0.01 増やすと、y はおよそ 0.06 増える。パラメータが何個もあるときは、1 つずつの微分(偏微分)を並べたものを勾配と呼ぶ。∂損失/∂w は「w だけを少し動かしたときの、損失の変わる割合」という意味。
- 平均二乗誤差(MSE)
予測と正解の差を 2 乗して、全データで平均したもの。損失関数としてよく使われる。差を 2 乗するので、大きく外れたデータほど強く効く。
例:差が 1 と 3 の 2 件なら、(1² + 3²) ÷ 2 = 5。2 乗するのは、プラスとマイナスの外れが打ち消し合わないようにするためと、微分しやすいため。
- ベクトル
数値を決まった個数だけ並べたもの。たとえば [0.2, -1.3, 0.8] は 3 つの数値からなるベクトル。並んだ個数を次元数という。ベクトルの「長さ」は個数ではなく、矢印としての大きさ(例:[3, 4] の長さは 5)。
2 次元のベクトルは平面上の矢印、3 次元なら空間の矢印として図に描ける。長さは、各数値を 2 乗して足し、平方根をとったもの([3, 4] なら √(9 + 16) = 5)。LLM では数百〜数万次元のベクトルを使うので図には描けないが、「向き」や「近さ」という考え方はそのまま使える。
- LayerNorm(層正規化)
1 つのトークンのベクトルの数値を、平均が 0、分散(数値の散らばり具合)が 1 になるように揃え、学習した倍率を掛けて、学習したずれを足す処理。値が大きくなりすぎたり小さくなりすぎたりするのを防ぐ。
正規化はトークンごとに、そのベクトルの中の数値だけを使って行う(ほかのトークンとは混ぜない)。実際の計算では 0 で割らないように、分散にごく小さな定数を足してから平方根を取って割るので、揃えた直後の分散は厳密には 1 ではなく、ほぼ 1 になる。最近のモデルでは、平均を引かずに大きさだけを揃える RMSNorm という変種もよく使われる。
- ReLU(ランプ関数)
「入力が負なら 0、正ならそのまま」を返す活性化関数。グラフは 0 のところで折れ曲がった形になる。計算が簡単で、深層学習で広く使われる。
Rectified Linear Unit の略。ReLU(z) = max(0, z)。ReLU を挟んだニューロンを足し合わせると、折れ線のような形を自由に作れる。
- RoPE(回転位置埋め込み)
Attention でトークンどうしを比べるときに使うベクトルを、位置に応じた角度だけ回転させて、位置の情報を入れる方式。埋め込みには何も足さない。Rotary Position Embedding の略。
回転させるのは Attention の Query(q)と Key(k)。回転させた q と k の内積は、2 つのトークンの「位置の差」によって変わるので、相対的な位置関係を自然に扱える。Llama などの最近の LLM で広く使われている。
- ロジット(logits)
モデルが最後に出す、語彙のトークン 1 つ 1 つに対するスコア。大きいほど「次に来そう」という意味だが、まだ確率ではなく、負の値もとる。
logits は語彙サイズと同じ個数だけある(GPT-2 なら 50,257 個)。softmax にかけると、合計 1 の確率に変わる。

