In training neural networks for classification, why is the log of the predicted probability of the true class used (cross-entropy loss) instead of using raw probabilities (e.g., 1- y’)?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "Because it strongly penalizes wrong high-probability predictions, gives useful gradients for learning, and avoids tiny numbers when handling sequence prediction.". Hàm mất mát cross-entropy cho một mẫu là −log(p), với p là xác suất mô hình gán cho lớp đúng. Khi p tiến về 0, tức mô hình tự tin đặt xác suất cao vào lớp sai, −log(p) tăng vọt về vô cực, trong khi 1 − p chỉ tối đa bằng 1, nên lỗi tự tin bị phạt nặng hơn nhiều. Kết hợp với softmax, gradient theo logit có dạng gọn p − y, không bị bão hoà khi mô hình sai nặng, nên học nhanh hơn. Với chuỗi, xác suất cả câu là tích nhiều số nhỏ dễ tràn dưới (underflow), còn log biến tích thành tổng các log ổn định về số học. Phát biểu "always equal to zero when the prediction is wrong" sai vì ngược lại: dự đoán sai cho loss lớn, loss chỉ về 0 khi p = 1. Phát biểu "guarantees that the predicted probabilities always sum to one" sai vì việc chuẩn hoá tổng bằng một là do lớp softmax, phép log không làm điều đó. Phát biểu "independent of the probability assigned to the true class" sai vì cross-entropy phụ thuộc trực tiếp và chỉ phụ thuộc vào chính xác suất của lớp đúng.

Cùng phần 4

Xuất hiện trong 1 bộ đề