このページの目次
エントロピーと情報の計測
エントロピーは「無秩序さ」といった不確かな概念ではなく、数えられるビット数である——不確かな事柄を明確にするために、平均して何個のYes/No質問が必要かを表す。自己情報量、エントロピー、結合エントロピー、条件エントロピー、相互情報量は、同じ言語体系における5つの用語であり、その後のすべての内容(圧縮、チャネル、損失関数)はこれらの量から派生して生まれる。
導入: 数字当てゲームで何回質問するか
まずはゲームをしてみましょう。直感を養ってから定義に進みます。
相手は 1 から 8 の間の整数を1つ思い浮かべています。あなたはYes/No形式の質問しかできません。例えば「4 より大きいですか?」など。当てられるようにするために、平均して最低何回質問すればよいでしょうか?
最適な戦略は、毎回残りの候補を半分に減らすことです。まず「4 より大きいですか?」と尋ねます。答えがどうであれ、候補は 8 個から 4 個に減ります。さらに半分に減らして 2 個、そして 1 個になります。3回の質問で、唯一の答えが特定できます。\log_2 8 = 3 となり、ちょうど3回です。
これは偶然ではありません。1つのYes/No質問の答えは、ちょうど1 bitの情報を運びます。そして「平均して最低何回質問すればよいか」という問いこそが、エントロピーが厳密に答えようとしている問題です。
ゲームを変えてみましょう。相手が 7 を選ぶ確率が 80\% だと仮定します(この数に「霊的な意味」があると感じるため)。この場合、依然として半分に減らす戦略は賢明ではありません。賢明な方法は、最初の質問で直接「7 ですか?」と尋ねることです。大多数の場合、1回で正解し、平均的な質問回数は 3 回を大幅に下回ります。
結論は非常に素朴です。分布が偏っており、構造を持っているほど、平均して必要な質問回数は少なくなります。この記事全体を通じて行おうとしているのは、この直感を数式に変換することです。情報量、エントロピー、後の章での圧縮技術の究極的な目的は、同じ問いに答えることです——不確かな事柄を明確にするために、平均して何 bit かかるのか。
自己情報量: 1つの事象がどれほど「意外」か
まず単一の事象を見てみましょう。自己情報量(self-information) は、数字当てゲームの直感を任意の確率に一般化したものです。事象 x が発生する確率が p(x) のとき、その自己情報量は以下のように定義されます:
I(x) = -\log_2 p(x)
単位は bit です。これは、「その事象が発生したことを確認することが、何個のYes/No質問に相当するか」を計測するものです。
ゲームに戻って確認しましょう。8 個の数が一様に分布している場合、各数の確率は 1/8 です。自己情報量は -\log_2(1/8) = 3\ \text{bit} となり、手作業で数えた3回の質問と完全に一致します。
いくつかの例で感覚を養いましょう:
- コインを投げて表が出る: p=0.5、自己情報量 -\log_2 0.5 = 1\ \text{bit}。
- サイコロを振って特定の目が出る: p=1/6、自己情報量 -\log_2(1/6) \approx 2.58\ \text{bit}。
- 「明日太陽が昇る」といった必然的な事象: p \approx 1、自己情報量 \approx 0\ \text{bit}。あなたはすでにそれを知っているので、それは情報を提供せず、質問する手間もかかりません。
なぜ対数を用いるのでしょうか? なぜなら、情報量は「加法的」であるべきだからです。2つの独立した事象が同時に発生する場合、総情報量はそれぞれの和であるべきです。独立事象の結合確率は積 p(x)p(y) となります。対数はまさに掛け算を足し算に変換します:
-\log(p(x)p(y)) = -\log p(x) - \log p(y)
この「加法性」は美的な好みではなく、エントロピー体系全体の基盤です。
エントロピー: 自己情報量の期待値
単一の事象が明確になったので、今度は確率変数全体を見ます。エントロピー(entropy) H(X) は、X のすべての取り得る値に対する自己情報量の期待値です——つまり、数字当てゲームにおける「平均して何回質問すればよいか」の厳密な数式です:
H(X) = -\sum_x p(x) \log_2 p(x)
これは同時に、別の問いへの答えでもあります:X を最適符号化するために、平均して何 bit 必要か。この2つの意味がなぜ同値であるかは、源符号化定理 によって保証されます。現時点では、エントロピーが大きいほど不確実性が高く、平均して必要な質問数(必要な bit 数)も多くなる、ということだけ覚えておけば十分です。
二元エントロピー関数
最も単純なケースは、2つの値しか取らず、その確率がそれぞれ p と 1-p である場合です:
H(p) = -p\log_2 p - (1-p)\log_2(1-p)
この曲線はエントロピーを理解するための最適な入り口です:
数字当てゲームの言葉でこの曲線を読み解きましょう:p=0.5 のときエントロピーは最大(1 bit)です。最も公平なコインは予測が最も難しく、どう質問しても平均して1回かかります。どちらかに偏るとエントロピーは低下し、p=0 または p=1 に至ると結果は確定しており、エントロピーは 0 になります——質問する必要はありません。
エントロピーの3つの性質
これらの性質は後で頻繁に登場しますが、すべて数字当てゲームの直感で検証できます:
- 非負性: H(X) \geq 0。0 \leq p(x) \leq 1 であるため、各項 -p\log p は非負です。等号が成り立つのは X が完全に確定している場合のみ(ある p(x)=1)です——確定した事象に不確実性はありません。
- 上限と最大エントロピー: H(X) \leq \log_2|X|。ここで |X| は取り得る値の個数です。等号が成り立つのは、X が一様分布している場合のみです。すべての値が等確率であるとき不確実性が最大となり、数字当てゲームでは「利用可能な偏向がなく、ただひたすら半分に減らすしかない」状態に対応します。これも、一様分布が「最も無知な」事前分布である理由を説明しています。追加の制約がない場合、それはエントロピーが最大となる分布です(最大エントロピー原理)。
- 連鎖則: H(X,Y) = H(X) + H(Y \mid X)。これは、「X と Y を同時に明確にするための総不確実性は、まず X を明確にした後、さらに『X が分かっている状態で Y に残る不確実性』を加えたもの」と読むことができます。これは複雑な結合分布を条件付き項に分解するための核心的な道具であり、まさにLLMの自己回帰的分解の形をしています:H(\text{トークン列}) = \sum_i H(\text{トークン}_i \mid \text{直前の文脈})。トークンを1つ生成するたびに、「次の位置に残る不確実性はどれくらいか」という問いを行っています。
直感: 構造がどのようにエントロピーを低下させる
ここで一般的な誤解を澄清する必要があります:エントロピーは値の個数を計測するものではなく、分布の形状を計測するものです。
値の個数は「最大で何回質問すればよいか」(上限)だけを決定します。実際に「平均して何回質問すればよいか」を決定するのは、分布の形状です——それは均一か? 値の間に依存関係はあるか? 次の3つの例で、この違いを明確にしましょう:
- 公平なコイン: 2つの値、一様分布、H = 1 bit。上限に達しており、近道はありません。
- 公平なサイコロ: 6つの値、一様分布、H = \log_2 6 \approx 2.58 bit。
- 自然言語の文字: 26文字の場合、一様分布であれば \log_2 26 \approx 4.7 bit/文字となるはずです。しかし、英語の文字分布は極めて偏っており(eが非常に頻繁、zが非常に稀)、文字間には強い依存関係があります(qの次はほぼ必ずu)。実測では、文字ごとのエントロピーは約 1.0–1.3 bit にとどまり、4.7を大幅に下回ります。
最後の例は少し深く考える価値があります。一様分布を仮定してランダムな英文字を当てようとすると、平均して約5回質問する必要があります。しかし、「母音ですか?」「直前の文字はqですか?」といった情報量の多い質問を先にすれば、大部分の位置ではほとんど質問せずに特定できます。この「構造によるエントロピーの低下」——4.7と1.2の間のギャップ——こそが、圧縮アルゴリズムと言語モデルが成り立つ基盤です。それらの本質的な役割は、これらの冗長性を搾り取ることです。
| 量 | 定義 | 直感 |
|---|---|---|
| H(X) | -\sum p\log p | X 自身の平均不確実性(平均して何回質問するか) |
| H(X,Y) | -\sum p(x,y)\log p(x,y) | X と Y を同時に明確にするために何回質問するか |
| H(Y \mid X) | -\sum p(x,y)\log p(y \mid x) | X が分かっている状態で、Y を明確にするためにさらに何回質問するか |
| I(X;Y) | H(Y)-H(Y \mid X) | X を知ることで、Y を明確にするために何回質問を減らせるか |
結合エントロピー、条件エントロピー、相互情報量: 2つの変数の間
前節までは1つの確率変数についてのみ話しました。2つの変数がある場合、「平均して何回質問するか」という言語体系は、自然と一連の概念へと発展します。3つのメンバーを1つずつ見ていきましょう:
- 結合エントロピー(joint entropy) H(X,Y) = -\sum p(x,y)\log_2 p(x,y): X と Y を同時に明確にするために、平均して何回質問するか。
- 条件エントロピー(conditional entropy) H(Y \mid X) = -\sum p(x,y)\log_2 p(y \mid x): X がすでに分かっている状態で、Y を明確にするために平均してさらに何回質問するか。2つの極端なケースは示唆に富んでいます——Y が X によって完全に決定される場合、H(Y \mid X)=0(追加の質問は不要);両者が独立である場合、H(Y \mid X)=H(Y)(X を知っても何も役立たず、質問を節約できません)。
- 相互情報量(mutual information) I(X;Y) = H(X) - H(X \mid Y) = H(Y) - H(Y \mid X): 1つの変数を知ることで、もう1つの変数について何回質問を減らせるか。
相互情報量にはいくつかの美しい性質があります。対称性(I(X;Y)=I(Y;X))、非負性、そして I(X;Y)=0 であるのは X と Y が独立である場合のみです。また、別の等価な表現——I(X;Y)=D_{KL}(p(x,y) \parallel p(x)p(y))、つまり、実際の結合分布と「両者が独立であるかのように仮定した」分布との間の KL発散——もあります。言い換えれば、相互情報量は「2つの変数が独立からどれほど乖離しているか」を計測するものです。
ベン図: 情報計測の集合関係
これら4つの量之间的关系は、2つの重なり合う円で正確に表現できます。これは情報論で最も古典的な図です:
すべての恒等式は図から直接読み取ることができます。和集合は H(X,Y)、左の円は H(X)、重なり部分は I(X;Y)、左の三日月は H(X \mid Y) です。したがって H(X) = H(X \mid Y) + I(X;Y)、H(X,Y) = H(X) + H(Y \mid X) といった式は一目で理解できます。
注意点として:このアナロジーは2つの変数の場合にのみ厳密に成り立ちます。3つ以上の変数がある場合、「相互作用情報量」は負の値を取り得るため、ベン図は機能しなくなります。しかし、2つの円の図は直感を養うには十分です。
この計測体系は、その後のすべての内容の基盤です:圧縮は符号長を H(X) に近づけます(源符号化)、チャネル容量は \max I(X;Y) です(チャネル容量)、そして深層学習の損失関数は交差エントロピーとKL発散の直接的な応用です。
参考文献
- 教科書: "Elements of Information Theory" (Cover & Thomas — 情報論の標準教科書、第2章 エントロピー、相対エントロピー、相互情報量)
- 論文: "A Mathematical Theory of Communication" (Shannon, 1948 — エントロピーと情報論の基礎を築いた作品、すべてはここから始まる)
- 教科書: "Information Theory, Inference, and Learning Algorithms" (MacKay — 無料オンライン、第2章、第4章は直感的で非常に良い)
キーワード: 自己情報量 self-information, エントロピー entropy, 結合エントロピー joint entropy, 条件エントロピー conditional entropy, 相互情報量 mutual information, 連鎖則 chain rule, 最大エントロピー maximum entropy, 二元エントロピー関数 binary entropy, bit