Claude Shannon · Bell Labs · 1948 · "A Mathematical Theory of Communication"

정보 이론 정보란 무엇인가

핵심 통찰: "정보"를 수학적으로 정의할 수 있다. 정보량은 "얼마나 놀라운가"에 비례한다 — 당연한 사건은 정보가 없고, 예상 밖의 사건은 정보가 많다.

정보를 어떻게 측정하나

1948년 클로드 섀넌은 통신 시스템 설계 중 근본적인 질문을 마주쳤다: "메시지를 전송하는 데 최소 몇 비트가 필요한가?" 이 질문에 답하려면 먼저 정보를 수학적으로 정의해야 했다.

그의 아이디어는 간결했다: 정보량 = 놀라움의 정도. 확률 $p$로 일어나는 사건이 실제로 일어났을 때 정보량은:

$$I(x) = \log_2 \frac{1}{p(x)} = -\log_2 p(x) \quad \text{(단위: 비트)}$$
직관적 예시:

섀넌 엔트로피 — 평균 정보량

단일 사건이 아니라 "이 정보원(source)이 보내는 메시지는 평균적으로 얼마나 많은 정보를 담는가"를 측정하는 것이 엔트로피다. 확률 분포 $p_1, p_2, \ldots, p_n$을 갖는 정보원의 엔트로피:

$$H(X) = -\sum_{i=1}^{n} p_i \log_2 p_i \quad \text{(단위: 비트/기호)}$$

이것은 메시지를 압축했을 때 이론적으로 가능한 최소 비트 수이기도 하다(섀넌의 소스 코딩 정리). 어떤 압축 알고리즘도 $H(X)$ 이하로는 줄일 수 없다.

코인 던지기와 엔트로피

동전의 앞면 확률 $p$를 바꾸면 엔트로피가 어떻게 변하는지 확인해보세요.

앞면 확률 p = 0.50
왜 p=0.5일 때 엔트로피가 최대(1 비트)인가?
$p=0$이면 항상 뒷면 → 아무것도 모르지 않아도 됨 → 불확실성 0, 엔트로피 0.
$p=1$이면 항상 앞면 → 마찬가지로 엔트로피 0.
$p=0.5$이면 결과를 전혀 예측 못 함 → 불확실성 최대 → 엔트로피 최대.
즉 엔트로피 = 불확실성 = 압축 가능성의 하한.

텍스트 엔트로피 계산기

텍스트를 입력하면 각 문자의 등장 빈도를 분석해 엔트로피를 계산합니다. 엔트로피가 높을수록 랜덤에 가깝고, 낮을수록 압축이 잘 됩니다.

엔트로피
bits/char
최대 가능 엔트로피
bits/char
압축률
%
최소 비트
bits

각 막대 = 문자 빈도. 막대 높이가 균등할수록(모든 문자가 비슷한 빈도) 엔트로피가 높다.

왜 랜덤 데이터는 압축이 안 되나

ZIP, gzip 같은 압축 알고리즘은 반복되는 패턴을 짧게 표현해서 용량을 줄인다. 영문 텍스트는 'e'가 압도적으로 자주 나오고 'z'는 거의 안 나오는데, 자주 나오는 문자에 짧은 코드를 배정하면 전체 크기가 줄어든다.

반면 이미 암호화된 파일이나 MP3/JPEG 파일은 압축이 거의 안 된다. 이미 엔트로피가 최대(각 바이트가 거의 균등한 빈도)이기 때문이다. "이미 최적으로 압축된 데이터를 더 압축하는 것은 불가능하다"는 것이 섀넌 정리의 결론이다.

낮은 엔트로피 (압축 잘 됨)

  • 영문 텍스트: ~4.1 bits/char (알파벳 26자 균등이면 4.7)
  • 한국어 텍스트: ~9-10 bits/char (하지만 패턴 많음)
  • BMP 이미지: 하늘 사진처럼 단색 영역이 많으면 압축률 99%+
  • 소스 코드: 들여쓰기, 반복 키워드 많음

높은 엔트로피 (압축 안 됨)

  • 암호화된 파일: 의도적으로 랜덤처럼 보이게 설계됨
  • JPEG/MP3: 이미 손실 압축으로 엔트로피 최대화됨
  • 진정한 랜덤 노이즈: 이론적으로 압축 불가
  • 이미 ZIP된 파일을 다시 ZIP: 더 커질 수 있음

허프만 코딩 — 엔트로피 근사 압축

허프만 코딩은 문자 빈도에 따라 가변 길이 이진 코드를 배정하는 알고리즘이다. 자주 나오는 문자 → 짧은 코드, 드문 문자 → 긴 코드. 섀넌 엔트로피의 1비트 이내로 근사한다.

11 0 1 5 6 0 1 B 2 0 1 3 D 0 1 A C 0 1 E ... 예시: B=3,D=3,A=2,C=2,E=1 B→00 D→11 A→010 C→011 E→100

정보 이론의 파급력

통신·압축

  • ZIP, gzip, brotli — 허프만 + LZ 계열
  • MP3 — 심리음향 모델 + 허프만
  • JPEG — DCT + 허프만
  • 5G 오류 정정 코드 — LDPC, Polar codes

ML / AI

  • 교차 엔트로피 손실 = 섀넌 엔트로피
  • KL 발산 = 두 분포 간 정보 거리
  • VAE의 ELBO = 엔트로피 항 포함
  • 언어 모델 평가 지표 Perplexity = $2^H$
섀넌의 한계 정리 (Noisy-Channel Coding Theorem): 노이즈가 있는 채널에도 채널 용량(Channel Capacity) $C$가 존재하고, 전송률이 $C$ 이하이면 원리적으로 오류 없는 전송이 가능하다. 반대로 $C$를 초과하면 어떤 코드를 써도 오류를 없앨 수 없다. 이 정리는 1948년에 나왔지만, 이를 실용적으로 달성하는 코드(Turbo code, LDPC)는 40~50년이 지나서야 발명됐다.