Sofortantwort
RNN einfach erklärt
Neuronales Netzwerk mit Gedächtnis für sequenzielle Datenverarbeitung.
- Kurz gesagt
- Verarbeitet Sequenzen Schritt für Schritt und behält einen internen Zustand (Gedächtnis)
- Typischer Einsatz
- Zeitreihenanalyse, Spracherkennung, Musikgenerierung
- Wichtig zu wissen
- Leidet unter dem Vanishing Gradient Problem bei langen Sequenzen
Recurrent Neural Network im Überblick
Ein RNN ist ein neuronales Netz mit Gedächtnis. Es verarbeitet Daten Schritt für Schritt und gibt dabei Informationen von einem Schritt zum nächsten weiter.
Das Prinzip:
Eingabe: "Die" → "Katze" → "sitzt" → "auf" → "dem" → "Dach"
↓ ↓ ↓ ↓ ↓
Zustand: h₁ → h₂ → h₃ → h₄ → h₅ → h₆
Jeder Zustand h enthält Informationen über alle bisherigen Eingaben.
Warum wurden RNNs durch Transformer ersetzt? RNNs verarbeiten Sequenzen sequenziell (langsam) und haben Probleme mit langen Abhängigkeiten (Vanishing Gradient). Transformer sind parallel und erfassen Langzeitabhängigkeiten besser.
Technisch betrachtet
Architektur
h_t = tanh(W_hh · h_{t-1} + W_xh · x_t + b)
y_t = W_hy · h_t + b_y
Der Hidden State h_t wird bei jedem Zeitschritt aktualisiert und enthält das “Gedächtnis” des Netzes.
Das Vanishing Gradient Problem
Bei langen Sequenzen werden Gradienten bei der Backpropagation durch die Zeit (BPTT) exponentiell kleiner. Das Netz kann keine Langzeitabhängigkeiten lernen. Lösungen: LSTM, GRU oder Transformer.
Varianten
- Bidirektional: Verarbeitet Sequenz vorwärts und rückwärts
- Deep RNN: Mehrere RNN-Schichten gestapelt
- Encoder-Decoder: Für Sequence-to-Sequence-Aufgaben (Übersetzung)