Wie RNNs Funktionieren
Swipe um das Menü anzuzeigen
Rekurrente neuronale Netze (RNNs) sind darauf ausgelegt, sequenzielle Daten zu verarbeiten, indem sie Informationen aus vorherigen Eingaben in ihren internen Zuständen speichern. Dadurch eignen sie sich besonders für Aufgaben wie Sprachmodellierung und Sequenzvorhersage.
- Sequenzielle Verarbeitung: RNN verarbeitet Daten Schritt für Schritt und behält dabei den Überblick über vorherige Elemente;
- Satzvervollständigung: Bei dem unvollständigen Satz
"My favourite dish is sushi. So, my favourite cuisine is _____."verarbeitet das RNN die Wörter einzeln. Nach dem Wort"sushi"sagt es das nächste Wort als"Japanese"auf Basis des vorherigen Kontexts voraus; - Gedächtnis in RNNs: Bei jedem Schritt aktualisiert das RNN seinen internen Zustand (Gedächtnis) mit neuen Informationen, um den Kontext für zukünftige Schritte zu bewahren;
- Training des RNN: RNNs werden mit Backpropagation Through Time (BPTT) trainiert, wobei Fehler rückwärts durch jeden Zeitschritt weitergegeben werden, um die Gewichte für bessere Vorhersagen anzupassen.
Vorwärtspropagation
Während der Vorwärtspropagation verarbeitet das RNN die Eingabedaten schrittweise:
- Eingabe zum Zeitpunkt t: Das Netzwerk erhält zu jedem Zeitpunkt eine Eingabe xt;
- Aktualisierung des versteckten Zustands: Der aktuelle versteckte Zustand ht wird basierend auf dem vorherigen versteckten Zustand ht−1 und der aktuellen Eingabe xt mit folgender Formel aktualisiert:
- Dabei gilt:
- W ist die Gewichtsmatrix;
- b ist der Bias-Vektor;
- f ist die Aktivierungsfunktion.
- Ausgabenerzeugung: Die Ausgabe yt wird basierend auf dem aktuellen versteckten Zustand ht mit folgender Formel erzeugt:
- Dabei gilt:
- V ist die Gewichtsmatrix für die Ausgabe;
- c ist der Bias für die Ausgabe;
- g ist die Aktivierungsfunktion der Ausgabeschicht.
Backpropagation-Prozess
Backpropagation in RNNs ist entscheidend für die Aktualisierung der Gewichte und die Verbesserung des Modells. Der Prozess wird an die sequenzielle Natur von RNNs durch Backpropagation Through Time (BPTT) angepasst:
- Fehlerberechnung: Der erste Schritt bei BPTT ist die Berechnung des Fehlers zu jedem Zeitpunkt. Dieser Fehler ist typischerweise die Differenz zwischen der vorhergesagten Ausgabe und dem tatsächlichen Zielwert;
- Gradientenberechnung: In Rekurrenten Neuronalen Netzen werden die Gradienten der Verlustfunktion berechnet, indem der Fehler bezüglich der Netzwerkparameter abgeleitet und rückwärts durch die Zeit vom letzten bis zum ersten Schritt propagiert wird. Dies kann insbesondere bei langen Sequenzen zu verschwindenden oder explodierenden Gradienten führen;
- Gewichtsaktualisierung: Sobald die Gradienten berechnet wurden, werden die Gewichte mit einer Optimierungsmethode wie Stochastic Gradient Descent (SGD) aktualisiert. Die Gewichte werden so angepasst, dass der Fehler in zukünftigen Iterationen minimiert wird. Die Formel zur Aktualisierung der Gewichte lautet:
- Dabei gilt:
- η ist die Lernrate;
- ∂W∂Loss ist der Gradient der Verlustfunktion bezüglich der Gewichtsmatrix.
Zusammenfassend sind RNNs leistungsfähig, da sie Informationen aus der Vergangenheit speichern und nutzen können, was sie für Aufgaben mit Sequenzen besonders geeignet macht.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen