Python Academy · Lektion

Backpropagation-algoritmen

Koncepter inden for læring og optimering

Lektion 4 af 510 trin

Backpropagation-algoritmen er en gratis Python Academy-lektion på CoddyKit. Dette er lektion 4 af 5. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Python Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Python Academy-kurset indeholder 5 lektioner i alt.

Hvad er tilbagepropagering

Algoritme til tilbagepropagering

Tilbagepropagering er en vigtig algoritme, der bruges til at træne neurale netværk. Den beregner gradienten for tabsfunktionen med hensyn til hver vægt ved at føre fejl baglæns gennem netværket.

Backpropagation-algoritmen — illustration 1

Vigtige trin i tilbagepropagering

Processen med tilbagepropagering omfatter:

  1. Fremadgående gennemløb: Beregn resultatet og tabet.
  2. Baglæns gennemløb: Beregn gradienten for tabsfunktionen med hensyn til vægte og biaser.
  3. Vægtopdatering: Juster vægte ved hjælp af en optimeringsalgoritme som gradientnedstigning.

Tabsfunktion

Tabsfunktionen kvantificerer forskellen mellem de forudsagte og de faktiske værdier. Almindelige tabsfunktioner omfatter:

  • Middelkvadratfejl (MSE): Til regressionsopgaver.
  • Krydsentropitab: Til klassifikationsopgaver.

Gradientnedstigning

Gradientnedstigning er en optimeringsalgoritme, der bruges til at minimere tabsfunktionen. Den opdaterer vægte og biaser ved at tage små skridt i retning af den negative gradient.

Opdateringsregel:

Weight = Weight - Learning_Rate * Gradient

Kædereglen i tilbagepropagering

Kædereglen bruges til at beregne gradienten for tabsfunktionen for hvert lag. Den gør det muligt at føre fejlen baglæns gennem netværket.

Gradienten for tabet med hensyn til en vægt er for eksempel:

∂L/∂W = ∂L/∂O * ∂O/∂Z * ∂Z/∂W

Eksempel på tilbagepropagering

Forestil dig et enkelt neuralt netværk med ét inddatalag, ét skjult lag og ét uddatalag:

Ved hjælp af fremadgående og baglæns gennemløb justerer vi vægte for at minimere fejlen over flere epoker.

import numpy as np

# Example: Simple backpropagation setup
weights = np.array([0.5, -0.5])
inputs = np.array([2, 3])
target = 1
learning_rate = 0.01

# Forward pass
output = np.dot(inputs, weights)
loss = (target - output) ** 2

# Backward pass
error = 2 * (output - target)
gradients = error * inputs

# Weight update
weights -= learning_rate * gradients
print("Updated Weights:", weights)

Udfordringer ved tilbagepropagering

Almindelige problemer omfatter:

  • Forsvindende gradienter: Gradienterne bliver for små, hvilket bremser indlæringen.
  • Eksploderende gradienter: Gradienterne bliver for store, hvilket skaber ustabilitet.
  • Lokale minima: Algoritmen kan sidde fast i suboptimale løsninger.

Forbedringer af tilbagepropagering

Moderne teknikker til at håndtere udfordringerne omfatter:

  • Aktiveringsfunktioner: ReLU hjælper med at begrænse forsvindende gradienter.
  • Optimeringsalgoritmer: Algoritmer som Adam og RMSProp forbedrer konvergensen.
  • Regularisering: Forebygger overtilpasning ved at straffe store vægte.

Opsummering og næste trin

I denne lektion har vi:

  • Undersøgt algoritmen til tilbagepropagering og dens rolle i træningen af neurale netværk.
  • Lært om gradientnedstigning og kædereglen.
  • Gennemgået udfordringer og moderne forbedringer inden for tilbagepropagering.

Dernæst implementerer vi vores første neurale netværk ved hjælp af TensorFlow for at se tilbagepropagering i praksis.

Backpropagation-algoritmen — illustration 10
Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
76
Lektioner
320

Ofte stillede spørgsmål

Er lektionen “Backpropagation-algoritmen” gratis?

Ja — hele teksten til “Backpropagation-algoritmen” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Python Academy-kurset, skal du opgradere til CoddyKit PRO. Python Academy-kurset indeholder 5 lektioner i alt.

Hvad lærer jeg i “Backpropagation-algoritmen”?

Koncepter inden for læring og optimering Du øver dig i Python Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Python Academy?

Der kræves ingen tidligere erfaring. Python Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 5.

Hvor lang tid tager lektionen “Backpropagation-algoritmen”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Python Academy-lektion?

Ja. Alle Python Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Introduktion til neurale netværk
  2. Aktiveringsfunktioner
  3. Feedforward-neurale netværk
  4. Backpropagation-algoritmen
  5. Dit første neurale netværk med TensorFlow
← Tilbage til Python Academy