変調・符号化#19

情報理論の基礎 — エントロピーと相互情報量で「情報」を測る

『情報の量』を数式でどう定義するのか。自己情報量からエントロピー、条件付きエントロピー、相互情報量までを一気通貫で導出し、符号化理論と通信路容量の議論に使う共通言語を整備する。

情報理論エントロピー相互情報量符号化理論シャノン

この回で学ぶこと

これまでの回では、探査機がビット列を電波の位相に変える方法(PCM/PSK/PM)、その位相を地上局が雑音の中から追い続ける方法(PLL)、そして測距やレンジングでビットの誤りをどう扱うかを見てきました。これらはすべて「情報をどう物理的な信号に乗せ、どう取り出すか」という工学の話でした。

しかしここで一歩立ち止まって、もっと根本的な問いを考えてみましょう。そもそも「情報の量」とは何なのか、どうやって数値化すればいいのか。 「探査機から1ビット届いた」と「探査機から1万ビット届いた」では明らかに後者のほうが情報量が多そうですが、では「めったに起きない珍しいテレメトリの値が1つ届いた」と「いつもと同じ、ありふれた値が1つ届いた」では、どちらのほうが情報量が多いと言えるでしょうか。直感的には、意外なことほど、聞いた時の情報の価値は大きいはずです。この直感を数式に落とし込んだのが、クロード・シャノンが1948年の論文 A Mathematical Theory of Communication で確立した情報理論です。

この回では、今後のレッスン(検出理論、そして符号化理論の各論)で繰り返し使うことになる情報理論の基本的な道具立て——自己情報量、エントロピー、結合エントロピー、条件付きエントロピー、相互情報量、そして通信路容量の定義——を、数式を追いながら整備します。この回自体は特定の変調方式や符号化方式を扱いませんが、「なぜLDPC符号のような高性能な誤り訂正符号が有効なのか」「なぜ探査機は科学データを送信前に圧縮するのか」といった、今後何度も出てくる問いに答えるための共通言語になります。

直感的な導入: 「情報」をどう測るか

まず、情報量を測る関数 I()I(\cdot) に、直感的に成り立ってほしい性質を3つ挙げてみましょう。確率 P(x)P(x) で起きる事象 xx の情報量を I(x)I(x) とします。

  1. 意外性が大きいほど情報量が大きい。 ほぼ確実に起きること(P(x)1P(x) \approx 1)が起きても「そうだろうね」としか思いませんが、めったに起きないこと(P(x)0P(x) \approx 0)が起きたと知らされれば驚きは大きく、伝える価値のある情報だと感じます。つまり I(x)I(x)P(x)P(x)単調減少関数であってほしい。
  2. 必ず起きることの情報量はゼロ。 P(x)=1P(x) = 1 のとき、それが起きたと知らされても何も新しい情報は得られないので I(x)=0I(x) = 0 であってほしい。
  3. 独立な事象の情報量は加算できる。 2つの独立な事象 x,yx, y(たとえば2回連続のコイン投げの結果)が両方とも起きたと知らされたときの情報量は、それぞれの情報量の和になってほしい。すなわち P(x,y)=P(x)P(y)P(x,y) = P(x)P(y) のとき I(x,y)=I(x)+I(y)I(x,y) = I(x) + I(y) であってほしい。

この3条件を同時に満たす関数は、対数関数を使った

I(x)=logbP(x)=logb1P(x)I(x) = -\log_b P(x) = \log_b \frac{1}{P(x)}

の形しかないことが知られています(底 bb はスケールの自由度)。実際、対数の性質 log(ab)=loga+logb\log(ab) = \log a + \log b が条件3の加法性をそのまま与え、P(x)P(x) が小さいほど 1/P(x)1/P(x) が大きくなり log\log は単調増加なので条件1が満たされ、P(x)=1P(x)=1 のとき log1=0\log 1 = 0 なので条件2も満たされます。情報理論では慣習的に底を2に取り、

I(x)=log2P(x)I(x) = -\log_2 P(x)

を**自己情報量(self-information)と呼びます。単位はビット(bit)**です。たとえば公正なコイン投げ(P()=1/2P(\text{表}) = 1/2)で表が出たときの自己情報量は I=log2(1/2)=1I = -\log_2(1/2) = 1 ビットちょうどです。一方、P(x)=1/1024P(x) = 1/1024 のような珍しい事象が起きたと知らされれば I=log2(1/1024)=10I = -\log_2(1/1024) = 10 ビットとなり、公正なコイン10回分に相当する「驚き」を持つことになります。

