Tính Hàm Mất Mát Categorical Cross-Entropy Kèm Label Smoothing
Trong huấn luyện mô hình phân loại (như nhận diện ảnh hay phân loại sắc thái văn bản), hàm mất mát Categorical Cross-Entropy là tiêu chuẩn vàng. Để tránh mô hình quá tự tin vào nhã…
Tiến độ của tôi ở bài này
Điểm được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: one hot encoding, log loss, clip eps.
Nội dung đề bài
Mục tiêu kiến thức
- Vector hóa hoàn toàn phép tính hàm mất mát phân loại đa lớp Categorical Cross-Entropy.
- Tự động chuyển đổi nhãn số nguyên 1D (Sparse labels) sang ma trận xác suất One-Hot 2D bằng indexing.
- Kỹ thuật làm mịn nhãn (Label Smoothing) nhằm giảm thiểu hiện tượng Overconfidence của mô hình phân loại.
Mô tả bài toán
Trong huấn luyện mô hình phân loại (như nhận diện ảnh hay phân loại sắc thái văn bản), hàm mất mát Categorical Cross-Entropy là tiêu chuẩn vàng. Để tránh mô hình quá tự tin vào nhãn cứng 0 và 1, kỹ thuật Label Smoothing làm mềm phân phối mục tiêu: ysmooth = (1 - α) y + αC với α là hệ số làm mịn và C là số lớp phân loại.
Hãy viết hàm: categorical_cross_entropy(y_true: np.ndarray, y_pred: np.ndarray, label_smoothing: float = 0.0, eps: float = 1e-15) -> float
Quy tắc:
- Chuẩn hóa nhãn
y_true: y_predlà ma trận 2 chiều shape(N, C)chứa xác suất dự đoán (mỗi hàng có tổng xấp xỉ 1).- Nếu
y_truelà mảng 1 chiều shape(N,)gồm các số nguyên: tự động chuyển thành ma trận One-Hot shape(N, C). - Nếu
y_truelà ma trận 2 chiều shape(N, C): giữ nguyên. - Áp dụng Label Smoothing:
- Nếu
label_smoothing > 0: áp dụng công thức làm mịn trên ma trận One-Hot. - Kẹp xác suất dự đoán:
- Kẹp giá trị của
y_pred: yclipped = clip(ypred, ε, 1.0 - ε). - Tính mất mát trung bình:
- Tính tổng tổn thất dọc theo trục lớp (C), sau đó lấy trung bình cộng trên toàn batch (N).
- Trả về số thực
float.
Input
- Các tham số truyền vào hàm/lớp categorical_cross_entropy hoặc dữ liệu đầu vào theo định dạng mô tả.
Output
- Kết quả trả về của hàm/lớp categorical_cross_entropy hoặc dữ liệu in ra màn hình theo đúng đặc tả.
Ràng buộc
- Thời gian chạy tối đa: 1000ms.
- Giới hạn bộ nhớ: 256MB.
Ví dụ 1
Input
categorical_cross_entropy(y_true=[0, 1], y_pred=[[0.9, 0.1], [0.2, 0.8]], label_smoothing=0.0)Output
TrueGiải thích
Hàm được gọi với các tham số mẫu trên và trả về kết quả chính xác theo yêu cầu.
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
