Ein rekurrentes neuronales Netzwerk ist ein neuronales Deep-Learning-Netzwerk, das darauf trainiert ist, sequenzielle Eingaben in bestimmte sequenzielle Ausgaben umzuwandeln. Ein traditionelles neuronales Netzwerk kann sich nicht an vergangene Daten erinnern. Das ist der Grund, warum ein RNN so nützlich ist.
Ein neuronales Netzwerk ist ein Computersystem, das von der Struktur des menschlichen Gehirns inspiriert ist und aus künstlichen Neuronen besteht. Diese Netzwerke wurden entwickelt, um menschliche Entscheidungsprozesse zu imitieren. Traditionelle neuronale Netzwerke verarbeiten jedoch in der Regel jede Eingabe unabhängig voneinander, ohne dass die Sequenz oder der Kontext der Daten berücksichtigt werden können. Bei der Verarbeitung der Wörter „roter Apfel“ würde beispielsweise ein standardmäßiges neuronales Netzwerk „roter“ nicht als Attribut erkennen, das den Apfel beschreibt – und so würde es die kontextbezogene Verbindung zwischen beiden Wörtern übersehen.
Das ist eine große Einschränkung, die Maschinen daran hindern könnte, jemals etwas zu entwickeln, das an Intelligenz herankommt. Um dieses Defizit zu beheben, haben Forscher rekurrente neuronale Netzwerke (RNNs) entwickelt. Im Gegensatz zu herkömmlichen Modellen umfassen RNNs Mechanismen, um Informationen über Zeiträume hinweg zu speichern. Und so können sie einen Speicher für frühere Eingaben pflegen. Diese Fähigkeit ermöglicht es RNNs, Sequenzen und Kontexte innerhalb von Daten zu verstehen, wodurch sie besonders nützlich für Aufgaben sind, bei denen die Reihenfolge entscheidend ist, z. B. Sprachverarbeitung oder Zeitreihenanalyse.
Ein rekurrentes neuronales Netzwerk ist als eine Form der KI-Entscheidungsfindung konzipiert. Sie ist in der Lage, die Reihenfolge zu erkennen, in der Daten angezeigt werden, und sich diese Reihenfolge zu merken. Das ist eine kritische Funktion für die Verarbeitung sequenzieller Informationen wie Text, Zahlen oder Zeitreihendaten. Im Gegensatz zu herkömmlichen neuronalen Netzwerken, die jede Eingabe unabhängig behandeln, können RNNs vorherige Informationen mit aktuellen Eingaben verbinden, was ein präzises Verständnis der Datensequenzen ermöglicht.
Bei seiner Einführung war das Konzept des rekurrenten neuronalen Netzwerks ein echter Gamechanger – und es bildete die Grundlage für die Entwicklung von Deep-Learning-Modellen. Es wird jedoch weitgehend durch Transformer-basierte künstliche Intelligenz und große Sprachmodelle (Large Language Models, LLMs) ersetzt. Diese neuen Technologien sind bei der Verarbeitung sequenzieller Daten effizienter.
RNNs zeichnen sich durch ihre Fähigkeit aus, Datensequenzen zu verarbeiten, indem sie Beziehungen und Abhängigkeiten zwischen einzelnen Elementen erkennen. Zwar teilen alle RNNs dieses grundlegende Merkmal, doch die folgenden Kategorien sind jeweils darauf ausgelegt, bestimmte Arten von Datenverarbeitungsproblemen zu bewältigen. Hier sind die vier Haupt-Typen:
Eins-zu-eins
Ein-zu-eins-Modelle sind die einfachste Form von RNNs. Hierbei handelt es sich um Netzwerke, in denen eine einzelne Eingabe verarbeitet wird, um eine einzelne Ausgabe zu generieren. Dieses Modell dient als Grundlage für komplexere RNN-Architekturen.Eins-zu-viele
In dieser Konfiguration generiert eine einzelne Eingabe mehrere Ausgaben. Diese Art von RNN ist ideal für Aufgaben, bei denen eine einzige Eingabe eine Reihe zugehöriger, aber unterschiedlicher Ausgaben auslösen soll, zum Beispiel, um einen Satz aus einem einzigen beschreibenden Wort oder eine Melodie aus einer einzigen musikalischen Note zu generieren.Viele-zu-eins
Das Viele-zu-eins-Modell verarbeitet mehrere Eingabedatenpunkte, um eine einzelne Ausgabe zu erzeugen. Es wird häufig in Anwendungen wie Stimmungsanalyse verwendet, bei denen verschiedene Wörter (Eingaben) zur Bestimmung der allgemeinen Stimmung (Ausgabe) eines Satzes oder Dokuments beitragen.Viele-zu-viele
Diese letzte Variante verarbeitet Sequenzen sowohl in den Ein- als auch in den Ausgaben. Sie eignet sich für Aufgaben wie Sprachübersetzung, bei der eine Eingabesequenz von Wörtern in einer Sprache in eine Ausgabesequenz in einer anderen Sprache konvertiert wird. Dieses Modell kann auch Situationen verarbeiten, in denen sich die Eingabe- und Ausgabesequenzen in der Länge unterscheiden.
Ein neuronales Netzwerk ohne Schleifenknoten wird als vorwärtsgerichtetes neuronales Netzwerk (oder „Feedforward Neural Network“, FNN) bezeichnet. Diese Art ähnelt RNNs, da beide Modelle versuchen, Daten mithilfe vieler verbundener Knoten auf menschliche Weise zu verarbeiten. Ein FNN kann Informationen jedoch nur nach vorne weiterleiten, und das Modell kann sich nicht an Informationen aus früheren Eingaben erinnern. Im obigen Beispiel erinnert sich dieses Modell nicht mehr an „roter“, wenn es „Apfel“ verarbeitet hat.
Stattdessen verschiebt das FNN Informationen aus der Eingabe- in die Ausgabeschicht, einschließlich aller verborgenen Schichten. Dieser Modelltyp eignet sich gut für die Bildklassifizierung, bei der Ein- und Ausgabe unabhängig sind. Dennoch unterscheidet sich dieses Netzwerk von RNNs, da es sich keine Sequenzen merken kann, wie es bei RNNs der Fall ist.
Die RNN-Architektur verfügt über drei Hauptvarianten, die alle auf der Basisstruktur basieren, um die Funktionalität und Leistung für bestimmte Aufgaben zu verbessern. Diese Flexibilität im Design trägt dazu bei, den einzigartigen Anforderungen verschiedener Datensequenz-Verarbeitungsaufgaben gerecht zu werden. Die folgenden Varianten passen an, wie Daten verarbeitet und ausgegeben werden, wodurch speziellere Anwendungen in einer Reihe von Feldern möglich sind:
Ein bidirektionales rekurrentes neuronales Netzwerk (BRNN) verarbeitet Datensequenzen vorwärts und rückwärts. Die Vorwärtsschicht funktioniert sehr ähnlich wie die erste RNN-Schicht, doch die Rückwärtsschicht arbeitet auf andere Weise, um Informationen in eine zweite Richtung zu verschieben. Die Kombination beider Schichten erhöht die Vorhersagegenauigkeit.
Long Short-Term Memory (LSTM) ist ein Modell, das speziell mit dem Ziel eines weitreichenderen Gedächtnisses entwickelt wurde. Ein Standard-RNN kann sich nur an die letzte Eingabe erinnern. LSTM kann auch Eingaben aus früheren Sequenzen verwenden, um die Vorhersagegenauigkeit zu verbessern. Nehmen wir wieder unser Beispiel mit dem roten Apfel: Der Apfel ist rot. Anne liebt nur rote Äpfel. Ein LSTM erinnert sich daran, dass der Apfel rot ist, wenn Informationen darüber verarbeitet werden, welche Arten von Äpfeln in dieser Situation wichtig sind. Ein RNN erinnert sich nicht daran, dass der Apfel rot ist, da diese Informationen in einer vorherigen Sequenz enthalten waren.
Gated Recurrent Units (GRUs) sind ausgeklügelte Varianten des standardmäßigen RNN, die einige der Einschränkungen im Zusammenhang mit der Speicheraufbewahrung beheben sollen. GRUs integrieren Gates, also Mechanismen, die den Informationsfluss regulieren. Dazu gehören das Update-Gate, das bestimmt, wie viele vergangene Informationen (aus vorherigen Schritten) gespeichert werden sollen, und das Reset-Gate, das entscheidet, wie viele vergangene Informationen vergessen werden sollen. Auf diese Weise können GRUs Informationen selektiv speichern oder verwerfen, was sie äußerst effektiv für Aufgaben macht, bei denen das Verständnis des Kontexts oder der Sequenz von Ereignissen entscheidend ist.
RNNs sind äußerst vielseitig in der Verarbeitung von Daten, die Sequenzen umfassen, und eignen sich daher für eine Vielzahl von Anwendungen. Hier sind einige der häufigsten Anwendungsfälle:
Sprachmodellierung und Textgenerierung
RNNs können das nächste Wort in einem Satz basierend auf vorherigen Wörtern vorhersagen, was für Aufgaben wie die automatische Vervollständigung in Suchmaschinen oder die automatische Generierung von lesbarem Text entscheidend ist.Spracherkennung
Diese Netzwerke können Audiodaten im Zeitverlauf verarbeiten und sind daher ideal, um gesprochene Wörter in Echtzeit zu erkennen und in Text umzuwandeln, wie es in virtuellen Assistenten und mobilen Sprache-zu-Text-Anwendungen der Fall ist.Maschinelle Übersetzung
RNNs können Wortfolgen in einer Sprache analysieren und in eine andere umwandeln, um die grammatische und kontextbezogene Genauigkeit im Übersetzungsprozess zu gewährleisten.Bilderkennung
Zwar werden RNNs nicht so häufig für diese Aufgabe eingesetzt wie andere Modelle, beispielsweise CNNs. Doch RNNs können zum Analysieren von Sequenzen innerhalb von Bildern verwendet werden, z. B. zum Lesen handgeschriebener Texte oder zur sequenziellen Verarbeitung von Videoframes.Zeitreihenprognosen
RNNs eignen sich gut für die Vorhersage zukünftiger Werte in einer Reihe, die auf bisherigen Daten basiert. Diese Analysen kommen in Bereichen wie Börsenprognosen, Wettervorhersagen und Einzelhandels-Bedarfsprognosen zum Einsatz.
Die Verwendung eines RNN bringt einige Herausforderungen mit sich – das ist auch einer der Gründe dafür, dass sie durch neuere neuronale Netzwerke und Variationen ersetzt werden. Hier die vier der größten Hindernisse beim Einsatz eines rekurrenten neuronalen Netzwerks:
Explodierender Gradient
Der Gradient bezieht sich auf die Empfindlichkeit der Fehlerrate, die den Parametern des Modells entspricht. Wenn der Gradient exponentiell zunimmt, kann er instabil werden. Wenn das geschieht, wird er als „explodierender Gradient“ bezeichnet. Diese Art von Fehler kann zu einer Überanpassung führen – ein Phänomen, bei dem das Modell anhand von Trainingsdaten genaue Vorhersagen treffen kann, aber mit realen Daten nicht dazu in der Lage ist.Verschwindender Gradient
Diese Herausforderung entsteht, wenn die Gradientenwerte während des Trainings auf nahezu Null sinken, was den Lernprozess erheblich verlangsamt oder ganz stoppt. Ein verschwindender Gradient erschwert es dem RNN, die Trainingsdaten effektiv zu erfassen und daraus zu lernen. Dies führt oft zu einer Unteranpassung, bei der das Modell nicht in der Lage ist, das Gelernte gut auf neue Daten anzuwenden.Schwierigkeiten bei der Verarbeitung langer Sequenzen
RNNs können mit langen Datensequenzen zu kämpfen haben. Diese Einschränkung entsteht, weil die relevanten Informationen über lange Sequenzen hinweg verdünnt werden können. Und das macht es dem Modell schwerer, effektiv aus diesen Daten zu lernen.Lange Trainingszeiten
Da RNNs Daten sequenziell verarbeiten, können sie große Informationsmengen nicht gleichzeitig verarbeiten. Diese sequenzielle Verarbeitung führt zu längeren Trainingszeiten, wodurch RNNs weniger effizient sind als andere Modelle, die Daten parallel verarbeiten können, z. B. Transformer-Modelle.
Neben der Fähigkeit, Informationen sequenziell zu verarbeiten, gibt es noch einige weitere Hauptvorteile rekurrenter neuronaler Netzwerke:
RNNs sind mit Strukturen wie LSTM-Einheiten (Long Short-Term Memory) ausgestattet, mit denen sie Informationen über längere Zeiträume speichern können. Diese Funktion ist entscheidend für Aufgaben, bei denen ein Verständnis des vergangenen Kontexts erforderlich ist, um genaue Vorhersagen über zukünftige Ereignisse zu treffen.
RNNs können mit Convolutional Neural Networks (CNNs) kombiniert werden, um ihre Fähigkeit zur Verarbeitung räumlicher Daten wie Bilder und Videos zu verbessern. Diese Kombination ermöglicht es RNNs nicht nur, Muster im Zeitverlauf zu erkennen, sondern auch ihr „Sichtfeld“ in Bezug auf Pixeldaten zu erweitern und so die Analyse von Sequenzen in visuellen Eingaben zu verbessern.
Im Gegensatz zu vielen anderen Architekturen neuronaler Netzwerke können RNNs Eingabesequenzen unterschiedlicher Länge verarbeiten, ohne dass die Eingaben geändert werden müssen oder ihre Größe angepasst werden muss. Das macht sie äußerst vielseitig für Anwendungen wie Spracherkennung, bei denen die Dauer der Eingabedaten erheblich variieren kann.
RNNs sind darauf ausgelegt, Sequenzen zu verarbeiten, bei denen das Timing zwischen Ereignissen entscheidend ist. Das macht sie besonders gut für Anwendungen wie Aktienkursvorhersage, Musikkomposition und andere zeitkritische Analysen, bei denen die Sequenz und das Timing vergangener Datenpunkte für Zukunftsprognosen entscheidend sind.
Wie bereits erwähnt, bestehen RNNs aus künstlichen Neuronen, die die menschliche Entscheidungsfindung imitieren. Diese künstlichen Neuronen sind Datenverarbeitungsknoten, die zusammenarbeiten, um komplexe Aufgaben auszuführen. Die Neuronen sind in mehrere Hauptschichten organisiert: Eingabeschicht, Ausgabeschicht und verborgene Schicht. Die Eingabeschicht erhält die zu verarbeitenden Informationen, und die Ausgabeschicht liefert das Ergebnis. Datenverarbeitung, -analyse und -vorhersage erfolgen auf der verborgenen Schicht.
Ein RNN leitet die sequenziellen Daten, die es erhält, schrittweise durch die verborgenen Schichten weiter. Auf der verborgenen Schicht gibt es jedoch einen wiederkehrenden Workflow bzw. eine in sich selbst verschleifte Funktion. Die verborgene Schicht kann frühere Eingaben im Kurzzeitspeicher ablegen und für zukünftige Vorhersagen verwenden. Die aktuelle Eingabe wird im Speicher abgelegt, um die Prognose in der nächsten Sequenz zu unterstützen.
Betrachten Sie beispielsweise die folgende Sequenz: Regen ist nass. Anwender möchten, dass ein RNN die Idee „nass“ vorhersagt, wenn es die Eingabe „Regen“ erhält. Die verborgene Schicht würde die Idee von Regen verarbeiten und speichern. Eine Kopie wird im Speicher gespeichert. Wenn das Netzwerk dann „nass“ empfängt, kann es „Regen“ aus seinem Gedächtnis abrufen und eine vollständige Sequenz erstellen. Diese Informationen können dann verwendet werden, um die Genauigkeit zu verbessern. Diese Funktion ist der Grund, warum sich RNNs so gut für Spracherkennungs-, Übersetzungs- und andere Sprachmodellierungsaufgaben eignen.
ML-Techniker (Maschinelles Lernen) trainieren oft neuronale Netzwerke wie RNNs, indem sie Trainingsdaten ins Modell einspeisen und dann dessen Leistung optimieren. Neuronen in neuronalen Modellen erhalten „Gewichtungen“, die signalisieren, wie einflussreich die während des Trainings erlernten Informationen bei der Vorhersage der Ausgabe sind. Jede Schicht in einem RNN hat anfangs die gleiche Gewichtung.
Im Laufe des Lernprozesses passen die Techniker die Gewichtungen kontinuierlich an, um die Genauigkeit der Vorhersagen zu bestimmen. Dazu verlassen sie sich auf eine Technik namens Backpropagation Through Time (BPTT), um Modellfehler zu berechnen und die Gewichtung entsprechend anzupassen. So können Techniker ermitteln, welcher verborgene Status in der Sequenz einen signifikanten Fehler verursacht, und die Gewichtung anpassen, um die Fehlerwahrscheinlichkeit zu reduzieren.
ML-Techniker bauen ein rekurrentes neuronales Netzwerk mit ihren bevorzugten Programmiersprachen auf, darunter beispielsweise Python. Unabhängig davon, welchen Ansatz sie wählen, gibt es einige allgemeine Schritte zur Implementierung eines RNN:
Eingabeschicht erstellen
Der erste Schritt besteht darin, eine Schicht zu erstellen, die Eingabedaten erfassen kann. Diese Schicht besteht aus künstlichen Neuronen.Verborgene Status erstellen
RNN-Modelle können mehrere verborgene Schichten umfassen, die die eigentliche Verarbeitung für das neuronale Netzwerk durchführen. Diese Schichten bestehen auch aus künstlichen Neuronen, die miteinander verbunden sind. Das hilft dabei, menschliche Vorhersagefähigkeiten nachzuahmen, und ermöglicht gleichzeitig eine Sequenzierung.Ausgabeschicht erstellen
Diese letzte Schicht prognostiziert die Ergebnisse. Einige Modelle können auch weitere nachgelagerte Schichten enthalten.Mit Gewichtungen trainieren
Die genauen Parameter und Fehlermargen werden erstellt, nachdem die Techniker das Modell mit Daten trainiert haben. Es kann einige Zeit dauern, die Gewichtungen genau anzupassen und verschwindende oder explodierende Gradienten zu vermeiden.
Rekurrente neuronale Netzwerke haben eine solide Grundlage für die sequenzielle Datenverarbeitung geschaffen. Allerdings weisen sie Einschränkungen auf, die dazu geführt haben, dass sich viele Unternehmen auf neuere, fortschrittlichere Modelle und künstliche Intelligenz verlassen. Aus diesem Grund nutzt die Now Platform® von ServiceNow fortschrittliches maschinelles Lernen und generative KI. Dazu gehören Frameworks für maschinelles Lernen, Natural Language Understanding, Suche und Automatisierung sowie Analytics und Process Mining – innovative und hochmoderne KI-Technologien, die zusammen zum Wachstum Ihres Unternehmens beitragen.
Sehen Sie sich noch heute eine Demo von ServiceNow an, um zu erfahren, wie neue Lösungen mit neuronalen Netzwerken Ihren Erfolg unterstützen können.