콘텐츠로 이동

확률분포를 배웠다면 이제 한 걸음 더 나아가야 합니다. 분포가 얼마나 불확실한지, 모델이 정답을 얼마나 잘 설명하는지, 두 분포가 얼마나 다른지를 수로 재야 하기 때문입니다. 엔트로피, 크로스엔트로피, KL divergence는 이 세 질문에 각각 답하는 도구입니다. 정보이론에서 시작했지만, 현대 AI의 손실함수와 학습 목표 한가운데에 놓여 있습니다.

먼저 알아둘 말

  • 엔트로피: 확률분포가 얼마나 불확실한지를 나타내는 값이다.
  • 크로스엔트로피: 실제 분포를 모델 분포로 설명할 때 드는 평균 비용이다.
  • KL divergence: 한 분포를 다른 분포로 근사할 때 생기는 비효율을 나타내는 값이다.
  • 로그손실: 정답에 낮은 확률을 줄수록 크게 벌점을 주는 손실이다.
  • one-hot 정답: 정답 클래스 하나만 1이고 나머지는 0인 표현이다.

이 강의에서 답할 질문

  • 불확실성은 왜 로그를 써서 측정할까?
  • 왜 분류 문제에서 크로스엔트로피를 손실함수로 많이 쓸까?
  • KL divergence는 무엇을 비교하고, 왜 대칭이 아닐까?

먼저 떠올릴 장면

  • 공정한 동전은 결과를 예측하기 어렵고, 거의 항상 앞면이 나오는 동전은 예측하기 쉽다.
  • 정답 클래스에 0.99를 준 모델과 0.01을 준 모델은 같은 오답 수를 내더라도 전혀 다른 품질을 가진다.
  • 실제 데이터 분포와 모델 분포가 얼마나 닮았는지 알고 싶을 때 단순한 평균 오차만으로는 부족하다.

즉 이 강의는 "확률을 맞춘다"는 말을 더 정교하게 만드는 강의입니다.

생각의 순서

  • 먼저 엔트로피로 분포 자체의 불확실성을 본다.
  • 그다음 크로스엔트로피로 정답 분포를 모델이 얼마나 잘 설명하는지 본다.
  • 마지막으로 KL divergence로 두 분포 차이를 해석한다.

본문

1. 엔트로피는 분포 자체의 불확실성을 잰다

어떤 분포가 예측하기 쉬운지 어려운지를 숫자로 나타내고 싶다고 합시다. 한 값에 거의 다 몰린 분포는 예측이 쉽고, 여러 값에 고르게 퍼진 분포는 예측이 어렵습니다.

엔트로피는 이 불확실성을 재는 값입니다. 이산분포 p의 엔트로피는 다음과 같습니다.

$$ H(p) = -\sum_x p(x)\log p(x) $$

이 식의 핵심은 두 부분입니다.

  • 확률이 큰 사건은 이미 어느 정도 예상 가능하므로 정보량이 작다.
  • 확률이 작은 사건은 드물어서 더 놀라운 사건이므로 정보량이 크다.

로그가 들어가는 이유는 이런 "놀라움"을 더하기 좋은 형태로 표현하기 위해서입니다. 그리고 앞의 마이너스 부호는 확률의 로그가 음수가 되기 때문에 전체 값을 양수처럼 읽기 쉽게 만들기 위한 장치입니다.

그래서 엔트로피는 다음처럼 읽을 수 있습니다.

  • 확률이 고르게 퍼져 있을수록 엔트로피가 크다.
  • 한쪽에 몰려 있을수록 엔트로피가 작다.

즉 엔트로피는 이 분포가 얼마나 예측하기 어려운가를 나타냅니다.

2. 공정한 동전이 더 큰 엔트로피를 가진다

동전 예를 생각하면 직관이 분명해집니다.

  • 공정한 동전은 앞면과 뒷면이 비슷하게 나온다.
  • 치우친 동전은 거의 항상 같은 면이 나온다.

공정한 동전은 결과를 미리 맞히기 어렵기 때문에 엔트로피가 큽니다. 반대로 거의 항상 앞면만 나오는 동전은 불확실성이 작아서 엔트로피가 작습니다.

이 점 때문에 엔트로피는 단순한 확률의 합이 아니라, 분포의 "퍼짐"과 "예측 어려움"을 함께 요약하는 값으로 쓰입니다.

3. 크로스엔트로피는 실제 분포를 모델이 설명하는 비용이다

이제 분포 하나가 아니라 두 분포를 보겠습니다. 실제 데이터가 따르는 분포를 p라고 하고, 모델이 예측한 분포를 q라고 합시다.

우리는 "모델 q가 실제 분포 p를 얼마나 잘 설명하는가"를 알고 싶습니다. 이때 크로스엔트로피를 씁니다.

$$ H(p,q) = -\sum_x p(x)\log q(x) $$

이 식은 엔트로피와 비슷하지만, 로그 안에 들어가는 것이 p가 아니라 q라는 점이 다릅니다. 즉 실제로는 p에서 데이터가 나오는데, 그 데이터를 q로 설명할 때 드는 평균 비용을 보는 것입니다.

모델이 실제 정답에 높은 확률을 주면 손실이 작고, 낮은 확률을 주면 손실이 커집니다. 그래서 크로스엔트로피는 예측 품질을 아주 민감하게 벌점화할 수 있습니다.

4. 분류 문제에서 크로스엔트로피가 중요한 이유

분류 문제에서는 정답이 보통 one-hot 형태입니다. 즉 정답 클래스 하나만 1이고, 나머지는 0입니다.

