MLDL - (4) : Entropy & Cross Entropy & KL-divergence

­이승환·2022년 1월 19일
0

MLDL

목록 보기
4/5

Overview


  • 알고는 있다고 생각하지만 막상 설명하기 어려운 엔트로피에 대해서 정리하고자 한다.
  • 여기서 엔트로피는 열역학에서 사용하는 에너지 손실(열손실) 에 대해서 다루는 것이 아닌 데이터(확률)에 의한 정확도 손실이다.

예시

0과 1만 구분하는 전기 신호로 동전을 5번 던진 결과를 전송해야 한다고 가정해보자. 이때 1을 보내면 앞면이고, 0을 보내면 뒷면이다. 우리는 이 질문을 5번만 하면 된다. 만약 10110을 보낸다면, (앞면,뒷면,앞면,앞면,뒷면)이 된다.

하지만 이보다 복잡하게 알파벳 6개를 보내야 한다고 해보자. 우리는 어떻게 알파벳 한 글자 한 글자를 1과 0으로 보낼 수 있을까? 우리가 할 수 있는 최적의 질문전략은, 그 글자가 26개의 알파벳 중에서 앞쪽 절반(A~M)에 속하는지 뒷쪽 절반(N~Z)에 속하는지이다. 아마 알고리즘을 공부해본 사람이라면 이진트리구조를 떠올릴 것이다.

절반씩 몇 번을 나누면 되는지, 또는 어느쪽 절반에 속하는지를 몇 번 물어야 하는지를 이렇게 표현할 수 있다.

엔트로피

예를 들어 문자열을 출력하는 2개의 기계 ‘X‘와 ‘Y‘가 있다고 가정해보자.

기계 X는

A, B, C, D를 각각 0.25의 확률로 출력
반면, 기계 Y는

A : 0.5
B: 0.125
C: 0.125
D: 0.25
의 확률로 출력한다.

위 그림에서 확인할 수 있듯이, 우리가 원하는 트리의 구조가 달라진다. 여기서 기계 X, Y 중 어떤 방법이 확률을 고려했을 때, 더 나은 걸까? 반대로 서로 트리구조를 바꾸어서 적용했다면 어떻게 해야할까?

이러한 고민들을 수치상으로 나타내기 위한 방법이 엔트로피이다.

트리구조에서 각 노드들의 depth와 각각 기계들의 확률들을 곱하여 수치상으로 나타내는 것이 엔트로피이다. Y기계 머신을 기준으로 예제를 풀어보면 아래와 같다.

즉 기계 X에서 entropy 값은 (0.25×2)×4=2 이고, 기계 Y에서의 entropy 값은 0.5×1+(0.125×3)×2+0.25×2=1.75 이다.

depth를 매번 계산해야할까? 우리는 이를 어림잡아 확인해볼 수 있다. depth가 깊다는 것은 확률이 낮을 수록 깊어진다는 것을 직관적으로 확인 할 수 있다. 따라서 엔트로피(정보의 불확실성) 은 아래와 같이 수치상으로 표현할 수 있다.

정보량

정보량은 어떠한 정보가 가지는 가치를 정량화한 값이다. 트리구조에서 depth를 의미한다. 이 정보량은 위 공식에서 -Log(P(x)) 로 표시했다

엔트로피 공식

위에서 표시했지만, 엔트로피는 결국 의미는 정보량의 기댓값과 같다는 것을 알 수 있다.

Cross Entropy?

위 예제에서 서로 트리구조를 바꿔서 계산해보자. 만약 기계 Y의 확률이지만 X의 트리구조를 가진다면 계산 공식은 다음과 같다.

H = 0.5×2+(0.125×2)×2+0.25×2=2

즉 1.75보다 더 크게 나온다. 따라서 다른 확률 양상에서 전략(트리구조, 즉 질문하는 구조, 우리가 찾고자하는 최적화 트리구조) 가 다르다면 엔트로피가 증가한다는 것을 알 수 있다. 이것을 크로스 엔트로피 라고 한다.

크로스 엔트로피의 공식은 아래와 같다.

우리가 어떤 qi 를 학습하고 있는 상태라면 pi에 가까워질수록 cross entropy 값은 작아지게 된다. 이런 특성 때문에 cross entropy 를 머신러닝에서 많이 쓴다. 이산형이 아니라 연속형인 확률분포에서는 시그마가 아니라 integral이 들어오게 되기도 한다.

Binary Cross Entropy?

단순하다. p 와 1-p인 확률만 존재한다는 것이다. 따라서 공식은 아래와 같다.

KL-divergence

위 설명에서 느낀점은, 크로스엔트로피는 결국 모집단의 확률을 찾아가는 것이며, 그것을 맞춘것이 엔트로피 정보량이라는 것을 알 수 있다. 일반적으로 머신러닝에서는 우리가 만든 모델의 분포 Q가 P에 근사하게 만드는 것이다.

와 같은 공식에서

를 유도할 수 있고, 이 식이 0 이 된다면? 우수한 모델이라고 취급할 수 있다는 것이다. 이 공식이 KL-divergence이다. 수식을 보면 알겠지만 KL-divergence는 거리를 뜻하지 않는다. 즉 P, Q에 대해서 교환 법칙이 성립하지 않는다는 것을 주의하자!!

profile
Mechanical & Computer Science

0개의 댓글