Few-shot classification

En klassifikationsmetode, hvor en model lærer at genkende nye klasser med kun få træningseksempler per klasse.

Kort fortalt

Few-shot classification går ud på at træne en model til at klassificere nye kategorier, når der kun er ganske få eksempler til rådighed – ofte 1-5 per klasse.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    En opgave inden for maskinlæring, hvor en klassifikationsmodel skal generalisere til nye klasser baseret på et lille antal mærkede eksempler (typisk 1-5) fra hver ny klasse. Modellen trænes ofte ved brug af meta-læring på et sæt af basisklasser for at opnå en evne til hurtig tilpasning.

    • Few-shot classification bruges til at identificere sjældne dyrearter på få billeder.
    • Med N-way K-shot setting specificeres antallet af klasser (N) og antallet af støtteprøver per klasse (K).

Hvornår bruges det

Bruges typisk i scenarier, hvor dataindsamling er dyr eller sjælden, fx i medicinsk billedanalyse eller artsgenkendelse. Modellen trænes ofte med meta-læring (episodisk træning) for at generalisere til nye klasser.

Kodeeksempel

import torch
import torch.nn as nn
import torch.nn.functional as F

class PrototypicalNet(nn.Module):
    def __init__(self, backbone):
        super().__init__()
        self.backbone = backbone
    
    def forward(self, support, query, n_way, k_shot):
        # support: (n_way * k_shot, c, h, w)
        # query: (n_way * query_shot, c, h, w)
        support_emb = self.backbone(support)
        query_emb = self.backbone(query)
        # compute prototypes
        prototypes = support_emb.view(n_way, k_shot, -1).mean(dim=1)
        # compute distances
        dists = torch.cdist(query_emb, prototypes)
        return dists

Eksempel på et Prototypical Network til few-shot classification. Støtteeksempler (support) bruges til at beregne prototyper for hver klasse, og afstande til forespørgsels-eksempler (query) beregnes.

Oprindelse

Udtrykket stammer fra få-eksempel-læring (few-shot learning), som blev formaliseret af Fei-Fei Li m.fl. (2006) og senere populariseret med meta-læring.

Kilder

2
  • Fei-Fei Li, R. Fergus, P. Perona. One-shot learning of object categories. IEEE TPAMI, 2006.
  • Wang et al. Generalizing from a few examples: A survey on few-shot learning. ACM Computing Surveys, 2020.