Wie Funktionieren RNNs?
Rekurrente neuronale Netze (RNNs) sind darauf ausgelegt, sequenzielle Daten zu verarbeiten, indem sie Informationen aus vorherigen Eingaben in ihren internen Zuständen speichern. Dies macht sie ideal für Aufgaben wie Sprachmodellierung und Sequenzvorhersage.
- Sequenzielle Verarbeitung: RNN verarbeitet Daten Schritt für Schritt und behält dabei den Überblick über vorherige Informationen;
- Satzvervollständigung: Bei dem unvollständigen Satz
"My favourite dish is sushi. So, my favourite cuisine is _____."
verarbeitet das RNN die Wörter nacheinander. Nach dem Wort"sushi"
sagt es das nächste Wort als"Japanese"
basierend auf dem vorherigen Kontext 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.
Forward Propagation
Während der Forward Propagation verarbeitet das RNN die Eingabedaten Schritt für Schritt:
-
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.
- Dabei gilt:
-
Ausgabegenerierung: 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.
- Dabei gilt:
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 Zeitschritt. 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 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;
- ist der Gradient der Verlustfunktion bezüglich der Gewichtsmatrix.
- Dabei gilt:
Zusammenfassend sind RNNs leistungsfähig, da sie Informationen aus der Vergangenheit speichern und nutzen können, was sie für Aufgaben mit Sequenzen 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
Awesome!
Completion rate improved to 4.55
Wie Funktionieren RNNs?
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. Dies macht sie ideal für Aufgaben wie Sprachmodellierung und Sequenzvorhersage.
- Sequenzielle Verarbeitung: RNN verarbeitet Daten Schritt für Schritt und behält dabei den Überblick über vorherige Informationen;
- Satzvervollständigung: Bei dem unvollständigen Satz
"My favourite dish is sushi. So, my favourite cuisine is _____."
verarbeitet das RNN die Wörter nacheinander. Nach dem Wort"sushi"
sagt es das nächste Wort als"Japanese"
basierend auf dem vorherigen Kontext 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.
Forward Propagation
Während der Forward Propagation verarbeitet das RNN die Eingabedaten Schritt für Schritt:
-
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.
- Dabei gilt:
-
Ausgabegenerierung: 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.
- Dabei gilt:
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 Zeitschritt. 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 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;
- ist der Gradient der Verlustfunktion bezüglich der Gewichtsmatrix.
- Dabei gilt:
Zusammenfassend sind RNNs leistungsfähig, da sie Informationen aus der Vergangenheit speichern und nutzen können, was sie für Aufgaben mit Sequenzen geeignet macht.
Danke für Ihr Feedback!