AI Ordbog
Backpropagation
Algoritmen der lader neurale netværk lære af deres fejl ved at sende fejlsignaler baglæns gennem netværket.
Skrevet og redigeret af Kristian Primdal · Sidst opdateret 18. marts 2026Indhold
Hvad er backpropagation?
Backpropagation, baglæns propagation af fejl, er den algoritme der gør det muligt for neurale netværk at lære. Den fortæller hvert enkelt parameter i netværket: “her er dit bidrag til fejlen, og her er hvordan du skal justere dig for at reducere den.”
Forestil dig en fabrik med hundredvis af arbejdere i en produktionslinje. Det færdige produkt har en defekt. Backpropagation er processen der sporer defekten baglæns gennem produktionslinjen og fortæller hver arbejder præcis hvor meget de bidrog til fejlen og hvordan de skal justere deres arbejde. Arbejder #47 skal dreje 2 grader mere til højre. Arbejder #12 skal bruge lidt mere kraft. Hver lille justering bringer det næste produkt tættere på perfekt.
I et neuralt netværk er “arbejderne” milliarder af parametre (vægte). “Produktet” er modellens output. “Defekten” er forskellen mellem modellens output og det korrekte svar. Backpropagation beregner hvordan hver vægt skal justeres for at reducere denne fejl.
Hvorfor er backpropagation vigtigt?
- Det er sådan AI lærer. Hver gang en sprogmodel trænes, hvert billede en billedgenkendelsesmodel trænes på, hvert spil en RL-agent spiller, backpropagation er den mekanisme der opdaterer modellens parametre.
- Skalerbarhed. Backpropagation skalerer til netværk med milliarder af parametre. Det er grunden til at vi kan træne store modeller som GPT, Claude og Gemini.
- Effektivitet. Uden backpropagation ville vi skulle prøve tilfældige ændringer og se om de hjalp. Det ville være utroligt langsomt. Backpropagation beregner den præcise retning hver parameter skal justeres. Enormt meget hurtigere.
- Fundamentet. Al moderne deep learning (sprogmodeller, billedgenerering, computer vision, taleteknologi) bygger på backpropagation. Det er den mest fundamentale algoritme i AI.
Sådan fungerer backpropagation
Det store billede
Træning af et neuralt netværk følger en cyklus:
- Forward pass. Send input (f.eks. en sætning) gennem netværket og få et output (f.eks. næste ord).
- Beregn fejl. Sammenlign output med det korrekte svar via en loss function. Fejlen er et enkelt tal der angiver hvor forkert modellen var.
- Backward pass (backpropagation). Send fejlsignalet baglæns gennem netværket og beregn hvor meget hver vægt bidrog til fejlen.
- Opdater vægte. Justér hver vægt i den retning der reducerer fejlen (gradient descent).
- Gentag. Kør dette for millioner af træningseksempler.
Forward pass: fra input til output
Et simpelt netværk med tre lag:
- Input-lag. Modtager data (f.eks. pixels i et billede, tokens i en sætning).
- Skjulte lag. Transformerer data via vægte og aktiveringsfunktioner. Hvert neuron beregner en vægtet sum af sine input og sender resultatet videre.
- Output-lag. Producerer det endelige resultat (f.eks. sandsynligheder for kategorier via softmax).
Data flyder fremad, fra input til output. Hvert lag transformerer data baseret på sine aktuelle vægte.
Beregn fejlen
Loss function måler forskellen mellem modellens output og det korrekte svar:
- Modellen sagde: “kat” med 70% sandsynlighed, “hund” med 20%.
- Det korrekte svar var: “hund” med 100%.
- Loss function beregner: fejlen er X (et tal, jo højere, jo værre).
Backward pass: spor fejlen baglæns
Her sker backpropagation. Algoritmen beregner gradienten (den matematiske retning og størrelse af fejlens afhængighed af hver vægt) ved at anvende kædereglen fra differentialregning baglæns gennem netværket:
- Output-laget. Hvor meget bidrager output-lagets vægte til fejlen? Direkte beregning.
- Sidste skjulte lag. Hvor meget bidrager dette lags vægte til fejlen? Beregnes via kædereglen: fejlens afhængighed af output × output-lagets afhængighed af dette lag.
- Tidligere lag. Fejlsignalet propageres videre baglæns. Hvert lag beregner sit bidrag baseret på det næste lags gradienter.
- Helt tilbage. Til sidst har hver eneste vægt i netværket fået en gradient. Et tal der siger “justér mig med denne mængde i denne retning.”
Kædereglen
Kædereglen fra matematik er backpropagations hjerte. Hvis y afhænger af x, og z afhænger af y, så er z’s afhængighed af x:
dz/dx = dz/dy × dy/dx
I et netværk med mange lag kædes disse afhængigheder sammen. Fejlens afhængighed af en vægt i lag 1 beregnes ved at multiplicere afhængigheder gennem alle mellemliggende lag. Det er det der gør det muligt at beregne gradienter for dybt nestede netværk.
Backpropagation og gradient descent
Backpropagation og gradient descent er to separate men sammenhørende koncepter:
- Backpropagation beregner gradienterne: retningen og størrelsen af justeringer for hver vægt.
- Gradient descent bruger gradienterne til at opdatere vægtene.
Analogi: backpropagation er kompasset der siger “gå i denne retning.” Gradient descent er skridtet du tager i den retning. Sammen udgør de træningsprocessen.
Udfordringer
Vanishing gradients
I dybe netværk kan gradienterne blive ekstremt små efterhånden som de propageres baglæns:
- Problemet. Hvert lag multiplicerer gradienten med sine vægte. Hvis vægtene er små (under 1), formindskes gradienten eksponentielt. I lag 50 kan gradienten være så lille at den reelt er nul.
- Konsekvens. Tidlige lag lærer ekstremt langsomt. De modtager næsten intet fejlsignal.
- Løsninger. Residual connections (skip connections) i ResNet og transformere sender gradienter direkte til tidlige lag. Batch normalization stabiliserer gradienter. Bedre aktiveringsfunktioner (ReLU i stedet for sigmoid).
Exploding gradients
Det modsatte problem:
- Problemet. Gradienter vokser eksponentielt i stedet for at forsvinde. Vægte opdateres med enorme spring.
- Konsekvens. Træningen divergerer. Loss eksploderer i stedet for at falde.
- Løsninger. Gradient clipping (begræns gradienternes maksimale størrelse). Bedre initialisering af vægte. Learning rate scheduling.
Beregningskrav
- Hukommelse. Backpropagation kræver at alle mellemresultater fra forward pass gemmes for at beregne gradienter. For store modeller er dette gigabytes af GPU-hukommelse.
- Compute. Backward pass tager typisk 2-3x mere compute end forward pass.
- Optimering. Gradient checkpointing genberegner mellemresultater i stedet for at gemme dem, bytter compute for hukommelse.
Backpropagation i moderne AI
Træning af sprogmodeller
Når store sprogmodeller trænes:
- Et træningseksempel: “Hovedstaden i Danmark er [København].”
- Forward pass: modellen forudsiger en sandsynlighedsfordeling over alle tokens.
- Loss: cross-entropy loss måler forskellen mellem forudsigelsen og det korrekte token.
- Backpropagation: gradienter beregnes for alle milliarder af parametre i modellen.
- Gradient descent: alle parametre opdateres en lille smule i retning af lavere loss.
- Gentag for milliarder af træningseksempler over uger af GPU-tid.
Fine-tuning
Backpropagation bruges også til fine-tuning, men kun for et subset af parametre:
- Full fine-tuning. Backpropagation opdaterer alle parametre. Dyrt men effektivt.
- LoRA. Backpropagation opdaterer kun små adapter-matricer. Billigere og hurtigere.
- RLHF. Backpropagation bruges til at justere modellen baseret på menneskelig feedback.
Distribueret træning
For store modeller distribueres backpropagation over tusindvis af GPU’er:
- Data parallelism. Hvert GPU beregner gradienter for et subset af data. Gradienter synkroniseres og gennemsnittes.
- Model parallelism. Modellen deles over flere GPU’er. Backpropagation koordineres mellem GPU’erne.
- Pipeline parallelism. Forskellige lag kører på forskellige GPU’er. Gradienter sendes mellem GPU’er.
Historisk perspektiv
- 1960’erne. De matematiske grundlag for backpropagation formuleres.
- 1986. Rumelhart, Hinton og Williams populariserer backpropagation til neurale netværk.
- 1990’erne-2000’erne. Vanishing gradient-problemet begrænser dybe netværk. AI-vinteren.
- 2012. AlexNet og deep learning-revolutionen. Residual connections og bedre teknikker løser gradient-problemerne.
- 2017-nu. Transformere bruger backpropagation til at træne modeller med hundredvis af milliarder parametre. Backpropagation skalerer til en størrelse ingen havde forestillet sig.
Automatisk differentiering
I praksis implementerer ingen backpropagation manuelt. Moderne frameworks gør det automatisk:
- PyTorch autograd. Du definerer forward pass, PyTorch beregner automatisk alle gradienter via backpropagation.
- TensorFlow GradientTape. Samme koncept, automatisk differentiering af alle operationer.
- JAX. Googles framework med funktionel automatisk differentiering.
Udvikleren skriver: loss.backward(), og frameworket beregner gradienter for alle milliarder parametre automatisk. Det er den abstraktion der gør moderne deep learning praktisk mulig.
Backpropagation er AI’s læringsmotor Uden backpropagation kan neurale netværk ikke lære. Ingen sprogmodeller, ingen billedgenerering, ingen moderne AI. Det er den algoritme der gør det muligt at tage milliarder af tilfældigt initialiserede parametre og, over milliarder af træningseksempler, forme dem til et system der kan forstå sprog, generere billeder og ræsonnere om verden. Backpropagation er simpel i princippet (kædereglen fra gymnasiets matematik) men enorm i effekt.
FAQ
Hvad er backpropagation?
Backpropagation er algoritmen der lader neurale netværk lære af deres fejl. Den sender fejlsignalet baglæns gennem netværket og beregner hvor meget hver parameter bidrager til fejlen, så parametrene kan justeres i den rigtige retning. Det er den fundamentale træningsmekanisme bag al moderne AI.
Hvad er forskellen på backpropagation og gradient descent?
Backpropagation beregner gradienterne: den matematiske retning hver parameter skal justeres. Gradient descent bruger disse gradienter til at opdatere parametrene. Backpropagation siger "gå i denne retning," gradient descent tager skridtet. De bruges altid sammen.
Hvorfor hedder det backpropagation?
Fordi fejlsignalet propageres baglæns (backward) gennem netværket: fra output-laget, gennem de skjulte lag, helt tilbage til input-laget. Det er det modsatte af forward pass, hvor data flyder fremad fra input til output.
Kan AI lære uden backpropagation?
I princippet ja. Der findes alternative metoder som evolution strategies, reinforcement learning uden gradienter og Hebbian learning. Men ingen af disse skalerer så effektivt som backpropagation til store neurale netværk. I praksis bruger næsten al moderne AI-træning backpropagation.