Chắt Lọc Tri Thức (Knowledge Distillation) – Hàm Mất Mát Soft Targets
Knowledge Distillation (Hinton 2015) huấn luyện student model học từ teacher model bằng cách dùng *soft labels* (xác suất mềm) thay vì hard labels (one-hot).
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: cross-entropy-loss, softmax-temperature-scaling.
Nội dung đề bài
Mục tiêu kiến thức
Knowledge Distillation (Hinton 2015) huấn luyện student model học từ teacher model bằng cách dùng *soft labels* (xác suất mềm) thay vì hard labels (one-hot).
Hàm mất mát KD: LKD = α · T2 · KL(σ(zs/T) | σ(zt/T)) + (1-α) · CE(zs, y)
Trong đó:
- T: temperature (làm mềm phân phối, T > 1)
- zs: student logits, zt: teacher logits
- α: trọng số cân bằng giữa soft và hard loss
- T2: nhân bù gradient (vì KL giảm 1/T2 so với CE khi T lớn)
Yêu cầu
def knowledge_distillation_loss(
student_logits: torch.Tensor,
teacher_logits: torch.Tensor,
labels: torch.Tensor,
temperature: float = 4.0,
alpha: float = 0.7
) -> torch.Tensor:
passInput
- Hàm
knowledge_distillation_loss(student_logits,teacher_logits,labels,temperature,alpha): 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
knowledge_distillation_loss: Trả về kết quả kiểutorch.Tensortheo đú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: 2000ms.
- Giới hạn bộ nhớ: 256MB.
- 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
B, C = (4, 10)
s_logits = torch.randn(B, C)
t_logits = torch.randn(B, C)
labels = torch.randint(0, C, (B,))
loss = knowledge_distillation_loss(s_logits, t_logits, labels)Output
1.1402Giả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
logits = torch.zeros(4, 3)
logits[:, 0] = 10.0
labels = torch.zeros(4, dtype=torch.long)
loss = knowledge_distillation_loss(logits, logits, labels, temperature=1.0, alpha=1.0)Output
-0.Giả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.
