쿨백-라이블러(Kullback-Leibler) 발산(이하, KL 발산)의 정의는 다음과 같습니다.
- $x_i$: 개별 사건
- $P(x_i)$: 실제에 기반하여 계산한 사건 $x_i$의 발생 확률
- $Q(x_i)$: 가설에 기반하여 계산한 사건 $x_i$의 발생 확률
- $D_{KL}(P\|Q)$: 가설을 사용하여 실제 사건의 발생 확률을 계산할 때 생기는 비효율의 척도
이해를 돕기 위하여 찌그러진 동전을 예로 설명해 보겠습니다.
- 실제: 앞면이 나올 확률 0.8, 뒷면이 나올 확률 0.2
- 가설: 앞면이 나올 확률 0.2, 뒷면이 나올 확률 0.8
이 값들로부터 KL 발산을 구한 결과는 다음과 같습니다.
- 앞면에 의한 $D_{KL}$ 기여: $0.8 \times \log \frac{0.8}{0.2} = 1.6$
- 뒷면에 의한 $D_{KL}$ 기여: $0.2 \times \log \frac{0.2}{0.8} = -0.4$
$$D_{KL} = 1.6 - 0.4 = 1.2$$
여기서 주목할 부분은 실제 확률과 가설에 의한 예측 확률 간 비율이 수치상으로는 $4$와 $0.25$라는 역수 관계(로그를 취하면 $+2$와 $-2$로 절대값이 같음)이지만, 최종 기여도가 크게 다르다는 것입니다. 그 이유는 KL 발산이 '기댓값'이기 때문입니다.
1. 수식의 재구성: 누가 '가중치'를 주는가?
KL 발산의 정의를 다시 살펴보면, 단순히 확률의 차이를 보는 것이 아니라 실제 분포 $P$를 기준으로 한 기댓값입니다.
위 예시를 이 형식에 맞춰 풀어보면 다음과 같습니다.
- 앞면 (Heads): $\underbrace{0.8}_{\text{가중치}(P)} \times \underbrace{\log_2(4)}_{\text{놀람 정도}} = 0.8 \times 2 = 1.6$
- 뒷면 (Tails): $\underbrace{0.2}_{\text{가중치}(P)} \times \underbrace{\log_2(0.25)}_{\text{놀람 정도}} = 0.2 \times (-2) = -0.4$
여기서 '놀람 정도(Surprisal)'는 $+2$와 $-2$로 대칭적입니다. 하지만 이 '놀람'이 발생하는 빈도(가중치)가 다릅니다.
2. 직관적인 타당성: 왜 불균형이 발생하는가?
이 결과가 직관적으로 타당한 이유는 "실제 사건이 얼마나 자주 일어나는가"가 정보의 가치를 결정하기 때문입니다.
1) 앞면의 경우 (저평가된 빈번한 사건)
- 실제로는 10번 중 8번이나 일어나는 아주 흔한 일($P=0.8$)인데, 가설은 겨우 2번($Q=0.2$)만 일어날 것이라고 '과소평가'했습니다.
- 이 흔한 사건이 발생할 때마다 우리는 모델의 예측이 틀렸음을 확인하며 큰 비용(1.6)을 치릅니다. 자주 발생하기 때문에 누적되는 페널티가 매우 큽니다.
2) 뒷면의 경우 (과평가된 드문 사건)
- 실제로는 10번 중 2번밖에 안 일어나는 드문 일($P=0.2$)인데, 가설은 8번($Q=0.8$)이나 일어날 것이라고 '과대평가'했습니다.
- 가설이 이 사건에 대해 '관대'하게 준비했기 때문에, 사건이 발생했을 때의 정보량은 오히려 마이너스($-0.4$)가 됩니다. (즉, 예상보다 덜 놀랍다는 뜻입니다.)
- 하지만 이 사건은 애초에 가끔씩만 일어나기 때문에, 여기서 얻는 '이득(음의 기여)'이 앞면에서 발생하는 '손실(양의 기여)'을 상쇄하기에는 턱없이 부족합니다.
결론: "자주 발생하는 사건에 대해 무지한 것(앞면)"이 "드물게 발생하는 사건에 대해 과하게 준비한 것(뒷면)"보다 훨씬 더 치명적입니다. KL 발산은 이 비효율성을 정확히 반영합니다.
3. 정보이론적 비유: 데이터 압축(Coding)
이 상황을 통신 공학적인 최적 부호화(Optimal Coding) 비유로 생각하면 더 명확해집니다.
- 당신은 $Q$라는 예측에 기반하여, 앞면이 조금 나올 줄 알고 앞면의 코드 길이를 길게(2비트 추가) 할당했습니다.
- 그런데 실제($P$)로는 앞면이 쏟아져 나옵니다.
- 데이터를 보낼 때마다 비효율적인 긴 코드를 계속 써야 하므로, 전체 전송량(비트 수)은 폭발적으로 늘어납니다. 반면 뒷면에서 아낀 비트 수는 그 빈도가 낮아 별 도움이 되지 않습니다.
이것이 바로 교차 엔트로피와 KL 발산이 분류 모델의 손실 함수로 사용될 때, 모델이 '정답일 확률이 높은 클래스'를 틀렸을 때 왜 그렇게 큰 페널티를 주는지 설명하는 수학적 근거가 됩니다.
계산 결과인 $1.2$라는 값은 결국 "분포 $Q$를 사용하여 분포 $P$의 정보를 전달할 때, 최적의 경우($H(P)$)보다 평균적으로 1.2비트를 더 낭비하고 있다"는 의미가 됩니다.
'정보 이론 > 교차 엔트로피' 카테고리의 다른 글
| 정보 엔트로피와 교차 엔트로피의 관계 (0) | 2026.02.04 |
|---|---|
| 정보 엔트로피, 교차 엔트로피, KL 발산 개념의 탄생과 발전 (0) | 2026.02.04 |