[정보이론] 정보와 Entorpy
딥러닝을 공부하다 보면 어떤 모델을 학습하는 것은 손실함수(Loss Funtion) 값을 최소화 하는 가중치(Weight)를 구하는 과정이라는 것을 배웁니다.
이 떄, 여러종류의 손실함수 중 가장 많이 접하는 손실함수는 MSE(Mean Squared Error) 와 Cross Entropy 일 것입니다. MSE 는 오차 제곱의 평균으로서 그 개념을 직관적으로 이해하기 쉽지만, Cross Entropy 라는 것은 개념이 생소하죠.
Cross Entropy 에 대해 이해할려면 Entropy 에 대해 알아야 하고, Entropy 에 대해 알려면 정보이론에서 말하는 정보의 정의와 척도에 대해 알아야 합니다.
먼저 정보의 표현 방법에 대해 논의해봅시다.
1. 정보를 어떻게 효율적으로 표현할 수 있을까?
정보를 무엇으로 정의할까에 대한 것은 생략하겠습니다. 프로그래밍 언어를 배운다면 이진 부호 표현인 bit 에 친숙할 것이다. 0과 1을 사용하여 직관적으로 정보에 대해 표현할 것입니다.
또 하나의 가정은 최대한 적은 용량(bit) 로 정보를 표현한다고 가정하는 것입니다. 스마트폰을 사용하다보면 데이터가 부족해서 데이터를 아낀 경험이 한번씩 있을 것입니다. 적은 용량으로 정보를 표현하는게 효율적이라는 것은 누구나 동의할 것입니다.
그렇다면 구체적인 예를 들어 작성시점인 23년 6월의 세번째 주의 다음주 주말까지 포함한 9일간의 주간 날씨를 bit 로 표현을 시도해 보겠습니다.

일주일 간 날씨를 보면, 맑은 날이 1일, 다소 구름낀 날이 5일, 흐린 날이 1일, 비내리는 날이 2일인 것을 알 수 있습니다.
임의의 bit 를 사용하여 날씨를 다음과 같은 표로 표현해 보았습니다.
| 날씨 | 부호1 |
| 맑음 | 00 |
| 구름 | 01 |
| 흐림 | 10 |
| 비 | 11 |
부호 1로 위 주간 날씨를 순서대로 표현한다고 해 보면,
00 10 11 11 01 01 01 01 01
이 되고 주간 날씨를 표현하는데 총 18비트가 필요한 것을 알 수 있습니다.
이번에는 빈도수가 적은 순서부터 다른 길이의 bit 로 부호를 정해보았습니다.
| 날씨 | 부호2 |
| 맑음 | 110 |
| 구름 | 0 |
| 흐림 | 1110 |
| 비 | 10 |
언듯 보면 부호1 보다 비효율적으로 생각이 들기도 합니다. 새로운 부호 2로 주간 날씨를 순서대로 표현을 해 보면,
110 1110 10 10 0 0 0 0 0
이 되고 주간 날씨를 표현하는데 오직 16 비트가 필요하게 됩니다.
두 가지 부호 표현 방식을 살펴 보았을 때, 똑같은 정보를 표현하는데 많은 비트가 필요하다면 더 많은 저장공간이 필요한 것을 알 수 있습니다. 즉, 동일한 정보 또는 메세지를 표현할 때 비트 수를 적게 표현한다면 효율적인 것으로 보입니다.
위 예시를 통해, '정보의 표현은 확률로 표현 가능하지 않을까' 라는 생각이 듭니다. 그렇다면 이를 수학적으로 표현을 해볼 수 있을 것입니다.
2. 정보량
그렇다면, 정보 란 무엇일까 생각해보면, 위의 주간 날씨 예에서 보듯이 정보량과 확률이 무언가 관계가 있다는 것을 추론했습니다. 확률이 감소할 수록 정보량은 많아지고, 확률이 증가할 수록 정보량은 적어집니다.
다시 생각해보면, 확률이 큰 사건은 사건이 쉽게 발생할 것이라 예측할 수 있지만, 확률이 낮은 사건은 사건이 일어날지 말지 모르는 불확실성이 크다고 말할 수 있습니다.
정리하자면 정보란 불확실성(uncertainty) 과 불규칙성(irregularity) 로 정의가 가능합니다. 그리고 불확실성과 불규칙성은 확률로 표현가능합니다. 또한 정보량은 확률과 반비례의 관계입니다. 이를 바탕으로, 정보 이론의 창시자인 새넌 박사는 정보량을 다음과 같이 정의했습니다.
정의:
어떤 사건 $E$의 발생확률이 $P_{E}$라고 가정합니다. 어떤 사건 $E$가 발생했을 시 다음과 같은 정보량 $H_{E}$로 정의할 수 있습니다.
$$ H_{E} = \textrm{log}\frac{1}{P_{E}} $$
로그의 성질을 이용해서 아래와 같이 표현가능합니다.
$$ H_{E} = -\textrm{log}P_{E} $$
하나의 사건에 대해 정보량을 어떻게 측정하는지 정의할 수 있었습니다. 날씨로 따지면, 비가 오는 하루의 정보량을 측정할 수 있었습니다.
그렇다면 하루 날씨의 평균 정보량은 얼마나 될까요? 즉 사건이 한 번 발생할 경우에는 정보량의 예측은 어떻게 표현할 수 있을까요?
3. Entropy
한 번의 기회에 $N$ 번의 사건이 발생할 수 있고, 각 사건마다 발생할 수 있는 확률이 다르다면, 사건이 발생할 때 마다 정보량은 다를 것입니다. 이 때 정보량의 기대값은 다음과 같이 정의할 수 있습니다.
$$ H(X) = \sum_{i=1}^{n} P_{i} H_{i} = \sum_{i=1}^{n}P_{i}\textrm{log}\frac{1}{P_{i}} $$
$$ = -\sum_{i=1}^{n} P_{i} \textrm{log} P_{i} $$
이를 평균정보량이라 하고, 평균정보량 $H(X)$ 는 다른 말로 Entropy 라고 합니다. 물리학에서 가져온 용어입니다.
하나의 사건이 발생할 때 정보량의 기대값은 확률로 표현되며, 확률은 위에서 언급되었듯이 불확실성을 나타내는 척도입니다. 즉 Entorpy 는 확률 변수 $X$ 의 평균 정보량 또는 불확실성을 나타낸다고 할 수 있습니다.
다음 포스팅에서는 Cross Entropy 에 대해 논하겠습니다.
'DeepLeaning > 기초' 카테고리의 다른 글
| Backpropagation(역전파) (0) | 2023.07.11 |
|---|



