내가 세상에 대해 알고 싶다 - AI와 뇌과학의 수식 20편 제5화 '알지 못하는 것을 측정하는 '엔트로피''
요약
본 글은 엔트로피(Entropy) 개념을 소개하며, 이것이 '모름'의 정도를 수치화하는 방법을 설명합니다. 정보 이론에서 사용되는 이 수식 $H(X)=-\sum_x p(x)\log_2 p(x)$는 발생 가능한 결과가 얼마나 예측하기 어려운지 나타냅니다. 확률 분포에 따라 엔트로피 값이 달라지며, 0과 클수록 예측 가능성 차이가 명확합니다.
핵심 포인트
- 엔트로피는 '모름'의 정도를 수치화하는 정보 이론적 개념입니다.
- 수식 $H(X)=-\sum_x p(x)\log_2 p(x)$를 사용하며, 단위는 비트(bit)입니다.
- 엔트로피가 클수록 예측하기 어렵고, 작을수록 예측하기 쉽습니다.
- 정보량 $I(x)=-\log_2 p(x)$는 확률이 낮을수록 얻는 정보가 크다는 것을 보여줍니다.
H(X)=-\sum_x p(x)\log p(x)
내 눈앞에는 두 개의 상자가 있다.
두 상자 모두 빨간 공과 파란 공이 들어있다.
첫 번째 상자에는 빨간 공 9개, 파란 공 1개가 들어있다.
두 번째 상자에는 빨간 공 5개, 파란 공 5개가 들어있다.
선배가 말했다.
"눈을 감고 하나를 꺼내보렴. 어느 쪽 상자가 다음에 나올 색깔을 맞추기 어려울 것 같니?"
나는 잠시 생각했다.
"두 번째 상자요. 빨간색도 파란색도 반반이니까요."
"그렇지. 그럼, 그 '맞추기 어려움'은 얼마나 다를까?"
나는 대답할 수 없었다.
어느 쪽이든 다음에 무엇이 나올지는 알 수 없다.
하지만 확실히, 모르는 것에는 차이가 있다.
그 차이를 숫자로 만들 수 있을까?
선배가 알려준 것은 '엔트로피(Entropy)'라는 수식이었다.
이번에는 정보 이론에서 자주 사용되는 밑이 2의 로그를 사용하여 계산해 보자.
H(X)=-\sum_x p(x)\log_2 p(x)
엔트로피는 발생 가능한 결과가 얼마나 예측하기 어려운지를 나타내는 숫자라는 것이다.
$X$는 꺼낸 공의 색깔, $x$는 '빨간색'이나 '파란색'이라는 결과, $p(x)$는 그 결과가 나올 확률이다. 그리고 $\sum_x$는 발생 가능한 모든 결과에 대해 합산한다는 의미다.
로그의 밑을 2로 했을 경우, 엔트로피 $H(X)$의 단위는 비트(bit)가 된다.
이 수식을 사용해서 두 상자를 비교해 보자.
첫 번째 상자에는 빨간 공이 9개, 파란 공이 1개가 들어있다.
빨간색이 나올 확률은 0.9, 파란색이 나올 확률은 0.1이다.
\begin{aligned}
H(X) &=-(0.9\log_2 0.9+0.1\log_2 0.1)\n...
\end{aligned}
두 번째 상자에는 빨간 공이 5개, 파란 공이 5개가 들어있다.
어느 쪽이 나올 확률도 0.5이다.
\begin{aligned}
H(X) &=-(0.5\log_2 0.5+0.5\log_2 0.5)\n...
\end{aligned}
첫 번째 상자는 약 0.469비트, 두 번째 상자는 1비트이다.
두 번째 상자가 엔트로피가 더 크다.
즉, 다음에 나올 색깔을 예측하기 어렵다는 뜻이다.
"그럼, 빨간 공이 10개, 파란 공이 0개라면?"
선배가 그렇게 물었다.
"반드시 빨간색이 나오니까, 예측은 틀리지 않아요."
"맞아. 엔트로피는 0이 돼."
※확률이 0인 경우, $p(x)\log_2 p(x)$ 항은 극한을 고려하여 0으로 처리한다.
과연.
빨간 공이 9개라면, 대부분 빨간색이 나온다. 하지만 파란색이 나올 가능성도 있다.
빨간색과 파란색이 각각 5개씩이라면, 어느 쪽이 나올지는 완전히 오 분 오 분이다.
그리고 빨간 공이 10개라면, 무엇이 나올지 처음부터 알고 있다.
엔트로피가 클수록 예측하기 어렵고, 작을수록 예측하기 쉽다.
내가 막연하게 느끼던 '모름'의 차이가 숫자로 나타난 것이다.
다시 한번 엔트로피 수식을 보자.
H(X)=-\sum_x p(x)\log_2 p(x)
언뜻 복잡하지만, 이 수식은 두 가지 개념을 결합하고 있다.
예를 들어, 첫 번째 상자에서 빨간 공이 나와도 크게 놀라지 않는다.
하지만 파란 공이 나오면 조금 놀랄 것이다.
이 '놀람'을 정보량(Information amount)으로 나타낸 것이 다음 수식이다.
I(x)=-\log_2 p(x)
여기서 $p(x)$는 사건 $x$가 일어날 확률이다.
확률이 작을수록, 정보량은 커진다.
예를 들어,
- 확률이 1이면, 정보량은 0비트.
- 확률이 1/2이면, 정보량은 1비트.
- 확률이 1/4이면, 정보량은 2비트.
- 확률이 1/8이면, 정보량은 3비트.
일어나기 어려운 사건일수록, 그것이 실제로 일어났을 때 얻는 정보는 크다.
여기서 로그가 등장하는 이유는, 독립적인 사건들이 동시에 일어날 확률은 곱셈이 되는 반면, 그 정보량은 덧셈이 되도록 하기 위함이다.
밑을 2로 했을 때, 정보량의 단위는 비트가 된다.
하지만 하나의 사건이 얼마나 놀라운지를 측정하는 것만으로는 상자 자체의 예측하기 어려움을 알 수 없다.
빨간색이 나왔을 때의 놀람과, 파란색이 나왔을 때의 놀람.
각각이 일어날 확률도 고려하여 평균을 구하면 된다.
H(X)=\sum_x p(x)I(x)
여기에 정보량 수식을 대입하면,
H(X)=-\sum_x p(x)\log_2 p(x)
처음의 엔트로피 수식이 되었다.
즉, 엔트로피란 결과를 보기 전에 예상되는 정보량의 평균인 것이다.
빨간 공 9개, 파란 공 1개의 상자에서는, 좀처럼 나오지 않는 파란색의 정보량은 크다. 하지만 그 파란색이 나올 확률은 낮다.
빨간색과 파란색이 각각 5개씩 들어있는 상자라면, 어느 것이 나와도 1비트의 정보량이 있다.
그래서 후자가 평균적인 정보량, 즉 엔트로피가 더 커진다.
여기서 중요한 것은, 엔트로피는 확률을 모른다는 것을 의미하는 것이 아니다라는 점이다.
우리는 두 상자에 들어있는 빨간색과 파란색의 비율을 정확히 알고 있다.
그럼에도 불구하고, 다음에 어떤 색이 나올지는 알 수 없다.
엔트로피가 측정하는 것은, 확률을 안 상태에서 여전히 남아 있는 예측의 불확실성이다.
빨간색과 파란색의 비율을 바꾸면, '다음에 나올 색을 예측하기 어려움'은 어떻게 변할까?
슬라이더로 상자 속 내용물을 변경하면서 엔트로피의 변화를 확인해 보자.
'1개 꺼내기' 버튼을 누르면, 실제로 나온 색의 정보량도 확인할 수 있다.
엔트로피는 결과를 보기 전의 평균적인 정보량이다. 반면, 실제 정보량은 꺼낸 색에 따라 달라진다.
빨간색과 파란색이 절반씩일 때, 엔트로피는 최대치인 1비트가 된다. 그리고 둘 중 하나만 들어있으면 0비트가 된다.
See the Pen 05 by aokikenichi (@aokikenichi) on CodePen.
엔트로피는 정보 이론에서 탄생한 수식이지만, 지금은 AI나 뇌과학 등 다양한 분야에서 사용되고 있다. 정보 이론에서는 밑이 2인 로그(log base 2)를 많이 사용하는 반면, 기계 학습(Machine Learning)에서는 자연 로그(natural logarithm)를 많이 사용한다. 로그의 밑에 따라 수치나 단위는 달라지지만, 불확실성을 측정한다는 개념은 같다.
1948년, 클로드 샤논(Claude Shannon)은 정보 이론에서 엔트로피를 도입했다.
빨간색이 90%, 파란색이 10%인 상자에서 색을 여러 번 꺼내 기록할 경우, 결과의 배열을 모아서 부호화하면 효율적으로 압축할 수 있다.
엔트로피는 이러한 정보를 평균하여 어느 정도까지 압축할 수 있는지에 대한 이론적인 한계를 보여준다.
불확실성이 작을수록, 평균적으로 적은 정보량으로 표현할 수 있다는 것이다.
이미지를 본 AI가 '고양이 90%, 강아지 10%'라고 예측했다고 가정해 보자.
정답이 고양이라면 좋은 예측이지만, 강아지라면 큰 오차가 된다.
기계 학습에서는 엔트로피와 관련된 '크로스엔트로피(Cross-Entropy)'를 사용하여 예측과 정답의 차이를 평가한다.
다만, 엔트로피가 작다는 것과 예측이 맞다는 것은 다르다. 틀린 답에 100%의 확신을 가진 AI도 있기 때문이다.
ChatGPT와 같은 언어 모델은 다음 토큰(token)의 확률 분포를 계산한다.
'옛날 옛적, 어떤 곳에' 다음에는 다양한 단어가 이어지지만, '일본의 수도는' 다음에는 '도쿄'가 이어질 확률이 높을 것이다.
후보가 분산되어 있으면 엔트로피는 크고, 특정 후보에 집중되어 있으면 작다.
엔트로피는 AI가 다음 단어를 얼마나 좁혀나갈 수 있는지를 나타낸다.
뇌과학의 '예측 부호화(Predictive Coding)'에서는 뇌가 외부 세계를 예측하고, 현실과의 차이를 이용해 예측을 업데이트한다고 생각한다.
매일 아침 같은 시간에 전철이 온다고 예측했는데 갑자기 오지 않으면 놀랄 것이다.
여기서 엔트로피는 사건이 일어나기 전의 예측 전체적인 불확실성이고, 예측 오차(Prediction Error)는 예측과 현실의 차이를 나타낸다.
두 개념은 다르지만, 뇌가 예측을 업데이트하는 메커니즘을 이해하는 데 있어서 둘 다 중요하다.
로봇이 익숙한 길과 미지의 길 앞에 서 있다고 가정해 보자.
미지의 길은 예측하기 어렵지만, 나아가 보면 새로운 것을 배울 수도 있다.
세계 모델(World Model)을 사용한 탐색에서는 미래 예측의 불확실성을 평가할 수 있다.
나아가 단순히 불확실성이 큰 장소만이 아니라, **탐색을 통해 얼마나 불확실성을 줄일 수 있는지(정보 획득량, Information Gain)**를 생각하는 방법도 있다.
정보 압축, AI 학습, 단어 예측, 뇌의 작동 방식, 미지의 세계 탐험.
서로 다른 분야들을 연결하고 있는 것은 '불확실성을 어떻게 다룰 것인가'라는 공통된 질문이다.
모르는 것을 측정할 수 있게 되면, 모르는 것에 대해 무엇을 할 수 있을지까지 생각하게 된다.
나는 오랫동안 세상에는 '알 수 있는 것'과 '알 수 없는 것'이 있다고만 생각했다.
하지만 그렇지 않았다.
알 수 없는 것에도 정도가 있다. 그리고 그 정도를 숫자로 표현할 수 있다.
세상을 완전히 예측할 수는 없더라도, 얼마나 예측할 수 없는지는 알 수 있게 된 것이다.
그것은 세상을 아는 또 하나의 방법일지도 모른다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기