エントロピー: 平均的な不確実性

自己情報量 I(x)I(x) は、ある1つの結果 xx が実際に起きたときの情報量でした。では、まだ結果が分かっていない確率変数 XX そのものが「平均してどれくらいの情報量を持っているか」を知りたいとします。これは自己情報量の期待値として定義され、**エントロピー(entropy)**と呼ばれます。

H(X)=E[I(X)]=xXP(x)log2P(x)H(X) = \mathbb{E}[I(X)] = -\sum_{x \in \mathcal{X}} P(x) \log_2 P(x)

(慣習として P(x)=0P(x) = 0 の項は 0log20=00 \log_2 0 = 0 と定義します。極限 limp0plog2p=0\lim_{p\to 0} p\log_2 p = 0 から自然に正当化されます。)

エントロピーにはいくつかの基本的な性質があります。

  • 非負性: H(X)0H(X) \ge 0。確率変数の取りうる値の数が有限個(サイズ X|\mathcal{X}|)であれば、0H(X)log2X0 \le H(X) \le \log_2 |\mathcal{X}| という範囲に収まります。
  • 下限: H(X)=0H(X) = 0 となるのは、XX が確率1である値を取ることが分かりきっている(不確実性がゼロ)場合に限られます。
  • 上限: H(X)H(X) が最大値 log2X\log_2 |\mathcal{X}| を取るのは、すべての値が一様分布である場合です。これは「一様分布がもっとも予測しにくい(=不確実性が最大)」という直感と一致します。

2値の確率変数(たとえばビット、P(1)=pP(1) = pP(0)=1pP(0) = 1-p)についてのエントロピーは特に頻出するので、2値エントロピー関数として

Hb(p)=plog2p(1p)log2(1p)H_b(p) = -p\log_2 p - (1-p)\log_2(1-p)

と書きます。p=1/2p=1/2(公正なビット)のとき Hb(1/2)=1H_b(1/2) = 1 ビットで最大となり、p0p \to 0 または p1p \to 1(ほぼ確実に0か1のどちらかに偏っている)に近づくにつれ Hb(p)0H_b(p) \to 0 に落ちていきます。

エントロピーと平均符号長: なぜ「不確実性の尺度」が符号化と結びつくのか

エントロピーが単なる抽象的な量ではなく工学的に重要である理由の1つが、平均符号長の理論的な下限を与えることです。ある情報源 XX の各シンボルを、0/1の可変長の一意復号可能な符号(プレフィックス符号)で表すことを考えます。符号長 1,2,\ell_1, \ell_2, \dots を持つプレフィックス符号が存在するための必要十分条件は、クラフトの不等式(Kraft inequality)

i2i1\sum_{i} 2^{-\ell_i} \le 1

です。この制約のもとで平均符号長 E[]=iP(xi)i\mathbb{E}[\ell] = \sum_i P(x_i)\, \ell_i を最小化する変分問題を解くと(ラグランジュ未定乗数法)、最適な符号長は

i=log2P(xi)=I(xi)\ell_i^{*} = -\log_2 P(x_i) = I(x_i)

のとき最小になることが分かります。つまり確率の低いシンボルには長い符号語を、確率の高いシンボルには短い符号語を割り当てるのが最適であり、その理想的な平均符号長はちょうどエントロピー H(X)H(X) に一致します。これが**情報源符号化定理(source coding theorem)**の核心で、「どんなに工夫しても、一意復号可能な符号の平均符号長はエントロピーより短くできない」という下限を与えます。

E[]H(X)\mathbb{E}[\ell] \ge H(X)

現実には i=log2P(xi)\ell_i^* = -\log_2 P(x_i) が整数になるとは限らないため(たとえば P(xi)=1/3P(x_i)=1/3 なら i1.58\ell_i^* \approx 1.58)、実際の符号は端数を切り上げる必要がありますが、**ハフマン符号(Huffman coding)**はこの制約下で最適な(平均符号長最小の)プレフィックス符号を構成的に与えるアルゴリズムとして知られ、その平均符号長はエントロピーから高々1ビット以内に収まることが保証されます。複数シンボルをまとめてブロック符号化すれば、この差は漸近的にゼロに近づけることもできます。この「エントロピーに近づく」という発想は、後で見るように送信データの圧縮(情報源符号化)だけでなく、誤り訂正符号(通信路符号化)の設計思想にもそのまま通じていきます。

結合エントロピーと条件付きエントロピー

