딥러닝, 논문 리뷰

[딥러닝, 정보 이론] KL Divergence와 엔트로피 완전 정복

cheorish 2025. 6. 9. 15:30

정보량부터 손실 함수까지, 분류 문제에 숨어 있는 수학적 원리 풀어보기

KL Divergence

왜 KL Divergence가 중요한가?

딥러닝에서 KL Divergence는 단순히 두 분포의 차이를 계산하는 수학적 도구를 넘어서,
모델의 학습 방향을 정의하는 핵심 지표로 쓰입니다.

예를 들어,

  • 이미지 생성 모델에서는 정해진 분포(예: 정규 분포)로부터 생성된 latent vector가 실제 데이터 분포와 얼마나 다른지를 KL Divergence로 측정하고,
  • 강화학습(Reinforcement Learning)에서는 정책(policy)이 바뀔 때 이전 정책과의 거리 차이를 KL Divergence로 제약하여 안정적인 학습을 유도합니다.
  • 특히 DeepSeek과 같은 최신 LLM 학습에서도 KL penalty를 포함한 RLHF(강화학습 기반 미세조정)가 점점 더 중요해지고 있으며,
  • 이때 모델의 새로운 출력 분포가 기존 정책 또는 Human Feedback과 얼마나 멀어졌는지를 KL Divergence로 측정합니다.

확률, 정보량, 그리고 엔트로피로 가는 길

딥러닝 손실 함수의 근간이 되는 KL Divergence, Cross Entropy 등을 제대로 이해하려면
먼저 정보량(Information Content)의 개념부터 출발해야 합니다.

정보량(Information Content)이란?

정보량은 "사건이 발생했을 때 우리가 얼마나 놀라는가"를 수치화한 개념입니다.
희귀한 사건일수록 예측하기 어렵기 때문에, 더 많은 정보량을 가진다고 봅니다.

수식은 다음과 같습니다:

$$
I(x) = -log P(x)
$$

  • P(x): 사건 x가 발생할 확률
  • I(x): 해당 사건의 정보량

표로 이해하는 정보량 해석

사건 확률 P(x) 정보량 I(x) = -log(P(x)) 해석
1.0 0 확실한 사건 → 정보 없음
0.5 1 반반 → 정보량 1 bit
0.1 3.32 매우 드문 사건 → 정보량 큼

엔트로피(Entropy): 정보량의 기대값

정보량이 한 사건의 놀라움을 나타낸다면,
엔트로피는 전체 확률 분포에서 평균적으로 우리가 기대하는 놀라움의 크기입니다.

공식:

$$
H(P) = -∑ P(x) * log P(x)
$$

즉, 각 사건의 정보량에 그 사건의 발생 확률을 곱해서 모두 더한 것 = 평균 정보량

엔트로피의 예시: 주사위

공정한 6면 주사위

모든 면의 확률이 1/6일 때:

$$
H = -∑ (1/6) * log₂(1/6) = log₂(6) ≈ 2.585 bits
$$

치우친 주사위

한 면의 확률이 0.9, 나머지는 0.02일 경우:

  • 대부분 예측 가능 → 정보량 ↓ → 엔트로피 ↓

분류 문제에서의 적용

딥러닝 분류 문제에서는 모델이 softmax로 예측한 확률 분포 Q
정답 레이블 분포 P(보통 원-핫 벡터) 사이의 차이를 측정합니다.

이때 사용되는 손실 함수가 바로 Cross Entropy입니다.

$$
H(P, Q) = -∑ P(x) * log Q(x)
$$

정답이 one-hot 벡터일 경우, 해당 클래스에 대한 예측 확률만 남습니다:

$$
H(P, Q) = -log(Q[정답 클래스])
$$

예시: 3-class 분류 문제

모델 예측:

$$
Q = [고양이: 0.7, 개: 0.2, 토끼: 0.1]
P = [1, 0, 0] (정답은 고양이)
$$

Cross Entropy:

