H(X)=-\sum_x p(x)\log p(x)
小さな謎
僕の目の前に、二つの箱がある。
どちらにも赤と青のボールが入っている。
一つ目の箱には、赤が9個、青が1個。
二つ目の箱には、赤が5個、青が5個。
先輩が言った。
「目を閉じて、一つ取り出してみろ。どちらの箱が、次に出る色を当てにくいと思う?」
僕は少し考えた。
「二つ目ですね。赤も青も半分ずつだから」
「そうだな。じゃあ、その『当てにくさ』はどれくらい違う?」
僕は答えられなかった。
どちらも、次に何が出るかはわからない。
でも、確かに、わからなさには違いがある。
その違いを、数字にすることはできるのだろうか。
数式で謎解き
先輩が教えてくれたのは、「エントロピー」という数式だった。
今回は情報理論でよく使われる、底が2の対数を使って計算してみよう。
H(X)=-\sum_x p(x)\log_2 p(x)
エントロピーは、起こりうる結果がどれくらい予測しにくいかを表す数字だという。
$X$ は取り出したボールの色、$x$ は「赤」や「青」という結果、$p(x)$ はその結果が出る確率。そして $\sum_x$ は、起こりうるすべての結果について足し合わせることを意味する。
対数の底を2とした場合、エントロピー $H(X)$ の単位はビットになる。
この式を使って、二つの箱を比べてみよう。
一つ目の箱には、赤いボールが9個、青いボールが1個。
赤が出る確率は0.9、青が出る確率は0.1だ。
\begin{aligned}
H(X)
&=-(0.9\log_2 0.9+0.1\log_2 0.1)\\
&\approx 0.469
\end{aligned}
二つ目の箱には、赤いボールが5個、青いボールが5個。
どちらが出る確率も0.5だ。
\begin{aligned}
H(X)
&=-(0.5\log_2 0.5+0.5\log_2 0.5)\\
&=1
\end{aligned}
一つ目の箱は約0.469ビット、二つ目の箱は1ビット。
二つ目の箱のほうが、エントロピーが大きい。
つまり、次に出る色を予測しにくいということだ。
「じゃあ、赤が10個、青が0個なら?」
先輩がそう尋ねた。
「必ず赤が出るから、予測は外れません」
「そのとおり。エントロピーは0になるんだ」
※確率が0の場合、$p(x)\log_2 p(x)$ の項は、極限を考えて0として扱う。
なるほど。
赤が9個なら、たいてい赤が出る。でも青が出る可能性もある。
赤と青が5個ずつなら、どちらが出るかはまったく五分五分だ。
そして赤が10個なら、何が出るか最初からわかっている。
エントロピーが大きいほど予測しにくく、小さいほど予測しやすい。
僕がなんとなく感じていた「わからなさ」の違いが、数字になった。
数式解説
もう一度、エントロピーの式を見てみよう。
H(X)=-\sum_x p(x)\log_2 p(x)
一見複雑だけれど、この式は二つの考え方を組み合わせている。
① 珍しい出来事ほど驚きが大きい
例えば、一つ目の箱から赤いボールが出ても、あまり驚かない。
でも、青いボールが出たら少し驚くだろう。
この「驚き」を情報量として表したものが、次の式だ。
I(x)=-\log_2 p(x)
ここで、$p(x)$ は出来事 $x$ が起こる確率。
確率が小さいほど、情報量は大きくなる。
例えば、
- 確率が1なら、情報量は0ビット。
- 確率が1/2なら、情報量は1ビット。
- 確率が1/4なら、情報量は2ビット。
- 確率が1/8なら、情報量は3ビット。
起こりにくい出来事ほど、それが実際に起きたときに得られる情報は大きい。
ここで対数が登場するのは、独立した出来事が同時に起きる確率は掛け算になる一方、その情報量は足し算になるようにするためだ。
底を2にしたとき、情報量の単位はビットになる。
② 起こる前の「平均的な驚き」を求める
でも、一つの出来事がどれほど驚きかを測るだけでは、箱そのものの予測しにくさはわからない。
赤が出たときの驚きと、青が出たときの驚き。
それぞれが起こる確率も考えて、平均を求めればよい。
H(X)=\sum_x p(x)I(x)
ここに情報量の式を代入すると、
H(X)=-\sum_x p(x)\log_2 p(x)
最初のエントロピーの式になった。
つまり、エントロピーとは、結果を見る前に予想される情報量の平均なのだ。
赤が9個、青が1個の箱では、めったに出ない青の情報量は大きい。でも、その青が出る確率は低い。
赤と青が5個ずつの箱では、どちらが出ても1ビットの情報量がある。
だから、後者のほうが平均的な情報量、つまりエントロピーが大きくなる。
ここで大切なのは、エントロピーは、確率を知らないことを表しているわけではないということだ。
僕たちは、二つの箱に入っている赤と青の割合を正確に知っている。
それでも、次にどちらの色が出るかはわからない。
エントロピーが測っているのは、確率がわかったうえで、それでも残る予測の不確かさなのだ。
触れるデモ
赤と青の割合を変えると、「次に出る色の予測しにくさ」はどう変わるだろうか。
スライダーで箱の中身を変えながら、エントロピーの変化を確かめてみよう。
「1個取り出す」ボタンを押すと、実際に出た色の情報量も確認できる。
エントロピーは結果を見る前の平均的な情報量。一方、実際の情報量は、取り出した色によって変わる。
赤と青が半分ずつのとき、エントロピーは最大の1ビットになる。そして、どちらか一方しか入っていなければ0ビットになる。
See the Pen 05 by aokikenichi (@aokikenichi) on CodePen.
別分野への接続
エントロピーは情報理論から生まれた数式だが、今ではAIや脳科学など、さまざまな分野で使われている。情報理論では底2の対数を使うことが多い一方、機械学習では自然対数を使うことが多い。対数の底によって数値や単位は変わるが、不確かさを測るという考え方は同じだ。
情報理論:情報をどこまで圧縮できるか
1948年、クロード・シャノンは情報理論の中でエントロピーを導入した。
赤が90%、青が10%の箱から取り出した色を何度も記録する場合、結果の並びをまとめて符号化することで、効率よく圧縮できる。
エントロピーは、こうした情報を平均してどこまで圧縮できるか、その理論的な限界を示している。
不確かさが小さいほど、平均的には少ない情報量で表現できるのだ。
機械学習:予測の間違いを測る
画像を見たAIが「猫90%、犬10%」と予測したとしよう。
正解が猫ならよい予測だが、犬だったら大きな間違いになる。
機械学習では、エントロピーと関係する「クロスエントロピー」を使い、予測と正解の食い違いを評価する。
ただし、エントロピーが小さいことと、予測が正しいことは違う。間違った答えに100%の自信を持つAIもいるからだ。
生成AI:次の言葉をどこまで予測できるか
ChatGPTのような言語モデルは、次のトークンの確率分布を計算している。
「昔々、あるところに」の後には多様な言葉が続くが、「日本の首都は」の後には「東京」が続く確率が高いだろう。
候補が分散していればエントロピーは大きく、特定の候補に集中していれば小さい。
エントロピーは、AIが次の言葉をどれくらい絞り込めているかを表す。
脳科学:予測と驚き
脳科学の「予測符号化(Predictive Coding)」では、脳は外界を予測し、現実との違いを使って予測を更新すると考える。
毎朝同じ時間に電車が来ると予測していて、突然来なかったら驚くだろう。
ここで、エントロピーは出来事が起きる前の予測全体の不確かさ、予測誤差は予測と現実の食い違いを表す。
両者は異なる概念だが、脳が予測を更新する仕組みを理解するうえで、どちらも重要になる。
世界モデル:未知の世界を探索する
ロボットが、通り慣れた道と未知の道の前に立っているとしよう。
未知の道は予測が難しいが、進んでみれば新しいことを学べるかもしれない。
世界モデルを使った探索では、将来の予測の不確かさを評価できる。
さらに、単に不確かさが大きい場所ではなく、探索によってどれくらい不確かさを減らせるか(情報利得) を考える方法もある。
情報の圧縮、AIの学習、言葉の予測、脳の働き、未知の世界の探索。
異なる分野をつないでいるのは、「不確かさをどう扱うか」という共通の問いだ。
わからないことを測れるようになると、わからないことに対して何ができるかも考えられるようになる。
この数式が提示する「世界観」
僕はずっと、世界には「わかること」と「わからないこと」があるのだと思っていた。
でも、そうではなかった。
わからないことにも、程度がある。そして、その程度を数字で表せる。
世界を完全に予測できなくても、どれくらい予測できないかは知ることができる。
それは、世界を知るための、もう一つの方法なのかもしれない。
構成案、文案、デモ生成、内容チェックなどにChatGPT 6.0 Solを用いております
ただ文章自体は本記事著者、青木が手直ししております

