圧縮しきったデータは、ノイズと区別がつかない — 情報量とは何か

要約

3Blue1Brown の動画でエントロピーの話を見て、後半の主張が面白かった—— **十分に圧縮されエンコードされたデータは、ランダムノイズと区別がつかない**。 そこから情報量・エントロピーの概念を導いていた。これを解説してほしい、という対話。

返ってきた整理はこうだった。圧縮の本質は**冗長性の除去**であり、冗長性とは要するに**予測可能性**だ。 「直前までを見れば次のビットがそこそこ当てられる」なら、その当てられる分は書かなくてよい。 当てられるということは、そこに情報が乗っていないから。だから圧縮とは「予測できる部分を全部差し引く」 作業であり、**削りきった後には、もはや予測できる構造が一つも残っていない**。 「直前から次が当てられない」——これはランダムノイズの統計的な定義そのもの。 だから「圧縮しきったデータ=ノイズ」は比喩ではなく、**論理的にそうならざるを得ない**。

これを逆から読むと定義になる。データに構造があれば、それは予測可能性であり、必ず圧縮できる。 したがって**「これ以上圧縮できない=構造が残っていない=ノイズに見える」**。対偶を取れば 「ノイズに見えない=まだ圧縮できる」。つまり**あるデータの本当の情報量とは、それを圧縮しきったときの 最短の長さ**である——これがシャノンの源符号化定理の直感的な中身だった。

最後に、一つ効く区別があった。**「ランダムに見える」と「ランダムである」は違う**。 圧縮ファイルは統計的には乱数と区別できないが、デコーダを通せば元のデータが決定論的に復元される。 表面上どんなパターンも見えないほど密に詰まっているだけで、情報はすべてそこに入っている。 **「ランダムに見える」ことと「意味を持つ」ことは両立する。**

要点

1. 圧縮とは「予測可能性」を削ること

  • 圧縮の本質は冗長性の除去。そして冗長性 = 予測可能性
  • 「直前までを見れば次が当てられる」なら、その分は書かなくてよい。 当てられるということは、そこに情報が乗っていない
  • だから削りきった後には、予測できる構造が一つも残っていない
  • 「直前から次が当てられない」=ランダムノイズの統計的な定義そのもの

「圧縮しきったデータはノイズと区別がつかない」は比喩ではなく、論理的な帰結

2. 逆から読むと、情報量の定義になる

  • データに構造・パターンがあれば、それは予測可能性であり、必ず圧縮できる
  • したがって「これ以上圧縮できない = 構造が残っていない = ノイズに見える」
  • 対偶:「ノイズに見えない(偏りが検出できる)= まだ圧縮できる」

あるデータの本当の情報量とは、それを圧縮しきったときの最短の長さ (シャノンの源符号化定理:可逆圧縮の平均符号長の下限が、ちょうどエントロピー H に一致する)

3. 情報量 = 驚きの量、エントロピー = その期待値

  • 確率 p(x) で起きた事象の自己情報量 I(x) = −log₂ p(x) [bit]
  • 滅多に起きないこと(小さい p)ほど、起きたときの驚きが大きく、運ぶ情報が多い
  • エントロピー H(X) = E[I(X)] = −Σ p(x) log₂ p(x) = 驚きの期待値
  • なぜ −log p なのかは、圧縮の視点から腑に落ちる。確率 p の記号には −log₂ p ビットを割り当てるべきで、 頻出記号には短く、稀な記号には長い符号を当てる。これがまさにハフマン符号がやっていること

4. なぜハフマンの出力が「ノイズ」に見えるのか(前半と後半をつなぐ肝)

  • 符号長を −log₂ p に合わせきると、出力ビット列の 0/1 の出現が 50:50 の一様分布に近づく
  • もし出力に「0 の方が出やすい」という偏りが残っていたら、その偏り自体が予測可能性=まだ削れる冗長性 であり、最適圧縮という前提と矛盾する
  • だから最適な符号の出力は、どんな統計的検定にかけても公正なコイン列と見分けがつかない状態に落ち着く。 1 ビットあたりちょうど 1 ビットの情報が詰まっている

5. 効く区別 — 「ランダムに見える」と「ランダムである」は違う

見方 圧縮ファイルは
シャノン的(統計的) 出力分布が一様に見えるか 乱数と区別できない
コルモゴロフ的(アルゴリズム的) その列を生成する最短プログラムの長さ 自分の長さとほぼ等しい=アルゴリズム的にランダム
  • しかしデコーダを通せば、元の意味あるデータが決定論的に復元される
  • 表面上どんなパターンも見えないほど密に詰まっているだけで、情報はすべてそこに入っている
  • 「ランダムに見える」ことと「意味を持つ」ことは両立する

6. 同じ原理が効いている場所

  • 暗号:優れた暗号文が乱数と区別できないのも同じ理由。 統計的な偏りが残れば、それは圧縮可能=情報が漏れているということで、解読の糸口になる。 「良い圧縮」と「良い暗号」は、出力をエントロピー上限まで平坦化するという意味で同じことをやっている
  • 熱力学:最大エントロピー分布(制約下で最も平坦な分布)は平衡状態に対応する。 「これ以上構造を絞り出せない状態」が、平衡であり、圧縮の終点であり、ノイズである — 全部同じ話の別の顔

軌跡(対話そのまま)

問い — 十分に圧縮されたデータは、ノイズと区別がつかない

