AI EducademyAIEducademy
🌳

AI-Fundamenten

🌱
AI Seeds

Begin bij nul

🌿
AI Sprouts

Bouw een fundament

🌳
AI Branches

Pas toe in de praktijk

🏕️
AI Canopy

Ga de diepte in

🌲
AI Forest

Beheers AI

🔨

AI-Meesterschap

✏️
AI Sketch

Begin bij nul

🪨
AI Chisel

Bouw een fundament

⚒️
AI Craft

Pas toe in de praktijk

💎
AI Polish

Ga de diepte in

🏆
AI Masterpiece

Beheers AI

🚀

Carrière Klaar

🚀
Interview Startplatform

Start je reis

🌟
Gedragsinterview Meesterschap

Beheers soft skills

💻
Technische Interviews

Slaag voor de codeerronde

🤖
AI- & ML-interviews

ML-interview meesterschap

🏆
Aanbod & verder

Bemachtig het beste aanbod

Alle programma's bekijken→

Lab

7 experimenten geladen
🧠Neuraal netwerk speeltuin🤖AI of mens?💬Prompt lab🎨Beeldgenerator😊Sentimentanalyse💡Chatbot bouwer⚖️Ethiek simulator
🎯Proef-sollicitatieGa naar het lab→
nav.journeyBlog
🎯
Over ons

AI-onderwijs toegankelijk maken voor iedereen, overal

❓
nav.faq

Common questions answered

✉️
Contact

Get in touch with us

⭐
Open Source

Openbaar gebouwd op GitHub

Begin met leren, het is gratis
AI EducademyAIEducademy

MIT-licentie. Open source

Leren

  • Opleidingen
  • Lessen
  • Lab

Community

  • GitHub
  • Bijdragen
  • Gedragscode
  • Over ons
  • FAQ

Ondersteuning

  • Koop een koffie voor me ☕
  • footer.terms
  • footer.privacy
  • footer.contact
AI & Engineering Opleidingen›🌿 AI Sprouts›Lessen›Backpropagation
⛓️
AI Sprouts • Gemiddeld⏱️ 16 min leestijd

Backpropagation

Backpropagation - De Motor van het Leren

In de vorige lessen heb je gezien dat neurale netwerken gewichten hebben, en dat training die gewichten aanpast. Maar hoe weet het netwerk welke gewichten het moet veranderen, en met hoeveel? Het antwoord is backpropagation - het allerbelangrijkste algoritme in moderne deep learning.

Andrej Karpathy noemt het "het belangrijkste dat je moet begrijpen over neurale netwerken." Laten we kijken waarom.

Een Snelle Herhaling van de Forward Pass

Tijdens een forward pass stroomt data van links naar rechts door het netwerk:

  1. Invoerwaarden worden vermenigvuldigd met gewichten en opgeteld.
  2. Een bias wordt toegevoegd.
  3. Een activeringsfunctie (zoals ReLU) wordt toegepast.
  4. De uitvoer gaat naar de volgende laag, en dit herhaalt zich totdat er een uiteindelijke voorspelling ontstaat.

De voorspelling wordt vervolgens vergeleken met het juiste antwoord via een verliesfunctie (behandeld in de volgende les). Het verlies is één enkel getal dat zegt: "Dit is hoe fout je zit."

Een berekeningsgraaf die een forward pass door drie knooppunten toont, met pijlen die de datastroom van invoer naar verlies aangeven
De forward pass bouwt een berekeningsgraaf op. Backpropagation doorloopt deze vervolgens in omgekeerde richting.

Het Kernidee - Schuld Toewijzen

Stel je voor dat je een taart bakt en die vreselijk smaakt. Je hebt vijf ingrediënten gebruikt. De vraag is: welk ingrediënt droeg het meest bij aan de slechte smaak, en in welke mate?

Backpropagation beantwoordt precies deze vraag voor neurale netwerken. Het wijst schuld toe aan elk afzonderlijk gewicht door te vragen: "Als ik dit gewicht een klein beetje verschuif, hoeveel verandert het verlies dan?"

Die mate van verandering wordt een gradiënt genoemd, en die komt uit de calculus - meer specifiek de afgeleide.

🤯

Geoffrey Hinton, een van de "peetvaders van AI," heeft gezegd dat backpropagation het kernidee is dat deep learning praktisch toepasbaar maakte. Zonder dit zou het trainen van netwerken met miljoenen parameters rekenkundig onmogelijk zijn.

De Kettingregel - Eén Idee dat Alles Beheerst

Neurale netwerken zijn ketens van eenvoudige bewerkingen die samen worden gecombineerd. De kettingregel uit de calculus vertelt ons hoe we samengestelde functies moeten differentiëren:

Les 6 van 160% voltooid
←AI-ethiek en vooroordelen

Discussion

Sign in to join the discussion

lessons.suggestEdit

Als y = f(g(x)), dan dy/dx = f'(g(x)) × g'(x).

Alledaagse analogie: Je rijdt naar een winkel. Je snelheid hangt af van hoe hard je het gaspedaal indrukt. De stand van het gaspedaal hangt af van het verkeer. Om te weten hoe het verkeer je snelheid beïnvloedt, vermenigvuldig je: (snelheid per gaspedaalindrukking) × (gaspedaalindrukking per verkeerssituatie). Dat is de kettingregel - het vermenigvuldigen van lokale veranderingssnelheden langs een keten.

🤯

