Ein RNN, also ein rekurrentes neuronales Netz, ist ein neuronales Netz für Sequenzen wie Text, Sprache oder Zeitreihen. Bei jedem Schritt kombiniert es die aktuelle Eingabe mit einem Hidden State aus dem vorherigen Schritt, sodass die Ausgabe davon abhängen kann, was vorher kam.
Das ist die zentrale Idee: Ein RNN hat ein laufendes Gedächtnis. Ein LSTM ist eine gesteuerte Art von RNN, die dieses Gedächtnis sorgfältiger verwaltet, wenn wichtige Informationen viele Schritte lang erhalten bleiben müssen.
Was ein RNN bei jedem Zeitschritt macht
Beim Zeitschritt aktualisiert ein einfaches RNN seinen Hidden State mit einer Regel wie
Hier ist die aktuelle Eingabe, der vorherige Hidden State und der neue Hidden State. Die Matrizen und sowie der Bias werden während des Trainings gelernt.
Wenn das Modell außerdem bei jedem Schritt eine Ausgabe erzeugt, ist eine häufige Form
Die genaue Ausgaberegel hängt von der Aufgabe ab. Manche Probleme brauchen eine Ausgabe pro Schritt, während andere nur den letzten Hidden State verwenden.
Warum der Hidden State wichtig ist
Ein Feedforward-Netz sieht eine Eingabe und macht dann weiter. Ein RNN verwendet einen Teil seiner vorherigen Berechnung erneut. Genau diese Wiederverwendung macht es für Text, Sprache, Zeitreihen und andere geordnete Daten nützlich.
Du kannst dir den Hidden State wie eine kompakte Notiz vorstellen, die das Modell nach jedem Schritt für sich selbst schreibt. Der nächste Schritt liest diese Notiz, aktualisiert sie und gibt die überarbeitete Version weiter.
Wenn du die Reihenfolge derselben Eingaben änderst, ändern sich normalerweise auch die Hidden States. Die Reihenfolge der Sequenz ist wichtig.
Durchgerechnetes RNN-Beispiel
Echte RNNs verwenden normalerweise Vektoren und nichtlineare Aktivierungen. Damit die Rechnung übersichtlich bleibt, verwenden wir einen Spielzeugzustand mit nur einer Zahl:
Verarbeite nun die Sequenz , , .
Erster Schritt:
Zweiter Schritt:
Dritter Schritt:
Wichtig ist hier nicht die genaue Formel. Entscheidend ist die Abhängigkeit vom vorherigen Zustand. In Schritt 2 verwendet das Update nicht nur , sondern auch das, was aus Schritt 1 weitergetragen wurde. Das ist die Kernidee eines RNN.
Wenn du die Reihenfolge tauschst und , , verwendest, dann gilt
Der Endzustand ist also anders, obwohl dieselben Zahlen vorkamen. Genau deshalb sind RNNs Sequenzmodelle und keine Modelle, die Eingaben nur als ungeordnete Menge behandeln.
Warum einfache RNNs bei langen Sequenzen Probleme haben
In einem einfachen RNN müssen alte Informationen viele wiederholte Updates überstehen. Wenn die Sequenz lang ist, kann das schwierig werden. Nützliche Signale können verblassen, und beim Training können die Gradienten über viele Schritte hinweg auch schrumpfen oder explodieren.
Deshalb haben einfache RNNs oft Schwierigkeiten, wenn die Aufgabe von Informationen abhängt, die weit zurück in der Sequenz liegen. Das Problem ist nicht, dass Rekurrenz falsch wäre. Das Problem ist, dass sich Langzeitgedächtnis mit einem einfachen Hidden-State-Update schwer aufrechterhalten lässt.
Wie ein LSTM das Gedächtnis von RNNs verbessert
Ein LSTM, kurz für Long Short-Term Memory, ist ein gesteuertes RNN. Es führt einen stärker strukturierten Speicherpfad ein, der meist Cell State genannt wird, plus Gates, die steuern, welche Informationen vergessen werden, welche neuen Informationen geschrieben werden und welcher Teil als Ausgabe sichtbar wird.
Du brauchst die vollständigen Gate-Gleichungen nicht, um den Punkt zu verstehen. Das Design gibt dem Modell mehr Kontrolle über sein Gedächtnis. Wenn ein Detail viele Schritte lang erhalten bleiben soll, ist ein LSTM besser dafür geeignet als ein einfaches RNN.
Das bedeutet nicht, dass ein LSTM sich alles für immer merkt. Es bedeutet, dass die Architektur besser darin ist zu lernen, wann Informationen bewahrt und wann sie verworfen werden sollen.
RNN vs. LSTM in einfacher Sprache
Ein einfaches RNN hat einen einzigen laufenden Zustand und aktualisiert ihn immer wieder. Ein LSTM ergänzt diese Idee um einen stärkeren Gedächtnismechanismus.
Wenn die Sequenz kurz ist und die Abhängigkeit lokal bleibt, kann ein einfaches RNN ausreichen. Wenn die Aufgabe von Informationen abhängt, die viel früher in der Sequenz vorkamen, ist ein LSTM oft die sicherere Wahl.
Häufige Fehler bei RNNs und LSTMs
Zu denken, ein RNN sieht die ganze Sequenz auf einmal
Meistens nicht. Das Standardbild ist eine schrittweise Verarbeitung, bei der der Zustand weitergetragen wird.
Anzunehmen, ein LSTM löst das Gedächtnisproblem perfekt
Es hilft bei Langzeitabhängigkeiten, ist aber immer noch ein trainiertes Modell mit begrenzter Kapazität und praktischen Grenzen.
Die Reihenfolge der Sequenz zu ignorieren
RNNs sind für geordnete Daten gebaut. Wenn du Elemente einer Sequenz vertauschst, ändert sich die Berechnung.
Den Hidden State als menschenlesbares Gedächtnis zu behandeln
Der Hidden State ist eine gelernte numerische Darstellung, keine saubere Zusammenfassung in Satzform.
Wann RNNs und LSTMs verwendet werden
Sie werden für Sequenzprobleme wie Sprachmodellierung, Spracherkennung, Handschrift, Sensorströme und Zeitreihenprognosen verwendet. Heute nutzen viele Sprachaufgaben stattdessen Transformer, aber RNNs und LSTMs sind weiterhin wichtig, weil sie Sequenzgedächtnis sehr anschaulich vermitteln und in kleineren oder spezialisierten Anwendungen noch nützlich sein können.
Probiere deine eigene Version aus
Schreibe eine eigene Sequenz mit vier Schritten auf und wende die Spielzeugregel an. Tausche dann die Reihenfolge von zwei Eingaben und vergleiche den Endzustand. Dieses kleine Experiment macht die Rolle der Rekurrenz viel klarer als das Akronym allein.
Wenn du noch einen anderen Fall untersuchen willst, vergleiche diese Seite mit einer Erklärung zu Transformern oder Markov-Ketten und achte darauf, wie jedes Modell mit vergangenen Informationen umgeht.
Brauchst du Hilfe bei einer Aufgabe?
Lade deine Frage hoch und erhalte in Sekunden eine verifizierte Schritt-für-Schritt-Lösung.
GPAI Solver öffnen →