ここまでは1つの確率変数 XX を扱ってきましたが、通信の文脈では「送信されたシンボル XX」と「受信されたシンボル YY」のように、2つの確率変数の関係を扱う必要があります。2つの確率変数 X,YX, Y が同時分布 P(x,y)P(x,y) に従うとき、**結合エントロピー(joint entropy)**は

H(X,Y)=xXyYP(x,y)log2P(x,y)H(X,Y) = -\sum_{x \in \mathcal{X}} \sum_{y \in \mathcal{Y}} P(x,y) \log_2 P(x,y)

と定義されます。これは (X,Y)(X,Y) のペアを1つの確率変数とみなしたときの、通常のエントロピーそのものです。

次に、「YY の値がすでに分かっているとき、残っている XX の不確実性はどれだけか」を表す**条件付きエントロピー(conditional entropy)**を定義します。

H(XY)=yYP(y)H(XY=y)=x,yP(x,y)log2P(xy)H(X \mid Y) = \sum_{y \in \mathcal{Y}} P(y) \, H(X \mid Y=y) = -\sum_{x,y} P(x,y) \log_2 P(x \mid y)

ここで H(XY=y)=xP(xy)log2P(xy)H(X\mid Y=y) = -\sum_x P(x\mid y)\log_2 P(x\mid y) は、Y=yY=y という条件のもとでの XX の(通常の)エントロピーです。H(XY)H(X\mid Y) はそれを YY の分布で平均したものになります。

結合エントロピーと条件付きエントロピーの間には、次の**連鎖律(chain rule)**が成り立ちます。

H(X,Y)=H(X)+H(YX)=H(Y)+H(XY)H(X,Y) = H(X) + H(Y\mid X) = H(Y) + H(X \mid Y)

直感的には「(X,Y)(X,Y) を知るための不確実性の総量は、まず XX を知るための不確実性 H(X)H(X) を解消し、次に XX が分かった状態で残っている YY の不確実性 H(YX)H(Y\mid X) を解消することで得られる」ということです。この連鎖律は、以下の相互情報量の導出における出発点になります。

条件付きエントロピーについて重要な性質は

0H(XY)H(X)0 \le H(X\mid Y) \le H(X)

です。右側の不等式は「条件付けは(平均的には)不確実性を増やさない」ことを意味します。YY について何か情報を得ることで、XX に関する不確実性は減るか、せいぜい変わらない(等号が成り立つのは XXYY が独立なとき)ということです。この「YY を知ることで XX の不確実性がどれだけ減るか」を定量化したものこそ、次に導入する相互情報量です。

相互情報量: 通信路を通してどれだけ情報が伝わるか

相互情報量(mutual information) I(X;Y)I(X;Y) は、YY を観測することによって XX についての不確実性がどれだけ減るかを表す量として、次のように定義されます。

I(X;Y)=H(X)H(XY)I(X;Y) = H(X) - H(X\mid Y)

先ほどの連鎖律 H(X,Y)=H(X)+H(YX)=H(Y)+H(XY)H(X,Y) = H(X) + H(Y\mid X) = H(Y) + H(X\mid Y) を使うと、この式は対称な形にも書き換えられることが分かります。

I(X;Y)=H(X)H(XY)=H(Y)H(YX)=H(X)+H(Y)H(X,Y)I(X;Y) = H(X) - H(X\mid Y) = H(Y) - H(Y\mid X) = H(X) + H(Y) - H(X,Y)

つまり I(X;Y)=I(Y;X)I(X;Y) = I(Y;X) であり、相互情報量は XXYY について対称です。「YY を観測して XX の不確実性がどれだけ減るか」と「XX を観測して YY の不確実性がどれだけ減るか」は、量として等しくなります。

通信路の文脈でこれを解釈すると、XX を送信されたシンボル、YY を(雑音の乗った通信路を通った後の)受信されたシンボルと考えれば、I(X;Y)I(X;Y) は「この通信路を1回使うことで、送信側から受信側にどれだけの情報(ビット数)が実際に伝わったか」を表す量になります。この解釈から、相互情報量が満たすべき性質もすんなり理解できます。

  • 非負性: I(X;Y)0I(X;Y) \ge 0、等号成立は XXYY が独立のとき。通信路を通しても情報が負に減ることはなく、雑音がひどくて XXYY が無関係になってしまえば I(X;Y)=0I(X;Y)=0(何も伝わらない)まで落ちます。
  • 上限: I(X;Y)min(H(X),H(Y))I(X;Y) \le \min(H(X), H(Y))。当然ながら、伝わる情報量は送信側が持っている不確実性 H(X)H(X) を超えることはできません。
  • 雑音のない通信路の極限: 通信路が理想的で YY から XX が一意に決まる(誤りが一切ない)場合、H(XY)=0H(X\mid Y) = 0 となり I(X;Y)=H(X)I(X;Y) = H(X)、つまり送信された情報がそのまま丸ごと伝わります。逆に通信路が完全にランダムで YYXX について何も教えてくれない場合、H(XY)=H(X)H(X\mid Y) = H(X) となり I(X;Y)=0I(X;Y) = 0 です。

