Cross-Entropy — AI의 성적표
Cross-Entropy 손실 = −log(정답 확률). 정답 확률이 높을수록 손실이 작아진다.
모델이 '좋다'를 정답으로 예측해야 하는데 20% 확률만 줬다면 많이 틀린 것이다. 85% 확률을 줬다면 거의 맞춘 것이다. Cross-Entropy — 모델의 예측이 정답과 얼마나 다른지 측정하는 LLM의 성적표이다.
정답 확률이 높을수록 손실이 작아집니다
| 용어 | 설명 |
|---|---|
| 크로스 엔트로피 | 예측 확률과 정답 사이의 차이를 측정하는 손실 함수 |
| 손실 함수 | 모델의 예측이 정답과 얼마나 다른지 요약하는 함수 |
H(p, q) = −Σᵢ p(xᵢ) × log(q(xᵢ)) p는 정답 분포(예: '좋다'=1, 나머지=0), q는 모델의 예측 분포. 정답에 해당하는 위치의 확률이 높을수록 손실이 작습니다.
| 정답 확률 | 손실 | 해석 |
|---|---|---|
| 0.01 | 4.60 | 매우 틀림 |
| 0.20 | 1.61 | 많이 틀림 |
| 0.85 | 0.16 | 거의 맞음 |
| 1.00 | 0.00 | 완벽! |
학습이 진행되면서 손실이 어떻게 줄어드는지 봅시다
학습이 진행될수록 정답('좋다')의 확률이 높아지고, 손실이 1.6→0.8→0.16으로 줄어든다.
LLM의 사전훈련 목표는 Cross-Entropy 손실을 최소화하는 것
| LLM 학습 파이프라인 | 설명 |
|---|---|
| 1. 입력 | '오늘 날씨가' |
| 2. 정답 | '좋다' |
| 3. 모델 예측 | {'좋다': 0.2, '나쁘다': 0.3, ...} |
| 4. 손실 계산 | -log(0.2) = 1.61 (많이 틀림!) |
| 5. 역전파 | 파라미터 업데이트 |
| 6. 반복 학습 | 수조 번 반복 → 언어의 구조와 지식을 학습 |
모델의 예측이 정답과 얼마나 다른지를 Cross-Entropy로 직접 측정합니다
학습이 진행될수록 logits에서 정답의 점수가 높아지고, 손실이 감소한다.
| 수학적 정의 | 설명 |
|---|---|
| 공식 | H(p,q) = −Σ p(x)·log(q(x)) — 정답 분포와 예측 분포의 차이 |
| 정답 확률 높으면 | −log(0.99) ≈ 0.01 → 손실이 매우 작음 |
| 정답 확률 낮으면 | −log(0.01) ≈ 4.60 → 손실이 매우 큼 |
| LLM 학습에서의 역할 | 설명 |
|---|---|
| 학습 목표 | Cross-Entropy 손실을 최소화하는 것이 사전훈련의 본질 |
| 역전파 | 손실 → 기울기 계산 → 파라미터 업데이트 → 반복 |
| 수렴 | 수조 번 반복하여 손실이 충분히 작아지면 학습 종료 |
Cross-Entropy는 AI의 '성적표'입니다. 정답 확률이 높을수록 손실이 0에 가까워집니다!
모델이 정답에 99% 확률을 부여했다면 Cross-Entropy 손실은 어떨까요?
Cross-Entropy 손실이 0이 되면 모델이 정답을 100% 확률로 예측한 것이다.
모델이 정답에 0.5(50%) 확률을 부여했을 때 -log(0.5)의 값은 대략?
Cross-Entropy는 분류(classification) 문제에서만 사용할 수 있다.
Cross-Entropy 손실 코드에서 빈칸: loss = -np.___(predicted_prob)