Deep Learning Academy · leksjon

Tidlig stopp basert på valideringstap

Stopp før modellen overtilpasser

Leksjon 4 av 413 trinn

Tidlig stopp basert på valideringstap er en gratis leksjon i Deep Learning Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Deep Learning Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Deep Learning Academy inneholder totalt 4 leksjoner.

For lang trening gjør skade

Flere epoker er ikke alltid bedre. Etter et visst punkt begynner modellen å memorere støy, og valideringsresultatene blir dårligere. Early stopping avslutter treningen på det beste tidspunktet.

Følg med på valideringstapet

Signaltallet De følger med på, er valideringstap. Så lenge det fortsetter å synke, generaliserer modellen fortsatt bedre, og De lar treningen fortsette.

Vendepunktet

Til slutt fortsetter treningstapet å synke, mens valideringstapet når bunnen og begynner å stige. Denne oppgangen er øyeblikket da overtilpasning tar over.

Husk den beste scoren

Behold en variabel for det beste valideringstapet som er observert så langt. For hver epoke sammenligner De den nye scoren med denne for å avgjøre om det har vært fremgang.

best_loss = float('inf')

Tell epoker uten fremgang

Når en epoke ikke slår den beste scoren, øker De en teller. Den tilbakestilles til null idet valideringstapet forbedres igjen.

if val_loss < best_loss:
    best_loss = val_loss
    counter = 0
else:
    counter += 1

Angi tålmodighet

Tålmodighet angir hvor mange dårlige epoker De godtar før De avslutter. En liten verdi stopper raskt, mens en større verdi tåler midlertidige, støyende fall.

patience = 5

Avslutt når tålmodigheten er brukt opp

Når telleren når verdien for tålmodighet, avslutter De løkken. Denne break-instruksjonen avslutter treningen før modellen bruker tid på å bli dårligere.

if counter >= patience:
    break

Lagre det beste underveis

Hver gang valideringen forbedres, skriver De et kontrollpunkt. Når De til slutt stopper, inneholder den lagrede filen den beste modellen, ikke den siste.

if val_loss < best_loss:
    torch.save(model.state_dict(), 'best.pt')

Legg til min_delta

Små svingninger kan se ut som falsk fremgang. En min_delta krever en forbedring som er større enn en terskel, før tålmodighetstelleren tilbakestilles.

if val_loss < best_loss - min_delta:
    best_loss = val_loss

Gjenopprett det beste til slutt

Etter løkken laster De inn det lagrede kontrollpunktet, slik at De faktisk tar i bruk den beste modellen. Det er meningsløst å stoppe tidlig hvis De beholder de dårligere, endelige vektene.

model.load_state_dict(torch.load('best.pt'))

En kostnadsfri form for regularisering

Tidlig stopping koster ingenting ekstra, men motvirker overtilpasning som en regularisator. Den fungerer godt sammen med dropout og weight decay for enda mer stabil trening.

Rask kontroll

Hva styrer innstillingen for tålmodighet ved tidlig stopping?

Oppsummering

Følg med på valideringstapet, tell epoker uten fremgang, stopp når tålmodigheten er brukt opp, og gjenopprett det beste kontrollpunktet. Tidlig stopping sparer tid og begrenser overtilpasning. ⏹️

Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Tidlig stopp basert på valideringstap» gratis?

Ja – hele teksten i «Tidlig stopp basert på valideringstap» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Deep Learning Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Deep Learning Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Tidlig stopp basert på valideringstap»?

Stopp før modellen overtilpasser Du øver på Deep Learning Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Deep Learning Academy?

Ingen tidligere erfaring er nødvendig. Deep Learning Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Tidlig stopp basert på valideringstap»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Deep Learning Academy-leksjonen?

Ja. Alle Deep Learning Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Del opp i trening, validering og test
  2. En epokkesløyfe med validering
  3. Lagre og last inn med state_dict
  4. Tidlig stopp basert på valideringstap
← Tilbake til Deep Learning Academy