$$
Loss = -log(0.7) ≈ 0.357
$$

  • 예측이 맞을수록 → 손실 ↓
  • 예측이 틀릴수록 → 손실 ↑ (예: log(0.1) ≈ 2.3)

핵심 정리

개념 의미
정보량 단일 사건이 주는 놀라움 \(-log P(x)\)
엔트로피 평균 정보량 (정보량의 기대값)
Cross Entropy 정답 기준에서 예측 확률이 얼마나 잘 맞는지
KL Divergence 두 분포(P, Q) 간의 정보 손실 차이

결론

딥러닝의 손실 함수는 단순히 오차를 계산하는 도구가 아닙니다.
그 뿌리에는 확률과 정보 이론이 자리 잡고 있습니다.

  • Cross Entropy는 정답 분포와 예측 분포 간의 정보 손실을 측정합니다.
  • KL Divergence는 현재 모델의 출력이 얼마나 기존 기준에서 벗어났는지를 수치화합니다.
  • 이 모든 계산의 출발점은 바로 정보량, 그리고 그 기대값인 엔트로피입니다.

엔트로피는 확률 분포의 불확실성을 수치화한 값이며,
딥러닝 손실 함수의 본질을 이해하는 데 핵심이 되는 개념입니다.


KL Divergence와 Cross Entropy의 수학적 관계

KL Divergence란?

KL Divergence는 두 확률 분포 \(P\) 와 \(Q\) 사이의 비대칭적인 거리를 측정하는 지표입니다.
수식으로는 다음과 같이 정의됩니다:

$$
D_{KL}(P \parallel Q) = \sum_x P(x) \log \frac{P(x)}{Q(x)}
$$

이 수식은 다음처럼 Entropy와 Cross Entropy의 차로도 표현됩니다:

$$
D_{KL}(P \parallel Q) = H(P, Q) - H(P)
$$

용어 정리

기호 의미
\(P(x)\) 실제 정답 분포 (보통 원-핫 벡터)
\(Q(x)\) 모델이 예측한 확률 분포
\(H(P)\) 엔트로피: \(-\sum_x P(x) \log P(x)\)
\(H(P, Q)\) 크로스 엔트로피: \(-\sum_x P(x) \log Q(x)\)
\(D_{KL}(P \parallel Q)\) KL Divergence (P를 Q로 근사할 때 생기는 정보 손실)

해석

  • \(H(P)\): 정답 분포 자체의 불확실성 → 모델과 무관한 고정값
  • \(H(P, Q)\): 예측 분포 Q가 정답 분포 P를 얼마나 잘 설명하는지
  • \(D_{KL}(P \parallel Q)\): 예측 분포 Q가 정답 P에서 얼마나 멀리 떨어져 있는지

실제 분류 문제에서는?

  • 정답 \(P(x)\)는 one-hot이므로 \(H(P) = 0\) (불확실성 없음)
  • 따라서 손실 함수로 사용하는 Cross Entropy는 사실상 KL Divergence와 동일:

$$
D_{KL}(P \parallel Q) = H(P, Q) - 0 = H(P, Q)
$$

즉, Cross Entropy = KL Divergence (one-hot 기준)
→ 정답 클래스의 예측 확률이 낮을수록 손실이 커짐

예시 정리

정답 클래스 예측 확률 ( Q(x) ) 손실 (Cross Entropy)
고양이 (1.0) 0.9 \( -\log 0.9 ≈ 0.105 \)
고양이 (1.0) 0.5 \( -\log 0.5 = 0.693 \)
고양이 (1.0) 0.1 \( -\log 0.1 ≈ 2.302 \)

결론

  • Cross Entropy = KL Divergence + Entropy
  • 분류 문제에서 정답이 one-hot이면 KL Divergence ≈ Cross Entropy
  • 결국, 딥러닝 손실 함수는 정보 손실을 최소화하려는 방향으로 동작합니다.
  • KL Divergence는 예측 분포가 정답 분포와 얼마나 다른지를 측정하는 가장 핵심적인 도구이며,Cross Entropy는 이를 손실 함수로 현실에 적용한 형태입니다.