🔁
Lektion 2 · Grundlagen

Autograd & Rechengraph

Wie PyTorch per Kettenregel automatisch Gradienten berechnet

Tempo
1 / 17
Vorbereitung Erzeugen Forward Verlust Backward Update Ergebnis

📜Quelltext

Zeile 1
1import torch
2 
3x = torch.tensor(2.0) # Eingabe
4w = torch.tensor(3.0, requires_grad=True) # Gewicht
5b = torch.tensor(1.0, requires_grad=True) # Bias
6 
7y = w * x # Forward: Multiplikation
8z = y + b # Forward: Addition
9loss = (z - 10) ** 2 # Verlust: Abstand zum Ziel 10
10 
11loss.backward() # Backward: Kettenregel
12print(w.grad, b.grad)
13 
14with torch.no_grad(): # Update ohne Rechengraph
15 w -= 0.01 * w.grad
16 b -= 0.01 * b.grad
17 
18print((w * x + b - 10) ** 2) # neuer Verlust

🖥️Konsole (stdout)

— noch keine Ausgabe —

🔎Variablen (locals)

🟡 = geändert

Noch keine Variablen – das Programm hat gerade erst begonnen.

🧰 VorbereitungZeile 1

Autograd: Ableiten per Knopfdruck

Training heißt: Parameter so verändern, dass der Verlust sinkt. Dafür braucht man die Ableitung (den Gradienten) des Verlusts nach jedem Parameter. PyTorch berechnet sie automatisch: Während des Rechnens entsteht ein Rechengraph, der beim backward() rückwärts durchlaufen wird.

🎬Visualisierung

🔁

Forward baut den Graphen, Backward läuft ihn rückwärts

  • 1Forward: Werte fließen von links nach rechts
  • 2Jede Operation merkt sich ihre Eingaben (grad_fn)
  • 3Backward: Gradienten fließen von rechts nach links (Kettenregel)
  • 4Nur Tensoren mit requires_grad=True bekommen ein .grad