Baglæns Propagation
Baglæns forplantning, eller backpropagation, er processen hvor man bestemmer, hvordan tabfunktionen ændrer sig i forhold til hver parameter i det neurale netværk. Målet er at justere disse parametre på en måde, der reducerer det samlede tab.
Denne proces er baseret på gradient descent-algoritmen, som anvender afledte af tabet i forhold til hvert lags præ-aktiveringsværdier (de rå output før aktiveringsfunktionen anvendes) og forplanter dem baglæns gennem netværket.
Da hvert lag bidrager til den endelige forudsigelse, beregnes gradienterne trin for trin:
- Udfør fremad forplantning for at opnå output;
- Beregn den afledte af tabet i forhold til output præ-aktivering;
- Forplant denne afledte baglæns gennem lagene ved hjælp af kædereglen;
- Beregn og anvend gradienterne for vægte og bias til at opdatere dem under træning.
Gradienter repræsenterer ændringshastigheden af en funktion i forhold til dens input, hvilket betyder, at de er dens afledte. De angiver, hvor meget en lille ændring i vægte, bias eller aktiveringer påvirker tabfunktionen, og guider modellens læringsproces gennem gradient descent.
Notation
For at gøre forklaringen tydeligere, anvendes følgende notation:
- Wl er vægtmatricen for lag l;
- bl er vektoren af bias for lag l;
- zl er vektoren af præ-aktiveringer for lag l;
- al er vektoren af aktiveringer for lag l;
Ved at sætte a0 til x (input), kan fremad forplantning i en perceptron med n lag beskrives som følgende sekvens af operationer:
a0z1a1=x,=W1a0+b1,=f1(z1),...zlal...=Wlal−1+bl,=fl(zl),...znany^...=Wnan−1+bn,=fn(zn),=an.For at beskrive backpropagation matematisk, introduceres følgende notationer:
- dal: afledt af tabet med hensyn til aktiveringerne i lag l;
- dzl: afledt af tabet med hensyn til præ-aktiveringerne i lag l (før aktiveringsfunktionen anvendes);
- dWl: afledt af tabet med hensyn til vægtene i lag l;
- dbl: afledt af tabet med hensyn til bias i lag l.
Beregning af gradienter for outputlaget
I det sidste lag n er det første skridt at beregne gradienten af tabet med hensyn til aktiveringerne i outputlaget, betegnet som dan.
Derefter, ved brug af kædereglen, beregnes gradienten af tabet med hensyn til præ-aktiveringerne i outputlaget som:
dzn=dan⊙f′n(zn)Her repræsenterer f′n(zn) den afledte af aktiveringsfunktionen i lag n, og symbolet ⊙ angiver elementvis multiplikation.
Symbolet ⊙ angiver elementvis multiplikation, hvilket betyder, at hvert element i én vektor multipliceres med det tilsvarende element i en anden vektor. Til sammenligning repræsenterer symbolet ⋅ prikproduktet, som bruges til standard matrix- eller vektormultiplikation. Udtrykket f′n refererer til den afledte af aktiveringsfunktionen i outputlaget.
Denne værdi angiver, hvor følsom tab-funktionen er over for ændringer i præaktiveringsværdierne i outputlaget.
Efter beregning af dzn er næste trin at udregne gradienterne for vægte og bias:
dWndbn=dzn⋅(an−1)T,=dznDisse gradienter beskriver, hvor meget hver vægt og bias i outputlaget skal justeres for at minimere tabet.
Her er (an−1)T den transponerede aktiveringsvektor fra det forrige lag. Hvis den oprindelige vektor har formen nneurons×1, har dens transponerede formen 1×nneurons.
For at fortsætte baglænspropageringen beregnes den afledte af tabet med hensyn til aktiveringerne i det forrige lag som:
dan−1=(Wn)T⋅dznDette udtryk muliggør, at fejlsignalet kan føres baglæns gennem netværket, hvilket gør det muligt at justere tidligere lag under træningen.
Propagering af gradienter til de skjulte lag
For hvert skjult lag l er proceduren den samme. Givet dal:
- Beregn den afledte af tabet med hensyn til præaktiveringerne;
- Beregn gradienterne for vægte og bias;
- Beregn dal−1 for at føre den afledte baglæns.
Denne proces gentages for hvert forudgående lag, trin for trin, indtil inputlaget nås.
Opdatering af vægte og bias
Efter beregning af gradienterne for alle lag opdateres vægtene og bias ved hjælp af gradient descent-algoritmen:
Wlbl=Wl−α⋅dWl,=bl−α⋅dbl.Her repræsenterer α læringsraten, som styrer, hvor meget parametrene justeres under hvert træningsskridt.
Her er α læringsraten, en hyperparameter der bestemmer størrelsen af justeringen, der anvendes på vægte og bias under hver opdatering.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain how the chain rule is applied in backpropagation?
What is the difference between pre-activations and activations in a neural network?
Can you provide an example of calculating gradients for a simple neural network?
Awesome!
Completion rate improved to 4
Baglæns Propagation
Stryg for at vise menuen
Baglæns forplantning, eller backpropagation, er processen hvor man bestemmer, hvordan tabfunktionen ændrer sig i forhold til hver parameter i det neurale netværk. Målet er at justere disse parametre på en måde, der reducerer det samlede tab.
Denne proces er baseret på gradient descent-algoritmen, som anvender afledte af tabet i forhold til hvert lags præ-aktiveringsværdier (de rå output før aktiveringsfunktionen anvendes) og forplanter dem baglæns gennem netværket.
Da hvert lag bidrager til den endelige forudsigelse, beregnes gradienterne trin for trin:
- Udfør fremad forplantning for at opnå output;
- Beregn den afledte af tabet i forhold til output præ-aktivering;
- Forplant denne afledte baglæns gennem lagene ved hjælp af kædereglen;
- Beregn og anvend gradienterne for vægte og bias til at opdatere dem under træning.
Gradienter repræsenterer ændringshastigheden af en funktion i forhold til dens input, hvilket betyder, at de er dens afledte. De angiver, hvor meget en lille ændring i vægte, bias eller aktiveringer påvirker tabfunktionen, og guider modellens læringsproces gennem gradient descent.
Notation
For at gøre forklaringen tydeligere, anvendes følgende notation:
- Wl er vægtmatricen for lag l;
- bl er vektoren af bias for lag l;
- zl er vektoren af præ-aktiveringer for lag l;
- al er vektoren af aktiveringer for lag l;
Ved at sætte a0 til x (input), kan fremad forplantning i en perceptron med n lag beskrives som følgende sekvens af operationer:
a0z1a1=x,=W1a0+b1,=f1(z1),...zlal...=Wlal−1+bl,=fl(zl),...znany^...=Wnan−1+bn,=fn(zn),=an.For at beskrive backpropagation matematisk, introduceres følgende notationer:
- dal: afledt af tabet med hensyn til aktiveringerne i lag l;
- dzl: afledt af tabet med hensyn til præ-aktiveringerne i lag l (før aktiveringsfunktionen anvendes);
- dWl: afledt af tabet med hensyn til vægtene i lag l;
- dbl: afledt af tabet med hensyn til bias i lag l.
Beregning af gradienter for outputlaget
I det sidste lag n er det første skridt at beregne gradienten af tabet med hensyn til aktiveringerne i outputlaget, betegnet som dan.
Derefter, ved brug af kædereglen, beregnes gradienten af tabet med hensyn til præ-aktiveringerne i outputlaget som:
dzn=dan⊙f′n(zn)Her repræsenterer f′n(zn) den afledte af aktiveringsfunktionen i lag n, og symbolet ⊙ angiver elementvis multiplikation.
Symbolet ⊙ angiver elementvis multiplikation, hvilket betyder, at hvert element i én vektor multipliceres med det tilsvarende element i en anden vektor. Til sammenligning repræsenterer symbolet ⋅ prikproduktet, som bruges til standard matrix- eller vektormultiplikation. Udtrykket f′n refererer til den afledte af aktiveringsfunktionen i outputlaget.
Denne værdi angiver, hvor følsom tab-funktionen er over for ændringer i præaktiveringsværdierne i outputlaget.
Efter beregning af dzn er næste trin at udregne gradienterne for vægte og bias:
dWndbn=dzn⋅(an−1)T,=dznDisse gradienter beskriver, hvor meget hver vægt og bias i outputlaget skal justeres for at minimere tabet.
Her er (an−1)T den transponerede aktiveringsvektor fra det forrige lag. Hvis den oprindelige vektor har formen nneurons×1, har dens transponerede formen 1×nneurons.
For at fortsætte baglænspropageringen beregnes den afledte af tabet med hensyn til aktiveringerne i det forrige lag som:
dan−1=(Wn)T⋅dznDette udtryk muliggør, at fejlsignalet kan føres baglæns gennem netværket, hvilket gør det muligt at justere tidligere lag under træningen.
Propagering af gradienter til de skjulte lag
For hvert skjult lag l er proceduren den samme. Givet dal:
- Beregn den afledte af tabet med hensyn til præaktiveringerne;
- Beregn gradienterne for vægte og bias;
- Beregn dal−1 for at føre den afledte baglæns.
Denne proces gentages for hvert forudgående lag, trin for trin, indtil inputlaget nås.
Opdatering af vægte og bias
Efter beregning af gradienterne for alle lag opdateres vægtene og bias ved hjælp af gradient descent-algoritmen:
Wlbl=Wl−α⋅dWl,=bl−α⋅dbl.Her repræsenterer α læringsraten, som styrer, hvor meget parametrene justeres under hvert træningsskridt.
Her er α læringsraten, en hyperparameter der bestemmer størrelsen af justeringen, der anvendes på vægte og bias under hver opdatering.
Tak for dine kommentarer!