Tidlig stopp basert på valideringstap
Stopp før modellen overtilpasser
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 += 1Angi 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 = 5Avslutt 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:
breakLagre 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_lossGjenopprett 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. ⏹️
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
- Del opp i trening, validering og test
- En epokkesløyfe med validering
- Lagre og last inn med state_dict
- Tidlig stopp basert på valideringstap