분포 거리 측정 (Part 1) - 정보이론 기초와 KL Divergence
· 약 7분
KL Divergence를 정보이론 기초부터 이해하기. Self-Information, Entropy, Cross-Entropy의 관계를 통해 KL Divergence가 왜 이런 형태인지 직관적으로 설명합니다.
들어가며
머신러닝을 하다 보면 "두 확률 분포가 얼마나 다른가?"를 측정해야 하는 상황을 자주 만납니다. 모델이 예측한 분포와 실제 데이터 분포의 차이, VAE에서 latent space의 분포와 prior의 차이, 또는 시간에 따른 데이터 분포의 변화(drift) 감지까지. 이 모든 상황에서 KL Divergence라는 개념이 등장합니다.
이번 글에서는 KL Divergence가 "무엇"인지보다 "왜" 이런 형태를 갖게 되었는지에 초점을 맞춥니다. 정보이론의 기초 개념부터 차근차근 쌓아올려 보겠습니다.
1. 정보량 (Self-Information)
놀라움을 숫자로 표현하기
친구가 "오늘 해가 떴어"라고 말하면 별로 놀랍지 않습니다. 하지만 "오늘 서울에 눈이 2m 왔어"라고 하면 깜짝 놀라겠죠. 정보이론에서는 이 "놀라움"의 정도를 수학적으로 정의합니다.
- : 사건 x가 발생할 확률
- : 사건 x의 정보량 (단위: bits 또는 nats)
왜 로그인가?
로그 함수를 사용하는 데는 합리적인 이유가 있습니다.
첫째, 확률과 놀라움은 반비례합니다.
확률 P(x) 정보량 I(x)
──────────────────────────
1.0 → 0 (확실한 일 = 놀랍지 않음)
0.5 → 1 bit (동전 던지기)
0.25 → 2 bits (더 놀라움)
0.125 → 3 bits (훨씬 놀라움)
둘째, 독립 사건의 정보량은 더해집니다.
동전을 두 번 던져 둘 다 앞면이 나올 확률은 0.5 × 0.5 = 0.25입니다. 직관적으로 "두 번 다 앞면"의 놀라움은 "한 번 앞면"의 놀라움 두 배여야 합니다.
로그 덕분에 곱셈이 덧셈으로 변환되어 직관과 일치합니다.
시각화
정보량 I(x)
↑
3 │ *
│ *
2 │ *
│ *
1 │ *
│ * * *
0 └────────────────────────→ 확률 P(x)
0 0.25 0.5 0.75 1
확률이 낮을수록 정보량이 높다
2. 엔트로피 (Entropy)
평균적인 놀라움
개별 사건의 정보량을 알았으니, 이제 분포 전체의 불확실성
