情報理論とAI — 交差エントロピー損失はどこから来たのか
情報量は驚きの大きさ、エントロピーは平均の驚き、KL情報量は2つの分布のズレ。この3つを積み上げると、分類でいつも使っているあの損失関数が必然として出てきます。なぜ対数なのか、なぜあの形なのか、そしてperplexityが何を数えているのかまで。
ゴール: この式を読めるようにする
分類モデルを学習させるとき、実際に最小化しているのはこれです。
この式が言っているのは要するに、本当の分布 のもとで、モデルの分布 が各出来事に与えた確率の対数を、平均してマイナスを付けたものです。 は正解側の確率分布、 はモデルが出した確率分布、 は起こりうる出来事すべてについて足す、という意味。これが交差エントロピーです。
記号を全部外して言い直すと、モデルは「実際に起きたほうに、どれだけ確率を置いていたか」だけで採点されているということです。式のどこにも「正解を当てろ」とは書いていません。書いてあるのは「起きたことを、あらかじめ見込んでいたか」だけです。
問いは1つ。なぜこの形なのか。 前記事のAIのための確率・統計では、最尤推定という入口から同じ式にたどり着きました。この記事はまったく別の入口——「情報とは何か」——から歩き、同じ場所に着きます。2本の道が交わることが、この損失関数が恣意的でないことの証明になります。
情報量: 驚きの大きさ
情報を測るとはどういうことか。1948年のシャノンの答えは徹底して実用的でした。情報の量とは、それを聞いたときの驚きの大きさである。
「明日、東の空から日が昇ります」——情報量ゼロ。「明日、東京に雪が降ります」——8月なら情報量は跳ね上がります。起こりにくいことほど、起きたときに運ぶ情報は大きい。
式にするには、3条件を満たす関数が要ります。確率1の出来事では0になること。確率が下がるほど大きくなること。そして独立な2つの出来事をまとめて聞いたときは、それぞれの情報量の足し算になること。3つ目が決定的です。確率は掛け算で合成されるのに、情報は足し算であってほしい。掛け算を足し算に変える関数は1つしかありません。
この式が言っているのは要するに、確率の対数を取って符号を反転しただけ。確率1なら で驚きなし、確率0.5なら約0.69、確率0.01なら約4.6、0に近づけば無限大へ。対数が使われるのは慣習でも趣味でもなく、「確率は掛け算・情報は足し算」という要請から一意に決まるからです。
日常語に置き換えると、「まさか」と思って切り捨てていたことほど、起きたときに受け取るものが大きいという定義です。コインが表だったと聞いても心は動きませんが、特定の宝くじが当たったと聞けば話は別——あの感覚の差を、そのまま数にしています。
単位は対数の底で決まります。底2ならビット、自然対数ならナット。フレームワークが出す損失の値は、ほぼ例外なくナットです。
エントロピー: 平均の驚き
出来事1つの驚きが決まったので、次は分布全体としてどれくらい予測しにくいかを測ります。個々の情報量を、起こりやすさで重み付けして平均するだけです。
この式が言っているのは要するに、その分布から1回引いたとき、平均してどれくらい驚くか。言い換えれば、その分布がどれだけ予測しにくいかの数値です。
普段の言葉にすると、エントロピーとは「1回覗いたら、どれくらい新しく知れる見込みがあるか」であり、それは「事前にどれだけ言い当てられないか」と同じことです。答えが分かっている分布は覗いても何も増えず、当てられない分布ほど覗く価値がある——その「覗く価値」の大きさだと思ってください。
極端な場合で確かめます。表が必ず出るコインなら驚きは常に0でエントロピーも0。公平なコインなら1ビット。6面ダイスなら約2.58ビット。選択肢が多く、確率が均等に散らばっているほど大きく、1点に集中しているほど小さくなります。
コメント
コメントにはログインが必要です