“놀라움”을 수로 잴 수 있을까요? 드문 일이 일어나면 많이 놀라고, 뻔한 일이 일어나면 놀라지 않습니다. 섀넌은 이 놀라움을 −logp로 정의해 정보이론을 세웠고, 그 평균이 엔트로피입니다. 오늘날 분류 모델의 손실(교차 엔트로피), 언어 모델의 평가(퍼플렉서티), 생성 모델의 목표(KL 발산), 표현 학습(상호정보량)이 모두 이 장의 양입니다.
11.1 정보량과 엔트로피
정의 11.1. 확률 p인 사건의 정보량(information content)은 I=−log2p 비트입니다.
동전 앞면(p=21)은 1비트, 주사위 6(p=61)은 약 2.585비트입니다. 독립 사건이 함께 일어나면 확률은 곱해지고 정보량은 더해집니다. 로그를 쓰는 이유입니다. 밑을 e로 쓰면 단위는 내트(nat)이고, 머신러닝 코드는 보통 자연로그를 씁니다.
정의 11.2 (엔트로피). 이산 확률변수 X의 엔트로피(entropy)는 정보량의 기댓값입니다.
H(X)=−x∑p(x)logp(x).
(0log0=0으로 약속합니다.)
예제 11.3.
- 공정한 동전: H=1비트. 앞면 확률 0.9인 동전: H=−0.9log20.9−0.1log20.1≈0.469비트.
- 결과가 n가지이고 균등하면 H=log2n.
정리 11.4. 0≤H(X)≤log2n(n은 결과의 수). 최솟값은 결과가 확정될 때, 최댓값은 균등분포일 때입니다.
엔트로피는 불확실성의 크기이고, 섀넌의 원천 부호화 정리에 따르면 X를 압축할 때 기호당 필요한 평균 비트 수의 하한입니다.
11.2 교차 엔트로피
정의 11.5. 참 분포 p의 데이터를 모델 분포 q로 부호화할 때의 평균 비트 수
H(p,q)=−x∑p(x)logq(x)
를 교차 엔트로피(cross-entropy)라 합니다.
분류에서 정답이 원-핫 벡터 p이면 H(p,q)=−logq(정답)이고, 이것이 교차 엔트로피 손실입니다. 데이터 전체의 평균은 7장의 음의 로그 가능도를 n으로 나눈 것과 같습니다.
퍼플렉서티(perplexity)는 2H(p,q)(자연로그이면 eH)입니다. “모델이 매번 평균 몇 개의 후보 사이에서 헷갈리는가”로 읽습니다.
11.3 KL 발산
정의 11.6 (KL 발산).
DKL(p∥q)=x∑p(x)logq(x)p(x)=H(p,q)−H(p).
q로 p를 흉내낼 때 더 드는 비트 수입니다.
정리 11.7 (깁스 부등식). DKL(p∥q)≥0이고, 등호는 p=q일 때만입니다.
증명 개요. −log가 볼록함수이므로 옌센 부등식 E[−logpq]≥−logE[pq]=−log∑q=0. □
그래서 H(p)가 고정일 때 교차 엔트로피를 줄이는 것은 KL 발산을 줄이는 것, 곧 모델 q를 데이터 분포 p에 가깝게 하는 것입니다. 주의: KL은 대칭이 아니라 D(p∥q)=D(q∥p)이고, 그래서 거리가 아니라 “발산”이라 부릅니다.
예제 11.8. p=(21,21), q=(43,41)이면 D(p∥q)=21log23/41/2+21log21/41/2=21(log232+1)≈0.2075비트.
11.4 결합·조건부 엔트로피와 상호정보량
- 결합 엔트로피 H(X,Y)=−∑p(x,y)logp(x,y).
- 조건부 엔트로피 H(Y∣X)=H(X,Y)−H(X): X를 안 뒤 남은 Y의 불확실성.
정의 11.9 (상호정보량).
I(X;Y)=H(Y)−H(Y∣X)=DKL(p(x,y)∥p(x)p(y)).
X를 알면 Y의 불확실성이 얼마나 줄어드는가입니다. I≥0이고, 0이면 독립입니다. 상관계수와 달리 비선형 관계도 잡습니다.
예제 11.10. X가 공정한 동전이고 Y=X이면 I=H(Y)−0=1비트. Y가 독립인 다른 동전이면 I=0.
11.5 이 장의 요약
- 정보량 −logp, 엔트로피 H=E[−logp], 균등분포에서 최대.
- 교차 엔트로피 H(p,q) = 분류 손실 = 평균 NLL. 퍼플렉서티 =2H.
- DKL(p∥q)=H(p,q)−H(p)≥0, 비대칭.
- 상호정보량 = 불확실성의 감소.
쓰이는 곳. 분류·언어 모델의 손실과 퍼플렉서티, 지식 증류(교사 분포와의 KL), VAE의 ELBO(재구성 + KL), 강화학습의 PPO·RLHF(정책 사이 KL 벌점), 결정 트리의 정보 이득, 대조 학습(InfoNCE는 상호정보량의 하한), 통신공학의 채널 용량, 통계역학의 엔트로피(볼츠만의 S=klnW와 같은 꼴)가 이 장의 양입니다.
문제
11.1 [계산] · 확인 문제
결과가 8가지이고 모두 같은 확률인 확률변수의 엔트로피는 몇 비트인가요?
정답
풀이
log28=3비트입니다.
11.2 [계산] · 확인 문제
분포 (21,41,81,81)의 엔트로피는 몇 비트인가요?
정답
풀이
21⋅1+41⋅2+81⋅3+81⋅3=1.75비트입니다.
11.3 [계산] · 확인 문제
3가지 클래스 분류에서 모델이 (0.7,0.2,0.1)을 내고 정답이 첫째 클래스일 때, 교차 엔트로피 손실을 자연로그로 구합니다. (소수 넷째 자리까지)
정답
풀이
−ln0.7≈0.3567입니다.
11.4 [계산] · 확인 문제
p=(21,21), q=(43,41)에 대해 비트 단위로 구합니다. (소수 넷째 자리까지)
| 값 |
답 |
| DKL(p∥q) |
[?] |
| DKL(q∥p) |
[?] |
정답
풀이
첫째는 예제 11.8. 둘째는 43log21/23/4+41log21/21/4=43log21.5−41≈0.1887입니다. 둘이 달라 KL이 비대칭임을 보여 줍니다.
11.5 [증명]
DKL(p∥q)=H(p,q)−H(p)임을 보입니다.
풀이
∑plogqp=∑plogp−∑plogq=−H(p)+H(p,q)입니다.