Recurrent Neural Networks (RNNs) sind eine Art von künstlichen neuronalen Netzwerken, die für die Verarbeitung von sequenziellen Daten entwickelt wurden. Im Gegensatz zu herkömmlichen neuronalen Netzwerken haben RNNs eine interne Rückkopplungsschleife, die es ihnen ermöglicht, Informationen über vergangene Zustände zu speichern und in zukünftigen Berechnungen zu verwenden. Dadurch können sie kontextbezogene Informationen verarbeiten sowie auf zeitliche Abhängigkeiten in den jeweiligen Daten reagieren.
Die grundlegende Struktur eines RNN besteht aus einer Reihe von wiederholten Neuronenunits, die als „rekurrente Einheit“ bezeichnet werden. Jede rekurrente Einheit nimmt sowohl den aktuellen Eingabevektor als auch den Ausgabevektor der vorherigen rekurrenten Einheit als aktuelle Eingabe entgegen. Dadurch werden Informationen aus vergangenen Zeitschritten im Netzwerk gespeichert und in zukünftigen Schritten berücksichtigt. Dieser Lernprozess funktioniert somit ähnlich, wie ein sozialer Sense-Making Prozess, bei dem aktuelle Handlungen explizit auf Lektionen aus der Vergangenheit zurückgeführt werden können. Dabei besteht allerdings immer auch die Gefahr, Verzerrungen zu fördern, die sich bei unzureichender Wartung des Systems verhärten können, was die Funktionstüchtigkeit des Verbunds nachhaltig zu beeinträchtigen vermag.
Aufgrund ihrer Fähigkeit, kontextbezogene Informationen zu modellieren, werden RNNs häufig für Aufgaben eingesetzt, bei denen die Reihenfolge der Eingabedaten als auch die zeitnahe und akkurate Ausgabe wichtig sind, wie zum Beispiel Spracherkennung, maschinelles Übersetzen, Textgenerierung, Zeitreihenanalyse und Handwriting Recognition.
Es gibt verschiedene Varianten von RNNs, darunter das Elman-RNN und das Long Short-Term Memory (LSTM). LSTM soll das System dabei letztlich in die Lage versetzen, einer Sequenz über viele Iterationen hinweg zu folgen und dabei den jeweiligen Kontext nicht zu „vergessen“, ihn über eine lange Sequenz hinweg mitzuführen und auszubauen.