맨날 nn.CrossEntropyLoss만 쓰다가, 문득 논문을 읽는데 KL Divergence가 나오고 Information Bottleneck이 나오고 갑자기 VAE가 튀어나오면 머리가 어지럽다.
근데 사실 이 개념들은 따로 노는 게 아니라, 하나의 거대한 스토리로 연결되어 있다는 걸 이해하게 되었다. 오늘은 그 흐름을 "직관" 위주로 쭉 훑어보려고 한다.
1. Cross Entropy (CE): "확신에 찬 오답을 처단하라"
분류(Classification) 문제 풀 때 숨 쉬듯이 쓰는 게 바로 Cross Entropy다. 근데 왜 하필 MSE(거리)가 아니라 로그(log)가 들어간 엔트로피를 쓸까?
핵심 직관
Cross Entropy는 단순히 "틀렸다/맞았다"를 채점하는 게 아니다. "얼마나 확신을 가지고 틀렸냐?"를 본다.

- 정답(y)은 어차피 1이니까, 결국 -log(정답 확률)만 남는다.
- 정답 확률을 1.0(100%)이라고 했으면? log(1)=0이니까 Loss는 0. (완벽)
- 정답 확률을 0.01(1%)**이라고 했으면? -log(0.01)은 엄청 큰 양수가 돼서 Loss 폭발.
즉, "모르면 가만히나 있지, 왜 틀린 답을 99%라고 확신해?" 라며 회초리를 드는 게 바로 Cross Entropy라고 이해할 수 있다.
2. KL Divergence (KLD): "분포와 분포 사이의 거리"
자, 이제 시야를 좀 넓혀보자. Cross Entropy는 사실 KL Divergence의 일부분이었다.
핵심 직관
KL Divergence는 두 확률 분포 P(정답/선생님)와 Q(예측/학생)가 얼마나 다른지를 측정하는 척도이다.
정보이론에서는 "Q를 써서 P를 설명할 때 낭비되는 정보량"이라고도 한다.
수식을 뜯어보면 충격적인 사실이 나온다.

- H(P) (엔트로피): 정답 데이터가 가진 원래 불확실성. (우리가 손댈 수 없는 고정값 상수)
- H(P, Q) (크로스 엔트로피): 우리가 줄이려는 Loss.
결국, "Cross Entropy를 최소화한다"는 말은 수학적으로 "KL Divergence를 최소화한다"는 말과 완전히 똑같다. (상수만 뺀 거니까.)
요약: > * Cross Entropy: 정답지랑 내 답안지 비교하기.
- KL Divergence: 정답 분포랑 예측 분포의 차이(거리) 재기.
3. Information Bottleneck (IB): "핵심만 남기고 버려라"
KL Divergence라는 '측정 도구'를 얻었으니, 이제 이걸로 철학을 세워볼 수 있다. 그게 바로 Information Bottleneck이다.
핵심 직관
딥러닝 모델이 천재가 되려면 어떻게 해야 할까?
입력 데이터(X)를 무작정 다 외우는 게 아니라, 정답(Y)을 맞추는 데 필요한 핵심 정보(Z)만 남기고 나머지는 버려야(압축해야) 한다.
이걸 수식으로 구현할 때 KL Divergence가 쓰인다.

- Prediction: Z를 보고 Y를 잘 맞춰라. (정보를 보존해!)
- Compression: 하지만 Z가 X를 너무 많이 담지는 마라. (X와 Z의 상호정보량을 줄여라 = KL 최소화)
마치 깔때기(Bottleneck) 처럼, 쓸데없는 배경 노이즈는 다 걸러내고 '엑기스'만 남기라는 취지이다. 이 원리가 적용되면 모델이 과적합(Overfitting)도 안 되고 일반화 성능이 올라갈 수 있다.
4. VAE (Variational Autoencoder): "점(Point)이 아니라 구름(Distribution)으로"
마지막 종착역인 VAE이다. 위에서 언급된 모든 개념이 여기서 합쳐진다.
그냥 오토인코더(AE)는 데이터를 잠재 공간의 점(Point) 하나로 압축한다. 근데 VAE는 데이터를 확률 분포(Distribution)로 압축하고 싶어 한다. 왜? 그래야 새로운 데이터를 생성할 수 있으니까.
핵심 직관 (Loss 함수의 의미)
VAE의 Loss는 두 가지의 줄다리기야.

- Reconstruction Loss: "입력 이미지랑 똑같이 그려내!" (안 그러면 혼남)
- 이것만 있으면 모델은 그냥 좌표를 외워버린다. (분산을 0으로 만듦)
- KL Divergence: "근데 잠재 변수들의 분포가 표준정규분포(Normal Distribution) 모양이랑 달라지면 혼남!"
- 이 항이 있기 때문에 데이터들이 잠재 공간 가운데(0,0)로 예쁘게 모이고, 둥실둥실한 구름 형태(분산)를 가지게 된다.
이 KL Divergence 덕분에 VAE의 잠재 공간은 매끄럽게 연결(Continuous)되고, 웃는 얼굴과 우는 얼굴 사이를 지나가면 "울먹거리는 얼굴"이 자연스럽게 생성된다.
흐름 정리
- Cross Entropy: 정답을 맞추기 위해 확률의 관점에서 채점함.
- KL Divergence: 그 채점 방식의 본질이 사실 두 분포 사이의 거리를 줄이는 것임.
- Information Bottleneck: 그 거리 재는 도구(KL)를 써서, "필요 없는 정보는 버리자"는 전략을 세움.
- VAE: 그 전략을 사용해서 데이터를 점(Point)이 아닌 분포(Distribution)로 학습하고, 새로운 데이터를 생성해냄.
결국 다 따로 노는 공식이 아니라, "정보를 어떻게 다룰 것인가?"에 대한 깊이 있는 고민의 발전 과정이었다고 해석할 수 있다.

참고자료: https://hoya012.github.io/blog/cross_entropy_vs_kl_divergence/
An introduction to entropy, cross entropy and KL divergence in machine learning
정보이론의 기본 개념이자 머신러닝에서 자주 등장하는 entropy, cross entropy, KL divergence를 정리하였습니다.
hoya012.github.io
https://rain-bow.tistory.com/entry/CrossEntropy
CrossEntropy 와 KL-divergence
CrossEntropy와 KL divergence는 Machine Learning에서 가장 많이 접하게 되는 개념들입니다. 요즘 Application level에서의 연구를 하다보니 기본적인 ML지식이 많이 부족한 기분이 들어, 본 포스트에서는 CrossEntr
rain-bow.tistory.com
'딥러닝' 카테고리의 다른 글
| Transformers & Self-Attention 아주아주 구체적인 수식과 맥락정리 [CS224N Lecture 7 정리] (1) | 2026.01.03 |
|---|---|
| LSTM을 수식적으로 구조적으로 완벽히 이해해보자 [CS224N Lecture 6 정리] (0) | 2026.01.03 |