시즌 1 · 알파고편 / PART 4 · PART 4 · 신경망 등장: 직관을 학습한다 / Ch 6 · 기보로 policy net 지도학습

손실 함수 — Cross Entropy

"다음 수 분류" 문제에서 표준 손실 함수는 Cross Entropy (교차 엔트로피).

📖 Cross Entropy 공식

예측 확률 분포 P_pred = [p₁, p₂, ..., p_n], 정답이 클래스 c (one-hot)면:

Loss = −log(p_c)

"정답 클래스의 예측 확률이 낮을수록 손실이 큼". 직관적:

  • 정답에 0.99 확률 → loss ≈ 0.01 (작음)
  • 정답에 0.5 확률 → loss ≈ 0.69 (중간)
  • 정답에 0.001 확률 → loss ≈ 6.9 (큼)
🎯 예시

보드를 보고 "사람이 (3,3)에 뒀다"가 정답이라고 하자. 신경망의 예측:

  • 학습 초기 (균등): p_(3,3) ≈ 0.003 → loss ≈ 5.8 — 크게 틀림
  • 학습 중기: p_(3,3) ≈ 0.05 → loss ≈ 3.0
  • 학습 후: p_(3,3) ≈ 0.4 → loss ≈ 0.92 — 잘 맞춤

학습이 진행될수록 loss 감소 = 신경망이 사람의 수를 점점 잘 예측.

💡 왜 log를 쓰나

log를 안 쓰고 단순히 (1 - p_c)를 손실로 쓰면? 그래도 0.99 → 0.01, 0.001 → 0.999 변별 가능. 그러나 매우 작은 확률에 대한 페널티가 약함.

log(0.001) = -6.9 vs log(0.05) = -3.0. 매우 잘못된 예측에 큰 그래디언트 → 빨리 수정. 알파고 같은 큰 모델에 필수.

코드로 보자.