teacher ensemble

Et teacher ensemble er en samling af flere forudtrænede modeller (teachers), der i fællesskab vejleder træningen af en enkelt student model, typisk ved at aggregerer deres forudsigelser eller logits.

Kort fortalt

En teacher ensemble bruger flere modeller til at undervise én model, så den lærer bedre end med én enkelt lærer.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    En samling af flere forudtrænede modeller, der aggregerer deres output for at give bedre vejledning til en student-model under træning, ofte brugt i knowledge distillation og semi-supervised learning.

    • Ved at bruge et teacher ensemble i stedet for en enkelt teacher opnåede student-modellen højere nøjagtighed på testdata.
    • I semi-supervised learning kan et teacher ensemble generere pseudo-labels med lavere støj end en enkelt model.

Hvornår bruges det

Teacher ensembles anvendes primært i knowledge distillation for at forbedre student-modellens generaliseringsevne. De bruges også i semi-supervised learning til at generere mere pålidelige pseudo-labels, hvor usikkerhedsestimater fra ensemblet kan forbedre dataselektion.

Kodeeksempel

# Aggregering af logits fra flere teachers
import torch

teacher_logits = [t(x) for t in teacher_models]  # list of tensors shapes [batch, num_classes]
ensemble_logits = torch.mean(torch.stack(teacher_logits), dim=0)
student_loss = torch.nn.KLDivLoss()(F.log_softmax(student_logits, dim=1), 
                                     F.softmax(ensemble_logits, dim=1))

Eksempel på hvordan man aggregerer logits fra et teacher ensemble ved at tage gennemsnittet og bruge dem til at vejlede student-modellen via KL-divergens.

Oprindelse

Termen 'teacher ensemble' er en sammensætning af 'teacher' (lærer) fra knowledge distillation-terminologi og 'ensemble' (gruppe) fra maskinlæring, hvor flere modeller kombineres.

Afledte ord

1

Kilder

2
  • Distilling the Knowledge in a Neural Network
  • Deep Mutual Learning