Backpropagation werd gepopulariseerd in een baanbrekend artikel uit 1986 door Rumelhart, Hinton en Williams, maar het kernidee van reverse-mode automatische differentiatie dateert uit de jaren zestig.

Berekeningsgrafen - De Wiskunde Visualiseren

Moderne frameworks zoals PyTorch bouwen een berekeningsgraaf op tijdens de forward pass. Elke bewerking - optellen, vermenigvuldigen, ReLU - wordt een knooppunt. Backpropagation doorloopt deze graaf vervolgens in omgekeerde richting, waarbij de kettingregel bij elk knooppunt wordt toegepast om gradiënten te berekenen.

Zie het als een rivierenstelsel. Het verlies is de oceaan aan het einde. Backprop volgt elke zijrivier stroomopwaarts om te achterhalen hoeveel elke bron (gewicht) heeft bijgedragen aan de uiteindelijke stroom.

Een Klein Uitgewerkt Voorbeeld

Stel L = (w × x - y)² met w = 2, x = 3, y = 10.

  1. Forward: w × x = 6, dan 6 - 10 = -4, dan (-4)² = 16. Verlies = 16.
  2. Backward: dL/d(diff) = 2 × (-4) = -8, dan d(diff)/d(wx) = 1, dus dL/d(wx) = -8.
  3. Tot slot, d(wx)/dw = x = 3, dus dL/dw = -8 × 3 = -24.

De gradiënt van −24 vertelt ons: het verhogen van w zal het verlies snel doen afnemen. Dat is precies het signaal dat we nodig hebben om te verbeteren.

🧠Snelle check

Wat doen we bij de kettingregel met de lokale afgeleiden bij elk knooppunt?

Gradiëntstroom Door Lagen

In een diep netwerk moeten gradiënten door veel lagen reizen. Elke laag vermenigvuldigt de gradiënt met zijn lokale afgeleide. Dit creëert twee gevaarlijke faalmodi:

Verdwijnende Gradiënten

Als lokale afgeleiden klein zijn (bijv. de sigmoid-functie verzadigt dicht bij 0 of 1), maakt herhaalde vermenigvuldiging de gradiënten steeds kleiner richting nul. Vroege lagen leren nauwelijks - ze ontvangen bijna geen signaal. Dit was een groot probleem bij vroege diepe netwerken.

Exploderende Gradiënten

Als lokale afgeleiden groot zijn, groeien gradiënten exponentieel. Gewichten krijgen enorme updates en het netwerk wordt instabiel, wat NaN-waarden oplevert.

🤔
Think about it:

De afgeleide van ReLU is ofwel 0 of 1 - het verkleint de gradiënt nooit wanneer het actief is. Waarom zou deze eenvoudige eigenschap revolutionair zijn geweest voor het trainen van diepe netwerken?

Moderne oplossingen zijn onder meer:

  • ReLU-activering - de afgeleide is 1 voor positieve invoer, waardoor verkleining wordt vermeden.
  • Residuele verbindingen (skip connections) - geven gradiënten een snelweg om lagen te omzeilen.
  • Batch-normalisatie - houdt waarden binnen een gezond bereik.
  • Gradiënt-clipping - beperkt gradiënten om explosies te voorkomen.

Hoe Gewichten Daadwerkelijk Worden Bijgewerkt

Zodra backprop elke gradiënt heeft berekend, werkt de optimalisator (volgende les) elk gewicht bij:

w_nieuw = w_oud - leersnelheid × gradiënt

De leersnelheid bepaalt de stapgrootte. Te groot en je schiet door; te klein en het trainen duurt eindeloos. De gradiënt geeft de richting aan; de leersnelheid bepaalt hoe ver je stapt.

🧠Snelle check

Wat veroorzaakt verdwijnende gradiënten in diepe netwerken?

Waarom Backprop Belangrijk Is

Elke keer dat ChatGPT zijn volgend-woord-voorspelling verbetert, elke keer dat een zelfrijdende auto zijn besturing verfijnt, draait backpropagation op de achtergrond. Het is het algoritme dat leren van fouten wiskundig nauwkeurig maakt.

Zonder backprop zouden we geen efficiënte manier hebben om netwerken met miljoenen - of miljarden - parameters te trainen.

🧠Snelle check

Wat vertelt een gradiënt ons over een gewicht?

🤔
Think about it:

Karpathy benadrukt dat backprop "gewoon een herhaalde toepassing van de kettingregel" is. Als je de kettingregel en berekeningsgrafen begrijpt, begrijp je backprop. Welke andere complexe systemen zouden begrepen kunnen worden door ze op te splitsen in eenvoudige, samenvoegbare onderdelen?

Belangrijkste Punten

  • Backpropagation berekent gradiënten door de berekeningsgraaf in omgekeerde richting te doorlopen.
  • De kettingregel vermenigvuldigt lokale afgeleiden langs elk pad.
  • Verdwijnende gradiënten vertragen het leren; exploderende gradiënten destabiliseren het.
  • Moderne technieken (ReLU, skip connections, gradiënt-clipping) houden de gradiëntstroom gezond.
  • Backprop + een optimalisator = de leermotor van alle moderne deep learning.

📚 Verder Lezen

  • Andrej Karpathy - nn-zero-to-hero (micrograd) - Bouw backprop helemaal zelf op in Python
  • 3Blue1Brown - Backpropagation Calculus - Prachtige visuele uitleg van de kettingregel in neurale netwerken
  • CS231n Backprop Notes - Stanfords beknopte referentie over berekeningsgrafen en gradiëntstroom