이 경우 크로스엔트로피는 정답 클래스에 모델이 준 확률만 남게 됩니다. 그래서 실제로는 다음과 같은 로그손실로 읽히게 됩니다.

  • 정답 클래스 확률이 크면 손실이 작다.
  • 정답 클래스 확률이 작으면 손실이 크다.

이 성질은 분류 문제에 아주 잘 맞습니다. 단순히 맞았는지 틀렸는지만 보는 것이 아니라, 얼마나 확신 있게 맞혔는지까지 반영하기 때문입니다.

특히 정답인데도 아주 작은 확률을 주면 큰 벌점을 받게 됩니다. 그래서 모델은 단순히 정답 클래스가 가장 크기만 한 것이 아니라, 정답에 충분히 높은 확률을 주도록 학습됩니다.

5. KL divergence는 두 분포 차이의 방향성 있는 측도다

이제 두 분포의 차이를 좀 더 직접적으로 보고 싶다면 KL divergence를 사용합니다.

$$ D_{\mathrm{KL}}(p | q) = \sum_x p(x)\log \frac{p(x)}{q(x)} $$

이 식은 p를 기준으로 볼 때, q가 얼마나 비효율적인 설명인지를 나타냅니다.

핵심 해석은 이렇습니다.

  • 값이 0이면 두 분포가 같다.
  • 값이 클수록 q가 p를 잘 설명하지 못한다.

하지만 KL divergence는 일반적인 거리와는 다릅니다. 가장 중요한 이유는 대칭이 아니기 때문입니다.

$$ D_{\mathrm{KL}}(p | q) \ne D_{\mathrm{KL}}(q | p) $$

왜냐하면 "실제 분포 p를 q로 설명하는 문제"와 "실제 분포 q를 p로 설명하는 문제"는 서로 다른 질문이기 때문입니다. 어떤 값을 기준으로 평균을 내느냐가 달라지기 때문입니다.

6. 크로스엔트로피와 KL divergence는 연결되어 있다

세 값은 서로 따로 노는 개념이 아닙니다. 다음 관계로 묶여 있습니다.

$$ H(p,q) = H(p) + D_{\mathrm{KL}}(p | q) $$

이 식이 중요한 이유는 분명합니다.

  • H(p)는 실제 분포 자체가 가진 불확실성이다.
  • D_KL은 모델이 실제 분포에서 얼마나 벗어났는지를 나타낸다.

따라서 실제 분포 p가 고정되어 있다면, 크로스엔트로피를 최소화하는 것은 결국 KL divergence를 줄이는 것과 같은 방향이 됩니다.

즉 모델 학습에서 크로스엔트로피를 줄인다는 말은, 모델 분포 q를 실제 분포 p에 더 가깝게 만든다는 말과 연결됩니다.

7. AI에서는 왜 핵심 손실함수가 되는가

이 개념들이 AI에서 중요한 이유는 매우 실용적입니다.

  • 분류 모델은 정답 클래스에 높은 확률을 주어야 한다.
  • 생성모델은 실제 데이터 분포와 비슷한 분포를 만들어야 한다.
  • 분포를 비교하고 예측 확률을 평가하려면 엔트로피 계열의 양이 자연스럽게 등장한다.

그래서 크로스엔트로피는 분류의 대표 손실함수가 되고, KL divergence는 변분추론, 생성모델, 분포 정렬 문제에서 반복해서 등장합니다.

즉 정보이론의 개념이 그대로 현대 AI의 학습 언어가 된 것입니다.

예제

  1. 엔트로피 비교하기 문제: 공정한 동전과 거의 항상 앞면이 나오는 동전 중 어느 쪽의 엔트로피가 더 큰가? 풀이: 공정한 동전은 결과를 예측하기 더 어렵기 때문에 엔트로피가 더 크다. 해설: 엔트로피는 분포의 불확실성 크기를 나타낸다.

  2. 크로스엔트로피 손실 해석하기 문제: 정답 클래스에 0.9를 준 모델과 0.1을 준 모델 중 어느 쪽의 크로스엔트로피 손실이 더 큰가? 풀이: 0.1을 준 경우가 훨씬 큰 손실을 가진다. 정답인데도 낮은 확률을 준 것이기 때문이다. 해설: 크로스엔트로피는 단순 정오답이 아니라 정답 확률의 질까지 평가한다.

  3. KL divergence의 뜻 설명하기 문제: KL divergence가 0이라는 것은 무엇을 뜻하는가? 풀이: 두 분포가 같다는 뜻이다.

$$ D_{\mathrm{KL}}(p | q) = 0 $$

해설: 모델 분포가 실제 분포를 정확히 따라가면 추가적인 비효율이 없다.

스스로 점검

연습 문제

  1. 엔트로피가 큰 분포와 작은 분포의 특징을 각각 설명하라.
  2. 크로스엔트로피가 분류 문제에 잘 맞는 이유를 설명하라.
  3. KL divergence가 왜 대칭이 아닌지 설명하라.
  4. 크로스엔트로피와 KL divergence의 관계를 설명하라.

복습 질문

  1. 엔트로피는 무엇을 재는가?
  2. 크로스엔트로피는 어떤 비용을 뜻하는가?
  3. KL divergence는 어떤 의미의 분포 차이를 나타내는가?

체크포인트

  1. 엔트로피, 크로스엔트로피, KL divergence의 역할을 구분할 수 있다.
  2. 분포의 불확실성과 예측 벌점의 차이를 설명할 수 있다.
  3. 크로스엔트로피가 KL divergence 최소화와 연결된다는 점을 이해한다.
  4. 정보이론 개념이 AI 손실함수로 이어진다는 점을 설명할 수 있다.