Backpropagation in der Praxis

Einführung in Deep Learning mit Python

Dan Becker

Data Scientist and contributor to Keras and TensorFlow libraries

Backpropagation

ch2_4_v2.002.png

Einführung in Deep Learning mit Python

Backpropagation

ch2_4_v2.003.png

Einführung in Deep Learning mit Python

Backpropagation

ch2_4_v2.004.png

Einführung in Deep Learning mit Python

Backpropagation

ch2_4_v2.010.png

Einführung in Deep Learning mit Python

Steigungen für beliebige Gewichte berechnen

  • Gradienten für ein Gewicht sind das Produkt aus:
    1. Knotenwert, der in dieses Gewicht fließt
    2. Steigung der Aktivierungsfunktion des Zielknotens
    3. Steigung der Loss-Funktion w.r.t. dem Output-Knoten
Einführung in Deep Learning mit Python

Backpropagation

ch2_4_v2.016.png

Einführung in Deep Learning mit Python

Backpropagation

ch2_4_v2.017.png

Einführung in Deep Learning mit Python

Backpropagation

ch2_4_v2.018.png

Einführung in Deep Learning mit Python

Backpropagation

ch2_4_v2.019.png

Einführung in Deep Learning mit Python

Backpropagation

ch2_4_v2.020.png

Einführung in Deep Learning mit Python

Backpropagation

ch2_4_v2.021.png

Einführung in Deep Learning mit Python

Backpropagation: Zusammenfassung

  • Starte mit zufälligen Gewichten
  • Nutze Forward Propagation für eine Vorhersage
  • Nutze Backpropagation, um die Steigung der Loss-Funktion w.r.t. jedem Gewicht zu berechnen
  • Multipliziere diese Steigung mit der Lernrate und ziehe sie von den aktuellen Gewichten ab
  • Wiederhole den Zyklus, bis wir eine flache Stelle erreichen
Einführung in Deep Learning mit Python

Stochastic Gradient Descent

  • Häufig berechnet man Steigungen nur auf einem Teil der Daten (ein Batch)
  • Nutze für das nächste Update einen anderen Batch
  • Starte von vorn, sobald alle Daten genutzt sind
  • Ein kompletter Durchlauf durch die Trainingsdaten heißt Epoch
  • Wenn Steigungen batchweise berechnet werden: Stochastic Gradient Descent
Einführung in Deep Learning mit Python

Lass uns üben!

Einführung in Deep Learning mit Python

Preparing Video For Download...