AIのための確率・統計 — モデルの出力は確率である
分類モデルもLLMも、返しているのは答えではなく確率分布です。分布・期待値・条件付き確率・ベイズの定理を記号から説明し、山場として「最尤推定がなぜ損失関数になるのか」を導きます。交差エントロピーもMSEも、発明されたのではなく出てきたものです。
ゴール: この式を読めるようにする
学習の目的を書き下すとき、論文はほぼ必ずこの形を使います。
この式が言っているのは要するに、データを見せたとき、モデルが正解にどれだけ高い確率を割り当てられたか。その対数の平均に、マイナスを付けたものです。 はモデルのパラメータ、 は平均、 はデータの出どころ、 は「そこから取り出す」、 は「入力 を見たときモデルが に与える確率」、縦棒 が「〜という条件のもとで」です。
見慣れない記号が多いだけで、中身は難しくありません。そしてこの式が読めると、分類の損失も言語モデルの損失も、同じ1本の式の変形だと分かります。
モデルが返しているのは「答え」ではない
まずここを崩さないと先へ進めません。分類モデルは「猫」と答えているのではなく、全クラスに対する確率の一覧を返しています。猫0.82、犬0.15、その他0.03。表示のとき一番大きいものだけを見せているので、答えを1つ返しているように見えるだけです。
言語モデルも同じで、次の1トークンについて語彙全体(数万本)の確率の棒グラフを毎回作っています。この一覧を作る関数が softmax です。
はモデルが最後に出す生のスコア(ロジット。正の数とは限りません)、 は指数関数、分母は全項目ぶんの合計です。
この式が言っているのは要するに、大小関係を保ったまま、全部を正の数にして、合計が1になるように割り直すということ。確率を名乗るには「0以上」「合計1」の2条件が要るので、 で前者を、割り算で後者を満たしています。それ以上の思想はありません。
期待値: 「平均」の正式な書き方
は値が確率的に決まる量、 はその値が出る確率です。この式が言っているのは要するに、起こりやすさで重み付けした平均。1が90%、100が10%で出るなら、期待値は単純平均の50.5ではなく です。
論文で を見たら、「データ全体で平均を取れ」という指示だと読めば9割合っています。実装では全データを見るのは重いので、ミニバッチの平均で代用します。式(1)の もこれです。
条件付き確率: 言語モデルがやっているのはこれ
は「 が起きたという条件のもとで が起きる確率」です。傘の売上を単独で予測するのは難しくても、「雨が降っている」という条件が付けば話が変わる——条件付き確率は、この「情報が加わると見通しが変わる」を数式にしたものです。
言語モデルはこれを直列につないだだけの装置です。
(パイ)は「全部掛ける」、 は 番目のトークン、 は「それより前のトークン全部」です。
この式が言っているのは要するに、文章全体が生まれる確率は、1語ずつ「ここまでの文脈のもとで次にこれが来る確率」を掛け合わせたものだということ。モデルが計算しているのは右辺の各因子だけで、文章生成とはそれを順番に引いていく作業です。「次の単語を当てているだけ」という説明の正体がこれです。
コメント
コメントにはログインが必要です