Neuronale Netzwerke trainieren

Backpropagation ist der gängigste Trainingsalgorithmus für neuronale Netzwerke. Damit wird das Gradientenverfahren für neuronale Netze mit mehreren Schichten ermöglicht. TensorFlow führt die Rückpropagierung automatisch durch, sodass Sie kein tiefgreifendes Verständnis des Algorithmus benötigen. Gehen Sie die folgenden Schritte durch, um einen Eindruck von der Funktionsweise zu bekommen: Visuelle Erklärung zum Backpropagation-Algorithmus. Beachten Sie beim Scrollen durch die vorherige Erklärung Folgendes:

  • Wie Daten durch die Grafik fließen.
  • Wie sich mit dynamischer Programmierung die Berechnung exponentiell vieler Pfade durch den Graphen vermeiden lässt. "Dynamische Programmierung" bedeutet hier nur das Aufzeichnen von Zwischenergebnissen für die Vorwärts- und Rückwärtspässe.

Neuronale Netze trainieren

  • Farbverläufe sind wichtig
    • Wenn sie differenzierbar ist, können wir wahrscheinlich daraus lernen.
  • Farbverläufe sind wichtig
    • Wenn sie differenzierbar ist, können wir wahrscheinlich daraus lernen.
  • Farbverläufe können verschwinden
    • Jede zusätzliche Schicht kann schrittweise das Signal bzw. das Rauschen reduzieren.
    • Auflösungen sind hier hilfreich
  • Farbverläufe sind wichtig
    • Wenn sie differenzierbar ist, können wir wahrscheinlich daraus lernen.
  • Farbverläufe können verschwinden
    • Jede zusätzliche Schicht kann schrittweise das Signal bzw. das Rauschen reduzieren.
    • Auflösungen sind hier hilfreich
  • Farbverläufe können explodieren
    • Lernraten sind hier wichtig
    • Batchnormalisierung (nützlicher Schieberegler) kann Abhilfe schaffen.
  • Farbverläufe sind wichtig
    • Wenn sie differenzierbar ist, können wir wahrscheinlich daraus lernen.
  • Farbverläufe können verschwinden
    • Jede zusätzliche Schicht kann schrittweise das Signal bzw. das Rauschen reduzieren.
    • Auflösungen sind hier hilfreich
  • Farbverläufe können explodieren
    • Lernraten sind hier wichtig
    • Batchnormalisierung (nützlicher Schieberegler) kann Abhilfe schaffen.
  • ReLu-Schichten können absterben
    • Ruhe bewahren und Lernraten senken
  • Wir möchten, dass unsere Funktionen einen angemessenen Maßstab haben.
    • Ein Bereich von [-1, 1], der ungefähr null ausgerichtet ist, funktioniert oft gut
    • Unterstützt das Konvergieren des Gradientenverfahrens; NaN-Falle vermeiden
    • Auch die Vermeidung von Ausreißerwerten kann
  • Dazu stehen Ihnen verschiedene Standardmethoden zur Verfügung:
    • Lineare Skalierung
    • Limitiertes Limit (Beschränkung) auf Maximum, Min.
    • Logskalierung
  • Dropout: Eine weitere Form der Regularisierung, nützlich für NNs
  • Funktioniert, indem Einheiten in einem Netzwerk für einen einzelnen Gradientenschritt nach dem Zufallsprinzip „ausgesetzt“ werden
    • Hier gibt es eine Verbindung zu Ensemble-Modellen
  • Je mehr du auslässt, desto stärker ist die Regularisierung
    • 0,0 = keine Dropout-Regularisierung
    • 1,0 = alles fallen lassen! lernt nichts
    • Zwischenwerte nützlicher