Gjør backprop på et lite nettverk for hånd
Beregn gradienter på papir og bekreft dem i kode
Gjør backprop på et lite nettverk for hånd er en gratis leksjon i Deep Learning Academy på CoddyKit. Dette er leksjon 3 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.
Det lille nettverket vårt
La oss følge det minste nettverket trinn for trinn: én input x, én weight w og ingen bias. Outputen er ganske enkelt y = w ganger x. Lite nok til å regne på papir.
y = w * xLegg til et enkelt tap
Vi sammenligner outputen med en målverdi t ved hjelp av kvadratisk feil. Dette tapet straffer store avvik fra målverdien og er enkelt å derivere for hånd.
loss = (y - t) ** 2Forward med tall
Sett inn x = 2, w = 3 og t = 10. Forward gir y = 6 og tap = (6 - 10) i andre = 16. Nå går vi bakover for å finne dloss/dw.
Trinn én: Fra tap til output
Første lenke: Hvordan endres tapet med y? Den deriverte av (y - t) i andre er 2(y - t), som her er 2 ganger (6 - 10) = -8.
dloss_dy = 2 * (y - t)Trinn to: Fra output til vekt
Andre lenke: Hvordan endres y med w? Siden y = w ganger x, er dy/dw ganske enkelt x, som er 2 i eksempelet vårt.
dy_dw = xKoble de to sammen
Kjerneregelen multipliserer lenkene: dloss/dw = dloss/dy ganger dy/dw = -8 ganger 2 = -16. Dette ene tallet er gradienten vår.
dloss_dw = dloss_dy * dy_dwLes fortegnet til gradienten
En negativ gradient betyr at en økning av w vil redusere tapet. Derfor bør vi justere w litt opp for å få et bedre resultat neste gang.
Ta ett oppdateringstrinn
Med en læringsrate på 0.1 blir oppdateringen w = w - 0.1 ganger (-16) = 3 + 1.6 = 4.6. Vekten beveget seg mot en bedre verdi.
w = w - lr * dloss_dwBekreft at det ble bedre
Gjør forward-passet på nytt med w = 4.6: y = 9.2 og tap = (9.2 - 10) i andre = 0.64. Det er langt under 16, så trinnet hjalp faktisk.
Sjekk det i PyTorch
PyTorch finner den samme gradienten automatisk. Sett requires_grad på w, kjør forward, kall backward, og les w.grad for å se -16.
w = torch.tensor(3.0, requires_grad=True)
loss = (w * 2 - 10) ** 2
loss.backward()
print(w.grad)Samme trinn, større nettverk
Et nettverk med én million vekter gjør akkurat dette, bare med flere lenker koblet sammen. Matematikken De gjorde for hånd skalerer direkte opp.
Hurtigsjekk
La oss sjekke gjennomgangen De gjorde for hånd.
Oppsummering
De fulgte et lite nettverk: først forward for å beregne verdier, deretter backward med multiplikasjon av lokale deriverte for å finne gradienten, og til slutt ett trinn som reduserte tapet. ✏️
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 «Gjør backprop på et lite nettverk for hånd» gratis?
Ja – hele teksten i «Gjør backprop på et lite nettverk for hånd» 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 «Gjør backprop på et lite nettverk for hånd»?
Beregn gradienter på papir og bekreft dem i kode 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 3 av 4.
Hvor lang tid tar leksjonen «Gjør backprop på et lite nettverk for hånd»?
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
- Kjerneregelen, lag for lag
- Forward lagrer, backward gjenbruker
- Gjør backprop på et lite nettverk for hånd
- Forsvinnende og eksploderende gradienter