CH 41Phase 6 · Advanced AI Mathematics

Entropy & Cross Entropy

১৫–২৫ মিনিট বাংলা · Math · Python
📖 একটি ছোট গল্প

আপনি একটি classifier তৈরি করেছেন। সে প্রতিটি ভুল উত্তর কতটা "আত্মবিশ্বাসের সাথে" দিচ্ছে — সেটাই Cross-Entropy। PyTorch-এর nn.CrossEntropyLoss আসলে Shannon-এর ১৯৪৮ সালের সূত্রের সরাসরি প্রয়োগ।

Entropy: গড় Information

H(P) = -Σ P(x) log P(x)
  • একটি distribution-এর গড় "অনিশ্চয়তা"
  • Uniform distribution → maximum entropy
  • One-hot (নিশ্চিত) distribution → H = 0

উদাহরণ: ফেয়ার coin-এর H = 1 bit; biased coin (0.9, 0.1)-এর H ≈ 0.47 bit।

Cross-Entropy

সত্য distribution P, model-এর prediction Q হলে:

H(P, Q) = -Σ P(x) log Q(x)

Classification-এ true label one-hot, তাই sum কমে দাঁড়ায় -log Q(y_true)। মডেল ঠিক class-কে যত কম probability দেয়, loss তত বড়।

💡 ইনসাইট
সম্পর্ক: H(P, Q) = H(P) + KL(P‖Q)। H(P) fixed হওয়ায় cross-entropy minimize করা মানে KL divergence minimize করা।

PyTorch Implementation

pythonPython · NumPy
import torch
import torch.nn.functional as F

logits = torch.tensor([[2.0, 0.5, 0.3]])      # raw scores
target = torch.tensor([0])                     # true class

# Manual cross-entropy
probs  = F.softmax(logits, dim=-1)
loss_manual = -torch.log(probs[0, target])

# PyTorch built-in (combines log_softmax + NLL)
loss_builtin = F.cross_entropy(logits, target)

print(loss_manual.item(), loss_builtin.item())  # equal

Summary · সারসংক্ষেপ

  • Entropy = একটি distribution-এর গড় অনিশ্চয়তা।
  • Cross-Entropy = সত্য বনাম prediction-এর "ভুল বিশ্বাসের" পরিমাপ।
  • প্রায় সব classification model-এর default loss এটি।