KL divergence

이준혁·2일 전

들어가기에 앞서

정보 엔트로피(information entropy)

step1. 정보량

  • 어떤 사건이 자주 일어나면 별로 놀랍지 않고, 거의 안 일어나는 사건이 발생하면 놀라움
  • 정보이론에서는 이 “놀라움의 정도”를 정보량이라고 봄

  • 어떤 사건의 확률이 0.5라면 정보량은 비교적 작고, 확률이 0.01이라면 정보량은 훨씬 큼 그러면 아래와 같이

step2. 왜 -(log P(x))를 사용할까?

  • 확룰이 작을수록 정보량이 커져야함

  • 100% 일어나는 사건은 새로운 정보가 없음을 의미

하지만

드문 사건일수록 정보량이 커짐

step3. 왜 로그를 쓰는가?

로그 성질때문에 이렇게 진행이 됨

step4. 그러면 엔트로피는 무엇인가? -> 정보량의 평균값

  • 각 사건마다 정보량이 다르기 때문에 전체 시스템이 평균적으로 얼마나 많은 정보를 가지는지를 계산함

발생 확률 × 그 사건의 정보량

step5. 주사위로 보면

  • 해당 부분에서 머신러닝을 진행할때 softmax가 확률을 출력함

  • 모델이 얼마나 확신하고 있는지 판단하는 데 사용할 수 있음

  • bit를 사용한 것은 log_{2}를 사용했을 떄의 정보량 단위임


크로스 엔트로피(cross entropy)

실제 분포 (P)를 기준으로 봤을 때, 모델이 예측한 분포 (Q)가 얼마나 잘못되었는지를 나타내는 값
-> 예측과 달라서 생기는 깜놀도(즉 정보량)을 의미함

  • 핵심은 정답이 실제로 발생했는데, 모델이 그 정답에 낮은 확률을 줬다면 큰 손실을 준다는 것

  • 정답이 0 또는 1인 이진 분류에서는 다음과 같이 씀

여기서 보이듯이

  • 정답이 높은 확률을 부여하면 -> cross entropy가 작음
  • 정답에 낮은 확률을 부여하면 -> cross entropy 큼

Entropy와 Cross Entropy의 차이

-> 실제 분포 (P) 자체가 얼마나 불확실한가 = entropy

-> 실제는 (P)인데 모델이 (Q)라고 생각했을 때 필요한 평균 정보량 = Cross Entropy


KL Divergence는?

  • KL Divergence는 두 확률분포 (P)와 (Q)가 얼마나 다른지를 정보량 관점에서 나타낸 값

즉 해당 것은 모델 떄문에 추가로 발생한 차이임

profile
#자기공부 #틀린것도많음 #자기개발 여러분 인생이 힘들다 하더라도 그것을 깨는 순간 큰 희열감으로 옵니다~

0개의 댓글