Tính độ phân kỳ Kullback-Leibler giữa hai phân phối (KL Divergence)
Trong lý thuyết thông tin và học tăng cường với phản hồi từ con người (RLHF), độ phân kỳ Kullback-Leibler (KL Divergence / Relative Entropy) đo lường sự khác biệt giữa phân phối xá…
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: fused-softmax-cross-entropy-loss.
Nội dung đề bài
Mô tả bài toán
Trong lý thuyết thông tin và học tăng cường với phản hồi từ con người (RLHF), độ phân kỳ Kullback-Leibler (KL Divergence / Relative Entropy) đo lường sự khác biệt giữa phân phối xác suất dự đoán P và phân phối chuẩn Q: DKL(P ∥ Q) = ∑x ∈ X P(x) log ( P(x)Q(x) ) = ∑x ∈ X P(x) ( log P(x) - log Q(x) ) Các tính chất toán học quan trọng:
- Bất đẳng thức Gibbs: DKL(P ∥ Q) ≥ 0 với mọi P, Q.
- DKL(P ∥ Q) = 0 ⇔ P = Q.
- Bất đối xứng: DKL(P ∥ Q) ≠ DKL(Q ∥ P) (không phải là một khoảng cách Metric thực thụ).
- Quy ước giới hạn: 0 log 0q = 0. Nếu tồn tại x mà Q(x) = 0 nhưng P(x) > 0, DKL = +∞.
Hãy viết hàm kl_divergence(P: np.ndarray, Q: np.ndarray, eps: float = 1e-12) -> float:
P,Q: hai mảng NumPy 1D cùng kích thước chứa xác suất hợp lệ (tổng mỗi mảng bằng 1.0 trong phạm vi sai số 10-5).eps: hằng số nhỏ cộng vào mẫu số để chống chia cho 0 khi cần.- Trả về giá trị DKL(P ∥ Q) dạng float không âm.
Input
- Hàm
kl_divergence(P,Q,eps): Các tham số đầu vào chứa dữ liệu Tensor/mảng NumPy hoặc giá trị siêu tham số tương ứng.
Output
- Hàm
kl_divergence: Trả về kết quả kiểufloattheo đúng đặc tả kỹ thuật và kích thước quy định.
Ràng buộc
- Thời gian chạy tối đa: 6000ms.
- Giới hạn bộ nhớ: 512MB.
- Dữ liệu đầu vào hợp lệ theo đúng kiểu dữ liệu và miền giá trị được mô tả.
Ví dụ 1
Input
P = np.array([0.2, 0.5, 0.3])
kl = kl_divergence(P, P)Output
0Giải thích
Hàm/lớp được gọi với các tham số mẫu trên và trả về kết quả số học / kích thước tensor tương ứng theo đúng thiết kế.
Ví dụ 2
Input
P = np.array([0.5, 0.5])
Q = np.array([0.25, 0.75])
kl = kl_divergence(P, Q)Output
0.143841Giải thích
Hàm/lớp được gọi với các tham số mẫu trên và trả về kết quả số học / kích thước tensor tương ứng theo đúng thiết kế.
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.