現実の(雑音のある)通信路はこの2つの極端の中間にあり、I(X;Y)I(X;Y) の値がまさに「その通信路が実際にどれだけ情報を運べるか」を定量的に表す指標になります。

通信路容量: 入力分布を最適化する

相互情報量 I(X;Y)I(X;Y) は、送信シンボルの確率分布 P(x)P(x) をどう選ぶか(たとえばビット0と1をどんな比率で送るか、あるいは変調シンボルをどう選ぶか)によっても値が変わります。そこで、与えられた通信路(条件付き分布 P(yx)P(y\mid x) で特徴づけられる)に対して、入力分布 P(x)P(x) を最適に選んだときに実現できる相互情報量の最大値を、**通信路容量(channel capacity)**と呼びます。

C=maxP(x)I(X;Y)C = \max_{P(x)} I(X;Y)

この最大化は入力分布 P(x)P(x) についてのものであり、通信路そのものの特性 P(yx)P(y\mid x)(たとえばビット反転確率や加法性雑音の分散)は固定されている点に注意してください。CC の単位は「通信路を1回使うごとに運べる最大の情報量」で、ビット/シンボル(あるいは通信路がある時間軸上で繰り返し使われるなら、ビット/秒)として表されます。

この回では CC の具体的な計算(たとえば2値対称通信路やAWGN通信路でこの最大化を実際に解くとどうなるか)には立ち入りません。ここで重要なのは、「通信路容量とは何を最大化した量なのか」という定義そのものを、これまで積み上げてきたエントロピー・条件付きエントロピー・相互情報量の言葉で正確に理解しておくことです。「通信路にどれだけ雑音があっても、レートが CC 以下であれば誤り確率をいくらでも小さくできる送信方式が存在する」というシャノンの**通信路符号化定理(noisy-channel coding theorem)**の驚くべき主張、およびその具体的な数値(AWGN通信路におけるCCの閉じた式など)は、今後のレッスンであらためて掘り下げます。

実務での使われ方

情報理論の道具立ては、抽象的な定義に見えて、実際の深宇宙通信システムの設計思想の根底に直接効いています。

  • 情報源符号化(データ圧縮): 探査機に搭載される観測データ(画像・スペクトルなど)は、しばしば冗長性(隣接ピクセルの相関など)を持ち、そのエントロピーはビット数そのものより小さいことが普通です。CCSDSの CCSDS 121.0-B (Lossless Data Compression) はライス符号(Rice coding、ハフマン符号の考え方を一般化した適応型の可変長符号)を規定しており、テレメトリデータを実際のエントロピーに近いビット数まで圧縮してから送信することで、限られた通信路容量を有効に使います。また、探査機画像データに対しては CCSDS 122.0-B (Image Data Compression) がウェーブレット変換ベースの圧縮を規定し、火星探査ローバーや小惑星探査機の画像データ伝送で実際に使われています。これらはすべて「情報源のエントロピーに符号の平均長を近づける」という、この回で見た情報源符号化定理そのものの応用です。
  • 通信路符号化(誤り訂正符号): 今後扱う畳み込み符号・Reed-Solomon符号・Turbo符号・LDPC符号といった誤り訂正符号は、いずれも「与えられた通信路容量 CC にできるだけ近いレートで、誤り確率を実用上ゼロに近づける」ことを目標に設計されています。現代のCCSDS標準である CCSDS 131.0-B (TM Synchronization and Channel Coding) に規定されるLDPC符号は、典型的なAWGN通信路においてシャノン限界(通信路容量の理論値)から1 dB未満まで迫る性能を達成しており、これは実務上「エントロピー・相互情報量という抽象的な量が、リンク設計における送信電力(≒ミッションコスト)に直結する」ことを意味します。1970年代のボイジャー計画で使われていた符号(畳み込み符号+Reed-Solomon連接符号)と比べると、現代のLDPC/Turbo符号はシャノン限界により何dBも近づいており、同じ送信電力でより高いデータレートを実現できるようになっています。
  • リンク予算設計との接続: DSN(Deep Space Network)のリンク設計では、受信 Eb/N0E_b/N_0(1ビットあたりのエネルギー対雑音密度比)から通信路容量 CC を見積もり、それに対して実際に使う符号化方式がどれだけ近いレートで運用できているかを評価します。この「符号化利得(coding gain)」の議論の理論的な天井を与えているのが、まさにこの回で定義した通信路容量 C=maxP(x)I(X;Y)C = \max_{P(x)} I(X;Y) です。

