Curriculum learning

Træningsstrategi hvor data præsenteres i en stigende sværhedsgrad for at forbedre læring og konvergens.

Kort fortalt

En teknik hvor man starter med at træne på nemme eksempler og gradvist introducerer sværere, ligesom i en undervisningsplan.

Kategori
teknik
Niveau
øvet
Udtale
/kəˈrɪkjʊləm ˈlɜːnɪŋ/

Betydninger

1
  1. 1

    En maskinlæringsstrategi hvor træningsdata præsenteres i en ordnet rækkefølge fra let til svær, for at guide modellen til at lære gradvist mere komplekse mønstre.

    • Ved at anvende curriculum learning i en neurale oversættelsesmodel opnåede man hurtigere konvergens og bedre BLEU-score.forskningsartikel, 2018
    • Curriculum learning kan implementeres ved at sortere billeder efter objektstørrelse, så modellen først lærer at genkende store objekter.tutorial, 2020

Hvornår bruges det

Curriculum learning bruges ofte i sprogmodeller og billedgenkendelse for at stabilisere træning og opnå bedre generalisering. Det kan implementeres ved at sortere træningsdata efter en sværhedsmetrik eller dynamisk generere eksempler.

Kodeeksempel

import torch

def curriculum_scheduler(epoch, total_epochs, easy_ratio=0.3):
    # Returner andelen af nemme eksempler i batch
    if epoch < total_epochs * easy_ratio:
        return 1.0  # kun nemme
    else:
        return max(0.0, 1.0 - (epoch - total_epochs*easy_ratio) / (total_epochs*(1-easy_ratio)))

Eksempel på en simpel curriculum scheduler der gradvist reducerer andelen af nemme eksempler over tid.

Oprindelse

Begrebet er overført fra pædagogisk teori, hvor et curriculum beskriver en plan for undervisning. Inden for maskinlæring blev det introduceret af Bengio et al. i 2009.

Afledte ord

1

Kilder

1
  • Curriculum learning (Bengio et al., 2009)