이 강의의 목표는 불확실성, 예측 비용, 분포 차이를 정보량으로 읽는 법을 아주 기초부터 이해하는 것입니다.
먼저 오늘의 핵심 식을 봅니다.
H(p)=−i∑pilogpi
이 식을 외우기 전에, 식 안의 말과 기호를 먼저 하나씩 풀어야 합니다.
| 기호 |
읽는 법 |
뜻 |
| pi |
피 아이 |
i번째 사건이 일어날 참 확률 |
| qi |
큐 아이 |
모델이 예측한 확률 |
| −logpi |
마이너스 로그 pi |
사건 i의 정보량(놀라움) |
| H(p) |
엔트로피 |
참 분포 p의 평균 불확실성 |
| H(p,q) |
cross-entropy |
p를 q로 설명할 때의 평균 비용 |
| D(p∥q) |
KL divergence |
q로 p를 대신할 때의 추가 비용 |
로그의 밑을 2로 쓰면 단위는 비트(bit)입니다. 이 강의의 정보량 예시는 비트를 기준으로 합니다.
날씨가 항상 맑은 지역은 예측이 쉽습니다. 맑음, 비, 눈이 비슷하게 나오는 지역은 더 불확실합니다. 엔트로피는 이 평균 불확실성을 하나의 숫자로 재는 값입니다.
먼저 사건 하나의 정보량을 정합니다. 흔한 일이 일어나면 놀랍지 않고, 드문 일이 일어나면 놀랍습니다. 그래서 정보량은 확률 pi가 작을수록 커야 합니다. 또 서로 독립인 두 사건이 함께 일어나면 정보량은 더해져야 합니다. 확률은 곱해지는데(p⋅q) 정보량은 더해지려면(log의 성질), 다음 정의가 자연스럽습니다.
I(i)=−logpi
pi가 1이면 −log1=0이라 놀라움이 없고, pi가 작아지면 정보량이 커집니다. 확률이 낮을수록 놀라움이 크다는 직관과 맞습니다.
엔트로피는 이 정보량의 평균, 즉 참 확률 pi로 가중한 기댓값입니다.
H(p)=i∑piI(i)=i∑pi(−logpi)=−i∑pilogpi
그래서 엔트로피는 "이 분포에서 사건을 하나 볼 때 평균적으로 얼마나 놀라는가"를 나타냅니다.
이제 참 분포 p를 우리가 가진 예측 분포 q로 설명한다고 합시다. 사건 i의 정보량을 참값 −logpi 대신 예측값 −logqi로 매기고, 이것을 참 확률 pi로 평균하면 cross-entropy가 됩니다.
H(p,q)=−i∑pilogqi
이것은 "예측 분포 q로 참 분포 p의 사건을 설명할 때 드는 평균 비용"입니다. q가 p와 같으면 비용이 최소이고, q가 참값에서 멀수록 비용이 커집니다. 그래서 분류 모델의 손실로 씁니다.
KL divergence는 이 추가 비용, 즉 cross-entropy에서 참 분포 고유의 불확실성 H(p)를 뺀 나머지입니다.
D(p∥q)=H(p,q)−H(p)=i∑pilogqipi
D(p∥q)는 항상 0 이상이고, p=q일 때만 0입니다. "q가 p에서 얼마나 벗어났는가"를 재는 값이며, p와 q의 자리를 바꾸면 값이 달라지므로 방향이 있는 차이입니다.
앞뒤가 각각 p=21인 공정한 동전의 엔트로피를 밑 2로 구합니다.
H(p)=−(21log221+21log221)=−(21⋅(−1)+21⋅(−1))=1 bit
공정한 동전은 정확히 1비트만큼 불확실합니다. 결과를 알려면 예/아니오 질문 한 번이 필요하다는 뜻입니다.
반대로 앞면이 나올 확률이 p=1인 치우친 동전은
H=−(1⋅log21+0⋅log20)=0 bit
로 불확실성이 없습니다(0log0은 0으로 봅니다). 확률이 한쪽으로 몰릴수록 엔트로피가 작아집니다.
3개 클래스 분류에서 정답이 첫 번째 클래스라고 합시다. 참 분포는 원-핫 p=(1,0,0)입니다. cross-entropy는
H(p,q)=−i∑pilogqi=−logq1
로, 오직 정답 클래스에 준 확률 q1만 남습니다.
모델이 정답에 q1=0.9를 주면 손실은
−log20.9≈0.152 bit
로 작습니다. 반대로 정답에 q1=0.1만 주면
−log20.1≈3.32 bit
로 손실이 훨씬 큽니다(자연로그로 재면 −ln0.1≈2.303). 정답에 낮은 확률을 줄수록 손실이 커진다는 것이 수치로 확인됩니다.
참 분포 p=(0.5,0.5), 예측 q=(0.9,0.1)의 KL을 구합니다.
D(p∥q)=0.5log20.90.5+0.5log20.10.5
=0.5⋅(−0.848)+0.5⋅(2.322)=0.737 bit
두 분포가 다르므로 0보다 큽니다. 만약 q=p=(0.5,0.5)였다면 각 항의 log(1)=0이 되어 D=0입니다. KL은 예측이 참값과 정확히 같을 때만 0이 됩니다.
- 각 사건의 참 확률 pi를 봅니다.
- 드문 사건일수록 정보량 −logpi가 크다고 봅니다.
- 평균 정보량으로 엔트로피 H(p)=−∑pilogpi를 구합니다.
- 정답에 낮은 확률 qi를 주면 cross-entropy −∑pilogqi가 커집니다.
- 두 분포의 차이를 D(p∥q)=∑pilogqipi로 읽습니다.
- 정보량 −logpi는 드문 사건일수록 큽니다.
- 엔트로피 H(p)=−∑pilogpi는 정보량의 평균, 곧 평균 불확실성입니다.
- cross-entropy H(p,q)=−∑pilogqi는 q로 p를 설명하는 평균 비용입니다.
- KL D(p∥q)=∑pilogqipi는 그 추가 비용이며 항상 0 이상, 방향이 있습니다.
- 공정한 동전은 H=1비트, 정답에 0.1을 주면 손실 −log20.1≈3.32비트입니다.
H(p)=−i∑pilogpi
- 정보량을 왜 −logpi로 정하는지, 곱셈과 덧셈의 관계로 설명할 수 있는가?
- 엔트로피가 정보량의 평균이라는 것을 식으로 쓸 수 있는가?
- 공정한 동전의 엔트로피가 왜 1비트인지 계산할 수 있는가?
- 정답에 q1=0.1을 주면 cross-entropy 손실이 얼마인지 구할 수 있는가?
- KL이 왜 방향을 가진 차이인지 말할 수 있는가?