meta-learning model

En meta-learning model er en model, der er trænet til at lære nye opgaver hurtigt ved at udnytte erfaring fra tidligere opgaver.

Kort fortalt

En model, der lærer at lære – så den kan tilpasse sig nye opgaver med kun få eksempler.

Kategori
model
Niveau
øvet

Betydninger

1
  1. 1

    En maskinlæringsmodel, der er designet til at lære fra en distribution af opgaver og dermed opnå evnen til at generalisere til nye opgaver med minimal træning.

    • Meta-learning-modeller som MAML (Model-Agnostic Meta-Learning) kan finjusteres til nye opgaver med kun en enkelt gradientopdatering.
    • I few-shot klassificering anvendes meta-learning-modeller til at genkende nye klasser baseret på få eksempler.

Hvornår bruges det

Meta-learning-modeller bruges i few-shot learning scenarier, hvor der kun er få træningseksempler pr. opgave. De trænes på en række opgaver for at finde en initialisering eller en optimeringsstrategi, der gør dem i stand til hurtigt at tilpasse sig nye opgaver.

Kodeeksempel

import torch

def meta_train_step(model, tasks, inner_lr=0.01, meta_lr=0.001):
    meta_loss = 0.0
    for task in tasks:
        # Inner loop: adapt to task
        adapted_model = clone(model)
        for _ in range(5):
            loss = compute_loss(adapted_model, task['support'])
            grad = torch.autograd.grad(loss, adapted_model.parameters())
            adapted_model.parameters() -= inner_lr * grad
        # Compute meta-loss on query set
        meta_loss += compute_loss(adapted_model, task['query'])
    # Meta-update
    meta_grad = torch.autograd.grad(meta_loss, model.parameters())
    model.parameters() -= meta_lr * meta_grad

En forenklet iteration af en meta-træningsloop: for hver opgave tilpasses modellen med en indre gradientopdatering, og tabet på queries bruges til metagradienten.

Oprindelse

Udtrykket 'meta-learning' kommer fra græsk 'meta' (betyder 'ud over' eller 'om') og 'learning', altså 'læring om læring'.

Kilder

2
  • Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks (Finn et al., 2017)
  • Meta-Learning with Latent Embedding Optimization (Rusu et al., 2019)