Tudásdistilláció
term_id: knowledge_distillation
Category: training_techniques
Definition
A tudásdistilláció egy gépi tanulási módszer, amelyet egy nagy, komplex neurális hálózat (tanár) tömörítésére használnak egy kisebb, hatékonyabb hálózattá (diák). A diákmodellt arra
Summary
A tudásdistilláció egy modellsűrítés technika, ahol egy kisebb diákmodell megtanulja utánozni egy nagyobb tanármodell viselkedését.
Key Concepts
- Tanár-diák modell
- Modellsűrítés
- Lágy célok (Soft targets)
- Hatékonyság
Use Cases
- Modellek telepítése él eszközökön
- A következtetési késleltetés csökkentése
- Felhőalapú számítási költségek csökkentése
Code Example
import torch
import torch.nn as nn
def distillation_loss(student_logits, teacher_logits, temperature=2.0):
T = temperature
student_probs = nn.functional.softmax(student_logits / T, dim=1)
teacher_probs = nn.functional.softmax(teacher_logits / T, dim=1)
return nn.functional.kl_div(
nn.functional.log_softmax(student_logits / T, dim=1),
teacher_probs,
reduction='batchmean'
) * (T * T)