Artificial Intelligence

[정보이론] Entropy, Cross Entropy, KL Divergence

oneonlee 2024. 4. 5. 20:06
반응형

참고하면 좋은 자료 : KL divergence - 공돌이의 수학정리노트

 

KL divergence - 공돌이의 수학정리노트 (Angelo's Math Notes)

 

angeloyeo.github.io


Entropy

Entropy는 정보 이론에서 사용되는 개념 중 하나로, 어떤 확률 분포가 가지는 정보의 평균적인 양을 나타내는 값이다.

정보량이 많을수록 Entropy 값은 높아지며, 정보량이 적을수록 Entropy 값은 낮아진다.

(엔트로피가 크다 = 무질서도가 크다 = 예측 불가능)

 

$$H(X) = - \sum_{i=1}^{n} P(x_i) \log_{2} P(x_i)$$

 

여기서 $P(x)$는 확률 분포를 나타낸다.

Examples

엔트로피를 이해하기 위해 동전 던지기의 예를 고려할 수 있다.

공정한 동전이 있다면 엔트로피는 1이 될 것이다. 즉, 평균적으로 각 동전 던지기에서 1bit의 정보를 받을 것으로 예상된다.

그러나 편향된 코인이 있으면 시스템의 불확실성과 무작위성이 적기 때문에 엔트로피가 낮아진다. 예를 들어 항상 앞면이 나오는 동전이 있는 경우 결과에 불확실성이 없기 때문에 이 시스템의 엔트로피는 0이 된다.

엔트로피의 또 다른 예는 언어 모델이 있다. 언어 모델의 엔트로피는 이전 단어를 기반으로 문장의 다음 단어를 예측하는 데 필요한 평균 정보량을 나타낸다.

언어 모델이 큰 텍스트 코퍼스에 대해 학습되면 다음 단어를 예측할 때 불확실성이 적기 때문에 엔트로피가 낮아진다.

Cross Entropy

Cross Entropy두 확률 분포 간의 차이를 나타내는 값으로, 예측 모델의 결과값과 실제 값의 차이를 계산할 때 사용된다.

$$H(P, Q) = -\sum_{i=1}^{n} P(x_i) \log(Q(x_i))$$

여기서 $P(x)$는 실제 정답값의 확률 분포, $Q(x)$는 예측 값의 확률 분포를 나타낸다.

KL Divergence

KL Divergence두 확률 분포 간의 차이를 측정하는 지표 중 하나로, 기계 학습 및 정보 이론에서 예측 분포를 목표 분포와 비교하는 데 자주 사용된다.

KL Divergence가 작으면 예측한 확률 분포가 실제 확률 분포와 비슷하다는 뜻이고, 클수록 차이가 크다는 뜻이다.

$$D_{KL}(P | Q) = \sum_{i=1}^{n} P(x_i) \log \frac{P(x_i)}{Q(x_i)}$$

여기서 $P(x)$는 실제 값의 확률 분포, $Q(x)$는 예측 값의 확률 분포를 나타낸다.

KL Divergence VS. Cross Entropy

KL Divergence와 Cross Entropy는 유사하지만, KL Divergence는 두 확률 분포 간의 차이를 측정할 때 비대칭성을 가진다는 차이점이 있다.

KL Divergence에서는 $D_{KL}(P | Q)$와 $D_{KL}(Q | P)$가 서로 다를 수 있는 반면, Cross Entropy는 항상 대칭적으로 계산된다.

따라서 KL Divergence는 Cross Entropy보다 더 엄격한 지표로써 예측 모델의 성능을 더욱 정확하게 평가할 수 있다.

Cross Entropy Loss

Cross Entropy Loss는 Classification 알고리즘에 사용된다.

Network의 output에 softmax 함수를 취한 후, target vector와 비교한다.

Cross Entropy Loss 계산 시, Target $P(x)$와 Output $Q(x)$에 대해 $-\sum P(x) \log Q(x)$로 계산한다.

 

$$H(P, Q) = -\sum P(x) \log Q(x) $$

References

  1. 인공지능 응용 (ICE4104), 인하대학교 정보통신공학과 홍성은 교수님
  2. KL divergence - 공돌이의 수학정리노트
반응형