Wie funktioniert Backpropagation in Neuronalen Netzen?

Backpropagation

Wenn du es hierhin geschafft hast, müssen wir dir nicht mehr erklären, was eine Künstliche Intelligenz ist, sondern steigen gleich etwas tiefer ein.

Künstlichen neuronalen Netzen basieren lose auf der Funktionsweise des menschlichen Gehirns. Sie bestehen aus Schichten von Neuronen, die miteinander verbunden sind und Informationen von der Eingabe bis zur Ausgabe des Netzes verarbeiten. Falls das bereits etwas viel für dich ist, können wir dir unseren Artikel Deep Learning: Eine Einführung für Anfänger + DeepDive in Neuronale Netze ans Herz legen.

Was ist Backpropagation?

Backpropagation ist eine Methode, die in künstlichen neuronalen Netzen verwendet wird, um die Genauigkeit von Vorhersagen zu verbessern.


Kurzer Recap: Grundlegende Konzepte Neuronaler Netze

Um Backpropagation besser zu verstehen, betrachten wir zunächst die grundlegenden Konzepte von künstlichen neuronalen Netzen:

Neuronen: Neuronen sind die grundlegenden Verarbeitungseinheiten in einem Neuronalen Netz. Jedes Neuron empfängt Eingaben von anderen Neuronen, verarbeitet sie und gibt das Ergebnis an weitere Neuronen weiter. Du kannst dir das wie ein Netz mit mehreren Ebenen vorstellen.

Gewichte: Gewichte sind die Stärke der Verbindungen zwischen Neuronen. Sie bestimmen, wie stark eine Eingabe das Ergebnis eines Neurons beeinflusst, sozusagen die Gewichtung.

Aktivierungsfunktionen: Sie sind mathematische Funktionen, die das Ergebnis eines Neurons modulieren. Sie helfen dabei, Nichtlinearitäten in das Netz einzuführen, damit es komplexere Muster lernen kann.

Loss-Funktion: Sie misst, wie weit die Vorhersagen des KNN von den tatsächlichen Werten (Zielwerten) entfernt sind. Das Ziel des Trainings ist es, den Loss-Wert zu minimieren. Oft wird das auch mit einer Kostenfunktion verglichen und das Ziel ist es, die Kosten zu minimieren. Man versucht sozusagen den Weg des geringsten Widerstandes zu finden um somit auf die besten Ergebnisse kommen. Also die Vorhersage des Neuronalen Netzes für neue Daten auf Basis von gelernten Daten.


Backpropagation Erklärung

Backpropagation ist ein Optimierungsalgorithmus, der verwendet wird, um die Gewichte eines KNNs während des Trainings anzupassen. Dabei werden folgende Schritte durchgeführt:

Vorwärtspropagation: Das KNN verarbeitet zunächst eine Eingabe und erzeugt eine Vorhersage. Die Eingabe durchläuft das Netz, indem sie von Neuron zu Neuron weitergegeben und durch die Gewichte und Aktivierungsfunktionen moduliert wird. Am Ende erhält man die Ausgabe des Netzes, also die Vorhersage.

Berechnung des Fehlers: Der Fehler (oder Loss) wird berechnet, indem die Differenz zwischen der Vorhersage und dem tatsächlichen Zielwert ermittelt wird. Hierfür wird die Loss-Funktion verwendet.

Rückwärtspropagation: Dieser Schritt ist das Herzstück von Backpropagation. Der Algorithmus berechnet, wie stark jede Gewichtsänderung den Fehler beeinflusst, indem er die Ableitungen (Gradienten) der Loss-Funktion in Bezug auf jedes Gewicht berechnet. Dieser Prozess beginnt bei der Ausgabeschicht und arbeitet sich Schicht für Schicht zurück zum Eingang durch.

Aktualisierung der Gewichte: Die Gewichte werden basierend auf den berechneten Gradienten und einer Lernrate (ein Parameter, der bestimmt, wie groß die Gewichtsaktualisierungen sein sollen) angepasst.


Backpropagation-Beispiel

Angenommen, wir möchten ein Neuronales Netz trainieren, um handgeschriebene Ziffern zu erkennen. Wir haben ein Trainingsset von Bildern von Ziffern und den zugehörigen richtigen Labels (Zielwerten).

  1. Wir geben ein Bild als Eingabe in das Netz.
  2. Das Netz verarbeitet die Eingabe und generiert eine Vorhersage für die Ziffer. Zum Beispiel könnte das Netz vorhersagen, dass das Bild die Ziffer „5“ zeigt, während das tatsächliche Label „3“ ist.
  3. Der Fehler (Loss) wird berechnet, indem die Differenz zwischen der Vorhersage („5“) und dem tatsächlichen Zielwert („3“) ermittelt wird. In diesem Fall wäre der Fehler hoch, da die Vorhersage nicht korrekt ist.
  4. Backpropagation wird nun angewendet, um herauszufinden, wie die Gewichte im Netz angepasst werden müssen, um den Fehler zu reduzieren. Der Algorithmus berechnet die Gradienten der Loss-Funktion in Bezug auf jedes Gewicht, indem er von der Ausgabeschicht rückwärts durch das Netz arbeitet.
  5. Die Gewichte werden basierend auf den berechneten Gradienten und der Lernrate angepasst. Dieser Schritt hilft, das Netz zu „korrigieren“, damit es in Zukunft bessere Vorhersagen treffen kann.

Dieser Prozess wird über viele Iterationen wiederholt, indem verschiedene Bilder aus dem Trainingsset verwendet werden. Mit der Zeit lernt das Neuronale Netz, die handgeschriebenen Ziffern immer genauer zu erkennen, da die Gewichte kontinuierlich angepasst werden, um den Fehler zu minimieren. Ein Trainingsset kann beispielsweiser aus der Interaktion eines Chatbots mit Nutzern gewonnen werden.

Insgesamt ist Backpropagation eine effiziente Methode, um die Gewichte eines künstlichen neuronalen Netzes während des Trainings anzupassen und dadurch die Genauigkeit der Vorhersagen zu verbessern. Es ist ein zentraler Bestandteil vieler moderner KI-Systeme und -Anwendungen.

Immer noch nicht verstanden?

Dann können wir dir das ausführliche und überaus gelungene Video des MIT mit Dozenz Alexander Amini empfehlen.

Kommentar verfassen

Scroll to Top