Zero-shot learning
Zero-shot learning er en maskinlæringsteknik, hvor en model klassificerer objekter fra klasser, den ikke har set under træning, ved hjælp af semantiske repræsentationer eller beskrivelser.
Kort fortalt
En model lærer at genkende ting, den aldrig har set før, ved at forstå deres beskrivelser i stedet for at have set eksempler.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
En maskinlæringsteknik, hvor en model trænes til at genkende klasser, som ikke er inkluderet i træningsdataene, ved at udnytte semantiske attributter eller indlejringer (embeddings) af klasserne.
- Ved zero-shot learning kan en model genkende en ny dyreart, hvis den får en tekstbeskrivelse af dens kendetegn.
- Zero-shot learning anvendes ofte i kombination med sprogmodeller som CLIP til at klassificere billeder ud fra naturlige sprogprompter. — CLIP paper, 2021
Hvornår bruges det
Zero-shot learning bruges typisk i billedgenkendelse, sprogforståelse og naturlig sprogbehandling, når det er svært eller dyrt at indsamle træningsdata for alle mulige klasser. Det muliggør generalisering til nye koncepter uden yderligere træning.
Kodeeksempel
import clip
from PIL import Image
model, preprocess = clip.load("ViT-B/32")
image = preprocess(Image.open("cat.jpg")).unsqueeze(0)
text = clip.tokenize(["a cat", "a dog", "a bird"])
logits_per_image, logits_per_text = model(image, text)
probs = logits_per_image.softmax(dim=-1).detach().numpy()
print(probs)Eksempel på zero-shot klassifikation med CLIP: modellen vælger den tekstbeskrivelse der passer bedst til billedet.
Oprindelse
Begrebet opstod i maskinlæringsforskning omkring 2009, inspireret af menneskers evne til at genkende nye objekter ud fra verbale beskrivelser.
Afledte ord
2Kilder
2- Zero-Shot Learning by Convex Combination of Semantic Embeddings
- Zero-Shot Learning — A Comprehensive Evaluation