KL 발산(Kullback-Leibler Divergence)이란?
1. 정의와 수식
KL 발산은 두 확률 분포 P와 Q 간의 차이를 정량적으로 측정하는 수단입니다. 주로 실제 분포 P와 근사 분포 Q 간의 차이를 계산할 때 사용됩니다.
DKL(P || Q) = ∑ P(x) log [P(x) / Q(x)]
여기서:
- P(x): 실제(또는 참) 확률 분포
- Q(x): 근사(또는 모델링된) 확률 분포
- log: 일반적으로 로그의 밑은 2 (비트 단위) 또는 자연로그(e)
2. 직관적 해석
KL 발산은 Q 분포를 사용해서 P 분포를 얼마나 비효율적으로 설명하는지를 나타냅니다. P와 Q가 같다면 KL 발산은 0이 되며, 두 분포가 다를수록 값이 커집니다.
즉, KL 발산은 "P라는 세상을 Q라는 시선으로 바라봤을 때 생기는 정보 손실"을 측정합니다.
예시:
- 신문 헤드라인의 실제 출현 빈도 P
- AI 모델이 예측한 확률 분포 Q
- 둘 간의 KL 발산이 작을수록 모델의 예측이 실제에 가깝다는 의미
3. 수학적 특성
- 비대칭성: DKL(P || Q) ≠ DKL(Q || P)
- 비음성성: 항상 0 이상의 값을 가짐 (Gibbs' inequality)
- 동일 분포 시: P = Q이면 KL 발산은 0
4. 활용 분야
- 머신러닝: 분포 간 차이를 최소화하는 학습 목표 함수로 활용 (ex. Variational Autoencoder, Bayesian Learning)
- 자연어 처리: 언어 모델 성능 평가 (ex. 실제 단어 빈도와 예측 확률 비교)
- 통계학: 분포 추정의 정밀도 평가
- 정보 이론: 데이터 압축, 부호화 효율성 분석
5. 결론
KL 발산은 두 확률 분포 간의 차이를 측정하는 강력한 도구입니다. 직관적으로는 "잘못된 가정(Q)이 실제 세계(P)를 얼마나 잘못 설명하는가"를 수치로 나타내며, 다양한 과학적·산업적 문제에 적용되고 있습니다.
"KL 발산은 모델이 세상을 얼마나 잘 이해하고 있는지를 수치로 말해주는 도구다."
댓글 없음:
댓글 쓰기