AI가 고양이 사진을 보고 "고양이일 확률 94%"라고 말할 때, 그 숫자는 어디서 나오는 걸까요. 단순히 맞고 틀리고를 세는 게 아닙니다. 모델이 얼마나 확신하는지, 그 확신이 실제와 얼마나 다른지를 수치로 표현하는 겁니다. 이걸 가능하게 하는 수학적 도구가 엔트로피입니다.
엔트로피라는 단어는 물리학에서 먼저 들어봤을 텐데, 정보 이론에서도 같은 이름을 씁니다. 의미도 비슷합니다. 물리학에서 엔트로피가 무질서도를 나타내듯, 정보 이론에서 엔트로피는 불확실성의 크기를 나타냅니다. 이 개념이 딥러닝의 손실 함수로 이어지는 과정을 따라가 보겠습니다.

정보량이란 무엇인가: 놀라움을 숫자로
정보 이론을 만든 클로드 섀넌은 정보를 "불확실성이 해소되는 정도"로 정의했습니다. 뻔한 사건은 정보가 없고, 예상 밖의 사건은 정보가 많다는 발상입니다.
내일 해가 뜬다는 소식은 정보가 없습니다. 확률이 거의 1이니까요. 반면 100년 만의 폭설 소식은 정보가 많습니다. 확률이 극히 낮기 때문입니다. 이 직관을 수식으로 표현하면 이렇습니다.
P(x)가 1에 가까우면 log값이 0에 가까워져 정보량이 작아집니다. P(x)가 0에 가까우면 정보량이 커집니다. 마이너스를 붙이는 이유는 로그값이 음수로 나오기 때문에 부호를 바꿔 양수로 만들기 위해서입니다. 단위는 비트(bit)를 씁니다.
엔트로피: 불확실성의 평균
정보량은 특정 사건 하나의 값입니다. 엔트로피는 모든 가능한 사건들의 정보량을 확률로 가중 평균한 값입니다. 즉 그 확률 분포 전체의 불확실성을 하나의 숫자로 나타냅니다.
동전 던지기를 예로 들면, 앞면과 뒷면이 각각 50% 일 때 엔트로피가 가장 높습니다. 어느 쪽이 나올지 전혀 모르니까요. 반면 앞면이 99%, 뒷면이 1%라면 엔트로피가 낮습니다. 결과가 거의 정해져 있으니 불확실성이 작습니다.
AI 모델도 마찬가지입니다. 학습 초기에는 뭘 예측해야 할지 몰라서 엔트로피가 높습니다. 학습이 진행될수록 정답에 대한 확신이 생기면서 엔트로피가 낮아집니다. 학습은 엔트로피를 줄여가는 과정입니다.
엔트로피 공식 직접 계산해보기
실제 숫자로 확인해 보겠습니다. 고양이, 강아지, 새 세 종류를 분류하는 모델이 있습니다.
학습 전 예측: [고양이 33%, 강아지 33%, 새 33%]이면 H = -(0.33×log₂0.33 + 0.33×log₂0.33 + 0.33×log₂0.33) ≈ 1.58 bit입니다. 완전히 모르는 상태라 엔트로피가 최대입니다.
학습 후 예측: [고양이 90%, 강아지 8%, 새 2%]이면 H = -(0.9×log₂0.9 + 0.08×log₂0.08 + 0.02×log₂0.02) ≈ 0.44 bit입니다. 고양이라고 꽤 확신하는 상태라 엔트로피가 낮아졌습니다.
| 상태 | 확률 분포 | 엔트로피 | 의미 |
|---|---|---|---|
| 학습 전 | [33%, 33%, 33%] | 1.58 bit | 완전히 모름 |
| 학습 중 | [60%, 25%, 15%] | 1.30 bit | 조금 확신 |
| 학습 후 | [90%, 8%, 2%] | 0.44 bit | 꽤 확신 |
| 완벽한 예측 | [100%, 0%, 0%] | 0 bit | 완전한 확신 |
KL 발산: 두 분포의 거리 측정
엔트로피가 한 분포의 불확실성이라면, KL 발산(Kullback-Leibler Divergence)은 두 분포 사이의 차이를 측정합니다. 모델이 예측한 분포 Q와 실제 정답 분포 P가 얼마나 다른지를 나타냅니다.
KL 발산이 0이면 두 분포가 완전히 같다는 뜻입니다. 값이 클수록 모델 예측이 실제와 멀리 떨어져 있습니다. 한 가지 주의할 점은 KL 발산은 비대칭입니다. KL(P‖Q)와 KL(Q‖P)가 다른 값이 나옵니다. 거리처럼 생겼지만 진짜 거리 개념은 아닙니다.
크로스 엔트로피와 손실 함수
크로스 엔트로피는 KL 발산과 밀접하게 연결됩니다. KL(P‖Q)를 전개하면 크로스 엔트로피 H(P,Q)에서 P의 엔트로피 H(P)를 뺀 형태가 됩니다. P의 엔트로피는 정답 데이터 자체의 고정값이라 학습으로 바꿀 수 없습니다. 그래서 KL 발산을 최소화하는 것과 크로스 엔트로피를 최소화하는 것이 같아집니다.
분류 문제에서 정답이 [1, 0, 0] (고양이)이고 모델이 [0.9, 0.08, 0.02]를 예측했다면 크로스 엔트로피는 -(1×log0.9 + 0×log0.08 + 0×log0.02) = -log0.9 ≈ 0.105입니다. 모델이 [0.4, 0.3, 0.3]을 예측했다면 -log0.4 ≈ 0.916으로 훨씬 커집니다. 틀린 예측일수록 손실이 크게 나오는 구조입니다.
왜 MSE 대신 크로스 엔트로피를 쓰는가
분류 문제에서 평균 제곱 오차(MSE) 대신 크로스 엔트로피를 쓰는 이유가 있습니다. MSE는 오차를 제곱한 값이라 모델이 완전히 틀렸을 때도 기울기가 작아질 수 있습니다. 기울기가 작으면 경사하강법에서 업데이트가 느려집니다.
크로스 엔트로피는 로그 함수를 씁니다. 모델이 완전히 틀린 예측을 하면 로그값이 음의 무한대로 가면서 손실이 매우 커집니다. 손실이 크면 기울기도 크고, 기울기가 크면 경사하강법이 빠르게 업데이트됩니다. 틀렸을 때 더 강하게 교정하는 구조입니다.
| 개념 | 정보 이론적 의미 | 머신러닝에서 역할 |
|---|---|---|
| 엔트로피 H(X) | 분포 전체의 불확실성 | 데이터 복잡도 측정 |
| KL 발산 | 두 분포 사이의 차이 | GAN, VAE 등 생성 모델 |
| 크로스 엔트로피 | 예측 분포의 오차 측정 | 분류 모델의 손실 함수 |
| 조건부 엔트로피 | 추가 정보 후 불확실성 | 특성 추출 효율 평가 |
엔트로피 개념 전체 연결하기
여기까지 따라왔다면 딥러닝 분류 모델이 학습하는 과정을 정보 이론 언어로 설명할 수 있습니다. 모델은 예측 분포 Q를 실제 분포 P에 가깝게 만들려고 합니다. 그 차이를 크로스 엔트로피로 측정하고, 경사하강법으로 크로스 엔트로피를 줄이는 방향으로 가중치를 업데이트합니다. 이 과정이 반복되면서 모델의 엔트로피가 낮아지고, 불확실성이 줄어들고, 예측이 정확해집니다.
섀넌이 1948년에 정보 이론을 발표했을 때 딥러닝을 염두에 두지는 않았을 겁니다. 그런데 80년이 지난 지금 그의 엔트로피 공식이 ChatGPT 같은 모델의 학습 손실 함수 안에 그대로 살아있습니다. 라이프니츠의 dx가 경사하강법으로 이어진 것처럼, 섀넌의 엔트로피도 딥러닝의 핵심 수식으로 이어진 셈입니다.
'데이터 과학 수학' 카테고리의 다른 글
| 공간의 변하지 않는 축, 고윳값과 고유벡터의 기하학적 의미 (0) | 2026.04.06 |
|---|---|
| 데이터의 그릇, 벡터와 행렬의 본질과 머신러닝 연산 (0) | 2026.04.05 |
| 데이터의 함정, 상관관계와 인과관계를 혼동하지 않는 법 (0) | 2026.04.05 |
| 데이터로 진실을 추론하다, 최대우도추정(MLE)의 원리 (0) | 2026.04.04 |
| 데이터의 질서, 정규분포와 중심극한정리의 마법 (0) | 2026.04.04 |