teacher-student setup
En træningsteknik, hvor en stor, prætrænet model (læreren) vejleder en mindre model (eleven) ved at overføre viden via bløde labels eller logits.
Kort fortalt
En lille model lærer af en stor models output, så den opnår lignende præstation med færre parametre.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
2- 1
En træningsarkitektur, hvor en stor, prætrænet model (lærer) genererer bløde sandsynligheder (soft targets), som en mindre model (elev) lærer at efterligne, ofte kombineret med hårde labels.
- I teacher-student setup bruges logits fra lærerens sidste lag som læringsmål for eleven. — Hinton et al., 2015
- Eleven trænes med et destillationstab, der minimerer KL-divergensen mellem lærerens og elevens bløde output.
- 2
Generelt: enhver ramme, hvor en model (lærer) guider en anden model (elev) gennem output, labels eller reinforcement learning-signaler.
- I reinforcement learning med teacher-student setup giver læreren ekspertsignaler til at accelerere elevens indlæring.
Hvornår bruges det
Bruges primært til modelkomprimering, hvor en lærer (fx en stor transformer) destillerer viden til en elevmodel, som kan implementeres med lavere beregningsomkostninger. Også anvendt i semi-superviseret læring og reinforcement learning.
Kodeeksempel
import torch
import torch.nn.functional as F
def distillation_loss(student_logits, teacher_logits, hard_labels, T=2.0, alpha=0.7):
soft_loss = F.kl_div(
F.log_softmax(student_logits / T, dim=1),
F.softmax(teacher_logits / T, dim=1),
reduction='batchmean'
) * (T ** 2)
hard_loss = F.cross_entropy(student_logits, hard_labels)
return alpha * soft_loss + (1 - alpha) * hard_lossEksempel på destillationstab, der kombinerer bløde mål fra læreren med hårde labels.
Oprindelse
Fra pædagogik-området; overført til maskinlæring i forbindelse med knowledge distillation (Hinton et al., 2015).