Bỏ qua, tới nội dung chính
Luxara Academy

Bài archive — trả lời một câu hỏi

Hàm mất mát: entropy cho phân loại

Vì sao dùng entropy chéo thay vì (1 − p)² khi nhãn là 0 hoặc 1?

Với nhãn nhị phân y∈{0,1}y \in \{0, 1\} và xác suất dự đoán pp, entropy chéo nhị phân là:

L=−[yln⁡p+(1−y)ln⁡(1−p)]L = -\bigl[y \ln p + (1-y)\ln(1-p)\bigr]

Nếu y=1y = 1 và mô hình cho p=0,99p = 0{,}99, L≈0,01L \approx 0{,}01 — gần đúng. Cùng nhãn mà p=0,01p = 0{,}01 (sai rất chắc) thì L≈4,6L \approx 4{,}6 — phạt mạnh.

So với (1−p)2(1-p)^2 khi y=1y=1: tại p=0,01p=0{,}01 bình phương chỉ ≈0,98\approx 0{,}98, chưa đủ “la hét” để gradient sửa. Entropy phạt logarit, đẩy mô hình ra khỏi dự đoán quá tự tin sai.

Ví dụ hai thư, nhãn rác (y=1)(y=1):

ppLL
0,90,11
0,12,30

Tổng mất mát trung bình trên 2 mẫu là (0,11+2,30)/2≈1,21(0{,}11 + 2{,}30)/2 \approx 1{,}21. Đó là cách khóa Deep Learning đo “độ tệ” trước khi viết vòng backward. Khi bạn thấy loss giảm chậm, kiểm tra xem mô hình có đang khóa ở p≈0,5p \approx 0{,}5 vì sigmoid chưa học được hay không — entropy sẽ ở quanh ln⁡2≈0,69\ln 2 \approx 0{,}69 cho mỗi mẫu nhị phân.