演習問題

  1. ある探査機のテレメトリチャンネルで、正常値が送られる確率が P(正常)=0.98P(\text{正常}) = 0.98、異常値が送られる確率が P(異常)=0.02P(\text{異常}) = 0.02 だとします。それぞれの自己情報量 I(正常)I(\text{正常})I(異常)I(\text{異常}) をビット単位で計算し、「異常値のほうが情報量が大きい」という結果が実務的にどう解釈できるか説明してください。
  2. 上記のテレメトリチャンネルを2値の確率変数 X{正常,異常}X \in \{\text{正常}, \text{異常}\} とみなし、2値エントロピー関数 Hb(p)=plog2p(1p)log2(1p)H_b(p) = -p\log_2 p - (1-p)\log_2(1-p) を使って H(X)H(X) を計算してください。また、この値が p=0.5p=0.5 のときの最大値 11 ビットと比べてどれだけ小さいか、その意味を説明してください。
  3. 送信ビット X{0,1}X \in \{0,1\}(等確率)が、反転確率 p=0.1p=0.1 の2値対称通信路(Binary Symmetric Channel)を通って受信ビット YY になるとします。同時分布表 P(x,y)P(x,y) を書き下し(4通りの組み合わせについて P(X=0,Y=0)=0.45P(X{=}0,Y{=}0)=0.45 のように計算)、結合エントロピー H(X,Y)H(X,Y) と条件付きエントロピー H(YX)H(Y\mid X) を計算してください。ヒント: H(YX)=Hb(p)H(Y\mid X) = H_b(p) になることを確認してください。
  4. 問3の設定において、相互情報量 I(X;Y)=H(Y)H(YX)I(X;Y) = H(Y) - H(Y\mid X) を計算してください(H(Y)H(Y)YY の周辺分布から求まります)。この I(X;Y)I(X;Y) の値は、通信路容量 C=maxP(x)I(X;Y)C = \max_{P(x)} I(X;Y) の上限になっているでしょうか、それとも一致しているでしょうか。XX が等確率(一様分布)であることが、この2値対称通信路にとって最適な入力分布かどうかを考察してください。

まとめと次回予告

自己情報量 I(x)=log2P(x)I(x) = -\log_2 P(x) という「意外性の対数」から出発し、その期待値としてのエントロピー H(X)H(X)、2変数への拡張としての結合エントロピー H(X,Y)H(X,Y) と条件付きエントロピー H(XY)H(X\mid Y)、そして「通信路を通すことでどれだけ不確実性が減るか」を測る相互情報量 I(X;Y)=H(X)H(XY)I(X;Y) = H(X) - H(X\mid Y) を導入しました。エントロピーが平均符号長の理論的下限を与えるという情報源符号化定理、そして相互情報量を入力分布について最大化した通信路容量 C=maxP(x)I(X;Y)C = \max_{P(x)} I(X;Y) という定義まで押さえたことで、今後の符号化理論(LDPC符号など)や検出理論のレッスンで「なぜこの符号・この検出方式が優れているのか」を定量的に議論する土台が整いました。

次回は、受信機が雑音の乗った信号から「送られたのは0か1か」をどう判定するのが最良なのかという検出理論と最尤推定を扱います。今回定義した確率的な枠組みを踏まえ、尤度比検定やベイズ基準といった判定則を数式で導出していきます。

参考文献

  • T. M. Cover, J. A. Thomas, Elements of Information Theory, 2nd ed., Wiley
  • C. E. Shannon, “A Mathematical Theory of Communication,” Bell System Technical Journal, vol. 27, 1948
  • CCSDS 121.0-B, Lossless Data Compression
  • CCSDS 131.0-B, TM Synchronization and Channel Coding
  • J. H. Yuen (ed.), Deep Space Telecommunications Systems Engineering, JPL Publication 82-76