こないだ3blue1brownの動画で、エントロピーの話をしていたんですね。前半はハフマン符号化の話だったんですが、後半面白かったのが、十分に圧縮されエンコードされたデータはランダムノイズ区別がつかない、という発想から情報量、エントロピーの概念を出していたところでした。これについて解説してもらえないでしょうか。

面白いところに反応されましたね。あの動画の後半の主張は、情報理論の一番深い核心を一言で言い当てていて、「圧縮しきったデータ = ノイズ」という等式が、実はエントロピーの操作的な定義そのものになっています。順を追って解きほぐします。

圧縮とは「予測可能性」を削ること

まず圧縮の本質は、冗長性(redundancy)の除去です。そして冗長性とは、要するに予測可能性のことです。あるビット列で「直前までを見れば次のビットがそこそこ当てられる」なら、その当てられる分は書かなくてよい。当てられるということは、そこに情報が乗っていないからです。

だから圧縮アルゴリズムがやっているのは、「予測できる部分を全部差し引く」作業だと言えます。そして削りきった後に残るものを考えると —— そこにはもはや予測できる構造が一つも残っていない。次のビットが 0 か 1 か、直前の履歴から一切当てられない。

「直前から次が当てられない」というのは、まさにランダムノイズの統計的な定義そのものです。だから「十分に圧縮されたデータはノイズと区別がつかない」。これは比喩ではなく、論理的にそうならざるを得ない、という点が美しいところです。

逆向きに読むと定義になる

この含意を逆から読むと、非常に強い主張になります。

  • もしデータに何か構造・パターンがあれば、それは予測可能性であり、必ず圧縮できる。
  • したがって「これ以上圧縮できない = 構造が残っていない = ノイズに見える」。
  • 対偶を取れば、「ノイズに見えない(何か偏りやパターンが検出できる)= まだ圧縮できる」。

つまり、あるデータの本当の情報量とは、それを圧縮しきったときの最短の長さだ、という定義に到達します。これがシャノンの源符号化定理(source coding theorem)の直感的な中身で、記号源を可逆圧縮したときの平均符号長の下限がちょうどエントロピー HH に一致します。

情報量 = 驚きの量、エントロピー = その期待値

ここで「情報量」を定量化する式が自然に出てきます。ある事象 xx が確率 p(x)p(x) で起きたときの自己情報量は

I(x)=log2p(x) [bit]I(x) = -\log_2 p(x) \ \text{[bit]}

滅多に起きないこと(小さい pp)ほど、起きたときの「驚き」が大きく、運んでくる情報が多い。そしてエントロピーはこの驚きの期待値です。

H(X)=E[I(X)]=xp(x)log2p(x)H(X) = \mathbb{E}[I(X)] = -\sum_x p(x)\log_2 p(x)

なぜ logp-\log p なのかは、圧縮の視点から腑に落ちます。確率 pp の記号に理想的には log2p-\log_2 p ビットを割り当てるべきで、頻出記号には短く、稀な記号には長い符号を当てる。これはまさに前半のハフマン符号がやっていることですよね。ハフマンは符号長を logp-\log p に近づける近似解を作っている。

なぜハフマンの出力が「ノイズ」に見えるか

ここが前半と後半をつなぐ肝です。符号長を log2p-\log_2 p に合わせきると、出力ビット列における 0 と 1 の出現がほぼ 50:50 の一様分布に近づきます。

直感的にはこうです。もし圧縮後の出力に「0 の方が出やすい」といった偏りが残っていたら、その偏り自体が予測可能性=まだ削れる冗長性であり、最適圧縮という前提と矛盾する。だから最適な符号の出力は、どんな統計的検定にかけても公正なコイン列と見分けがつかない状態に落ち着く。1 ビットあたりちょうど 1 ビットの情報が詰まっていて、一切の無駄がない。これが「圧縮しきった=ノイズ」の機構的な理由です。

一つだけ効く区別 —— 「ランダムに見える」と「ランダムである」

ここで、あなたの精度なら気になるはずの一点に触れておきます。圧縮ファイルは統計的には乱数と区別できませんが、本当に乱数なわけではありません。デコーダを通せば元の意味あるデータが決定論的に復元される。つまり**「表面上どんなパターンも見えないほど密に詰まっている」だけで、情報はすべてそこに入っている**。

この二つの見方 ——

  • シャノン的(統計的):出力分布が一様に見えるか
  • コルモゴロフ的(アルゴリズム的):その列を生成する最短プログラムの長さ

は微妙に別物です。圧縮しきったファイルはコルモゴロフ複雑性がほぼ自分の長さに等しい(=これ以上短いプログラムで書けない)という意味で「アルゴリズム的にランダム」だが、同時に特定の意味あるメッセージへのデコーダを持つ。「ランダムに見える」ことと「意味を持つ」ことは両立する、というのが最終的な落としどころです。


余談ですが、この原理は暗号にもそのまま効いていて、優れた暗号の出力(暗号文)が乱数と区別できないのも同じ理由です。もし暗号文に統計的な偏りが残れば、それは圧縮可能=情報が漏れているということで、そのまま解読の糸口になる。「良い圧縮」と「良い暗号」は、出力をエントロピー上限まで平坦化するという意味で、深いところで同じことをやっています。

物理出身のあなたなら、最大エントロピー分布(制約下で一番平坦な分布)が熱力学の平衡状態に対応する、という並びも見えているかと思います。「これ以上構造を絞り出せない状態」が平衡であり、圧縮の終点であり、ノイズである —— 全部同じ話の別の顔です。

← 一覧へ