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. 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

2

Kilder

2
  • Zero-Shot Learning by Convex Combination of Semantic Embeddings
  • Zero-Shot Learning — A Comprehensive Evaluation