2018. 6. 14. 23:28ㆍMathmatics
딥러닝을 배우면서 익숙하게 들었던 Cross-Entropy라는 단어에 대하여 조금 더 자세히 공부해봐야 겠다고 마음만 먹고 공부를 미루고 있었는데 딥러닝 스터디에서 공부중이던 책에서 Information Theory가 등장하여 Entropy에 대하여 공부하게 되었다.
Entropy라는 개념은 우선 정보의 불확실한 정도를 표현하는 개념이다.
Shannon이 정보의 단위를 표현하기 위하여 고안해낸 개념인데, nats(나츠), bits(비트) 두가지의 단위가 있다.
Entropy는 위에서 언급한 것 처럼 정보의 불확실한 정도를 표현하는 개념이기 때문에 정보가 불확실할 때 값이 커진다.
예시로, 윷놀이를 하는 경우와 주사위놀이를 하는 경우를 비교해보면 윷놀이의 경우는 주사위의 경우보다 도, 개, 걸, 윷, 모 5가지 경우중 어떤 것이 나올지에 대한 예측이 쉽다. 그렇기 때문에 주사위 놀이를 하는 경우의 Entropy가 더 크다고 할 수 있다.
Entropy수식은 다음과 같다.
log의 및이 2인 경우의 단위를 bits / 자연지수인 경우의 단위를 nats 라고 표현한다.
이제, 본격적으로 딥러닝에 이용되는 Cross-Entropy를 알아보려고 한다.
Cross-Entropy를 알기전에 KL Divergence에 대하여 간단하게 언급하고자 한다.
KL Divergence는 두 확률 분포의 거리차이를 나타내는 개념인데, 거리 개념임에도 불구하고 교환법칙은 성립하지 않는다는 성질이 있다.
이제 Cross-Entropy의 수식을 살펴보면,
의 형태인데, 이 식의 의미를 살펴보기 위하여 식을 분해해보면
의 형태로 분해되는 것을 확인할 수 있다.
여기서 ,
임을 확인할 수 있다.
P와 Q의 Cross-Entropy는 P의 Entropy + P와Q의 KL Divergence를 의미한다 .
틀린부분이 있을 경우에 언제나 지적해주시면 감사드리겠습니다. :)
'Mathmatics' 카테고리의 다른 글
CostFunction : Cross-Entropy & Log Likelihood (0) | 2018.07.05 |
---|