Rückausbreitung im neuronalen Netzwerk: Algorithmus für maschinelles Lernen
Bevor wir das Back Propagation Neural Network (BPNN) lernen, wollen wir Folgendes verstehen:
Was sind künstliche neuronale Netze?
Ein neuronales Netzwerk ist eine Gruppe verbundener E/A-Einheiten, wobei jeder Verbindung eine Gewichtung zugeordnet ist, die ihren Computerprogrammen zugeordnet ist. Es hilft Ihnen, Vorhersagemodelle aus großen Datenbanken zu erstellen. Dieses Modell baut auf dem menschlichen Nervensystem auf. Es hilft Ihnen beim Bildverständnis, beim menschlichen Lernen, bei der Computersprache usw.
Was ist Backpropagation?
Backpropagation ist die Essenz des neuronalen Netzwerktrainings. Dabei handelt es sich um eine Methode zur Feinabstimmung der Gewichte eines neuronalen Netzwerks basierend auf der Fehlerrate, die in der vorherigen Epoche (d. h. Iteration) ermittelt wurde. Durch die richtige Abstimmung der Gewichte können Sie Fehlerraten reduzieren und das Modell durch eine stärkere Verallgemeinerung zuverlässig machen.
Backpropagation in neuronalen Netzwerken ist eine Kurzform für „Rückwärtsausbreitung von Fehlern“. Es handelt sich um eine Standardmethode zum Training künstlicher neuronaler Netze. Diese Methode hilft bei der Berechnung des Gradienten einer Verlustfunktion in Bezug auf alle Gewichte im Netzwerk.
So funktioniert der Backpropagation-Algorithmus
Der Backpropagation-Algorithmus im neuronalen Netzwerk berechnet den Gradienten der Verlustfunktion für ein einzelnes Gewicht nach der Kettenregel. Im Gegensatz zu einer nativen direkten Berechnung berechnet er effizient jeweils eine Schicht. Er berechnet den Gradienten, definiert jedoch nicht, wie der Gradient verwendet wird. Er verallgemeinert die Berechnung nach der Deltaregel.
Betrachten Sie zum Verständnis das folgende Beispieldiagramm eines neuronalen Backpropagation-Netzwerks:
- Eingänge X kommen über den vorverbundenen Pfad an
- Die Eingabe wird mithilfe realer Gewichte W modelliert. Die Gewichte werden normalerweise zufällig ausgewählt.
- Berechnen Sie die Ausgabe für jedes Neuron von der Eingabeschicht über die verborgenen Schichten bis zur Ausgabeschicht.
- Berechnen Sie den Fehler in den Ausgaben
ErrorB= Actual Output – Desired Output
- Gehen Sie von der Ausgabeebene zurück zur verborgenen Ebene, um die Gewichte so anzupassen, dass der Fehler verringert wird.
Wiederholen Sie den Vorgang so lange, bis die gewünschte Leistung erreicht ist
Warum brauchen wir Backpropagation?
Die wichtigsten Vorteile der Backpropagation sind:
- Backpropagation ist schnell, einfach und leicht zu programmieren
- Es gibt keine Parameter, die angepasst werden müssen, außer der Anzahl der Eingaben
- Es handelt sich um eine flexible Methode, da keine Vorkenntnisse über das Netzwerk erforderlich sind
- Es handelt sich um eine Standardmethode, die im Allgemeinen gut funktioniert
- Es bedarf keiner besonderen Erwähnung der Merkmale der zu erlernenden Funktion.
Was ist ein Feed-Forward-Netzwerk?
Ein vorwärtsgerichtetes neuronales Netzwerk ist ein künstliches neuronales Netzwerk, bei dem die Knoten niemals einen Zyklus bilden. Diese Art von neuronalem Netzwerk verfügt über eine Eingabeschicht, verborgene Schichten und eine Ausgabeschicht. Es ist die erste und einfachste Art eines künstlichen neuronalen Netzwerks.
Arten von Backpropagation-Netzwerken
Zwei Arten von Backpropagation-Netzwerken sind:
- Statische Rückausbreitung
- Wiederkehrende Backpropagation
Statische Rückausbreitung
Es handelt sich um eine Art Backpropagation-Netzwerk, das eine Zuordnung einer statischen Eingabe zur statischen Ausgabe erstellt. Es ist nützlich, statische Klassifizierungsprobleme wie die optische Zeichenerkennung zu lösen.
Wiederkehrende Backpropagation
Die wiederkehrende Rückausbreitung im Data Mining wird so lange weitergeleitet, bis ein fester Wert erreicht ist. Danach wird der Fehler berechnet und rückwärts propagiert.
Der Hauptunterschied zwischen diesen beiden Methoden besteht darin, dass die Zuordnung bei der statischen Rückausbreitung schnell erfolgt, während sie bei der wiederkehrenden Rückausbreitung nicht statisch ist.
Geschichte der Backpropagation
- Im Jahr 1961 wurde das Grundkonzept der kontinuierlichen Rückausbreitung im Kontext der Kontrolltheorie von J. Kelly, Henry Arthur und E. Bryson abgeleitet.
- Im Jahr 1969 stellten Bryson und Ho eine mehrstufige dynamische Systemoptimierungsmethode vor.
- 1974 stellte Werbos die Möglichkeit fest, dieses Prinzip in einem künstlichen neuronalen Netzwerk anzuwenden.
- 1982 brachte Hopfield seine Idee eines neuronalen Netzwerks vor.
- Im Jahr 1986 erlangte die Backpropagation durch die Bemühungen von David E. Rumelhart, Geoffrey E. Hinton und Ronald J. Williams Anerkennung.
- 1993 gewann Wan als erster Mensch einen internationalen Mustererkennungswettbewerb mit Hilfe der Backpropagation-Methode.
Wichtige Punkte der Backpropagation
- Vereinfacht die Netzwerkstruktur durch Elemente gewichteter Links, die die geringste Auswirkung auf das trainierte Netzwerk haben
- Sie müssen eine Gruppe von Eingabe- und Aktivierungswerten untersuchen, um die Beziehung zwischen der Eingabeebene und der Ebene der verborgenen Einheit zu entwickeln.
- Es hilft bei der Beurteilung der Auswirkungen, die eine bestimmte Eingabevariable auf eine Netzwerkausgabe hat. Die aus dieser Analyse gewonnenen Erkenntnisse sollen in Regeln dargestellt werden.
- Backpropagation ist besonders nützlich für tiefe neuronale Netze, die an fehleranfälligen Projekten wie der Bild- oder Spracherkennung arbeiten.
- Backpropagation nutzt die Kette und die Leistungsregeln ermöglichen die Funktion von Backpropagation mit einer beliebigen Anzahl von Ausgängen.
Beste Praxis Backpropagation
Die Rückausbreitung im neuronalen Netzwerk kann mithilfe der „Schnürsenkel“-Analogie erklärt werden
Zu wenig Spannung =
- Nicht ausreichend einschränkend und sehr locker
Zu viel Spannung =
- Zu viel Zwang (Übertraining)
- Nimmt zu viel Zeit in Anspruch (relativ langsamer Prozess)
- Höhere Bruchwahrscheinlichkeit
Einen Schnürsenkel mehr ziehen als den anderen =
- Unbehagen (Voreingenommenheit)
Nachteile der Verwendung von Backpropagation
- Die tatsächliche Leistung der Backpropagation bei einem bestimmten Problem hängt von den Eingabedaten ab.
- Der Backpropagation-Algorithmus beim Data Mining kann sehr empfindlich auf verrauschte Daten reagieren
- Sie müssen für die Backpropagation den Matrix-basierten Ansatz statt Mini-Batch verwenden.
Zusammenfassung
- Ein neuronales Netzwerk ist eine Gruppe verbundener I/O-Einheiten, wobei jeder Verbindung eine Gewichtung zugeordnet ist, die ihren Computerprogrammen zugeordnet ist.
- Backpropagation ist eine Kurzform für „Rückwärtsausbreitung von Fehlern“. Es handelt sich um eine Standardmethode zum Training künstlicher neuronaler Netze
- Backpropagation-Algorithmus in Maschinelles Lernen ist schnell, einfach und leicht zu programmieren
- Ein Feedforward-BPN-Netzwerk ist ein künstliches neuronales Netzwerk.
- Zwei Arten von Backpropagation-Netzwerken sind 1) statische Backpropagation und 2) wiederkehrende Backpropagation
- Im Jahr 1961 wurde das Grundkonzept der kontinuierlichen Rückausbreitung im Kontext der Kontrolltheorie von J. Kelly, Henry Arthur und E. Bryson abgeleitet.
- Rückausbreitung in Data Mining Vereinfacht die Netzwerkstruktur durch Entfernen gewichteter Links, die nur minimale Auswirkungen auf das trainierte Netzwerk haben.
- Es ist besonders nützlich für tiefe neuronale Netze, die an fehleranfälligen Projekten wie der Bild- oder Spracherkennung arbeiten.
- Der größte Nachteil der Backpropagation besteht darin, dass sie empfindlich auf verrauschte Daten reagieren kann.