Hvad betyder Learning rate?
Learning rate er en hyperparameter i mange træningsmetoder. Den påvirker, hvor stort et skridt optimizerens opdatering tager, når modellens parametre justeres. Den er dermed en indstilling af læringsprocessen, ikke en vægt, der beskriver en bestemt sammenhæng i data.
En høj learning rate kan give hurtige ændringer, men også ustabilitet eller spring forbi nyttige løsninger. En meget lav værdi kan gøre træningen langsom eller give utilstrækkelig fremgang inden for den tilgængelige beregningstid. En passende værdi afhænger af model, optimizer og databehandling.
Læringsraten kan være fast eller ændres gennem et schedule. Nogle forløb begynder forsigtigt og ændrer derefter skridtstørrelsen. Sådanne valg skal vurderes som en del af det samlede træningsdesign, ikke som et universelt trick.
Se på både stabilitet og kvalitet
Følg trænings- og valideringskurver. Kraftige udsving, manglende fremgang eller ugyldige tal kan være signaler om problemer, men kan også skyldes fejl i input, loss eller implementering. Undersøg derfor årsagen frem for automatisk at ændre læringsraten.
Sammenlign forsøg under kendte betingelser. Hvis batchstørrelse, inputskala og optimizer ændres samtidig, bliver det vanskeligt at vurdere effekten af den enkelte indstilling.
Vær særlig opmærksom ved fine-tuning
Når en eksisterende model tilpasses, kan store opdateringer ændre nyttige repræsentationer hurtigt. Det kan være relevant at arbejde med forskellige indstillinger for nye og eksisterende dele af modellen, afhængigt af værktøj og arkitektur.
Vælg resultatet efter opgaven på valideringsdata og gem hele konfigurationen. Et træningsforløb, der falder hurtigst i loss, er ikke nødvendigvis det, der giver den bedste kvalitet på nye eksempler.
Et eksempel fra praksis
Forestil jer et team, der tilpasser en billedmodel med et nyt klassifikationslag. En første kørsel giver ustabile resultater, når alle lag får lov at ændre sig. Teamet kontrollerer data og sammenligner derefter et forsigtigt tilpasningsforløb med en fast, frossen grundmodel.
Forsøgene registrerer læringsrate, trænbare lag og valideringsresultater. En forbedring accepteres først, når den også ses på nye optagelser. Den konkrete værdi præsenteres som en indstilling for dette forsøg, ikke som den rigtige læringsrate for alle billedmodeller.
Typiske faldgruber
- En anbefalet værdi fra et andet projekt kan blive overført uden at kontrollere forudsætningerne.
- Flere samtidige ændringer kan gøre det uklart, hvad der påvirker træningen.
- Et hurtigt fald i træningstab kan skjule svag kvalitet på nye data.
Det skal I afklare
- Er model, optimizer, batchstørrelse og inputbehandling dokumenteret sammen med læringsraten?
- Er træningsforløbet stabilt, og hvad viser valideringskurven?
- Kan det valgte resultat gentages eller forklares ud fra den gemte konfiguration?
Spørgsmål og svar
Kan learning rate ændres under træning?
Ja. Et schedule kan ændre den gennem forløbet. Om det hjælper, skal vurderes i den konkrete træningsopsætning.
Er lavere learning rate altid sikrere?
Nej. En meget lav værdi kan give for lidt fremgang og unødigt lang træning. Målet er et passende, stabilt forløb med god kvalitet på nye data.
Kilder og videre læsning
De tekniske begreber bygger på nedenstående kilder. Eksemplerne er illustrative og viser, hvordan I kan arbejde med emnet.
- Google: Hyperparameters ↗Learning rate, batchstørrelse og træningsvalg.
- TensorFlow: Transfer learning and fine-tuning ↗Tilpasning af en eksisterende model og træningsindstillinger.

