Was ist RNN?
Ein rekurrentes neuronales Netzwerk (RNN) ist ein Deep-Learning-Modell, das darauf trainiert wird, eine sequentielle Dateneingabe zu verarbeiten und in eine bestimmte sequentielle Datenausgabe umzuwandeln. Sequenzielle Daten sind Daten – wie Wörter, Sätze oder Zeitreihendaten –, bei denen sequentielle Komponenten auf der Grundlage komplexer Semantik- und Syntaxregeln miteinander verknüpft sind. Ein RNN ist ein Softwaresystem, das aus vielen miteinander verbundenen Komponenten besteht und nachahmt, wie Menschen sequentielle Datenkonvertierungen durchführen, z. B. das Übersetzen von Text von einer Sprache in eine andere. RNNs werden weitgehend durch transformatorbasierte künstliche Intelligenz (KI) und große Sprachmodelle (LLM) ersetzt, die bei der sequentiellen Datenverarbeitung viel effizienter sind.
Weitere Informationen über neuronale Netzwerke
Weitere Informationen über Deep Learning
Mehr über Transformatoren in der künstlichen Intelligenz lesen
Wie funktioniert ein rekurrentes neuronales Netzwerk?
Das folgende Bild zeigt ein Diagramm eines RNN.
RNNs bestehen aus Neuronen: Datenverarbeitungsknoten, die zusammenarbeiten, um komplexe Aufgaben zu erfüllen. Die Neuronen sind in Eingabe-, Ausgabe- und verborgene Schichten organisiert. Die Eingabeschicht empfängt die zu verarbeitenden Informationen, und die Ausgabeschicht liefert das Ergebnis. Datenverarbeitung, Analyse und Vorhersage finden in der verborgenen Ebene statt.
Verborgene Schicht
RNNs funktionieren, indem sie die sequentiellen Daten, die sie erhalten, Schritt für Schritt an die verborgenen Schichten weitergeben. Sie haben jedoch auch einen sich selbst wiederholenden oder wiederkehrenden Arbeitsablauf: Die verborgene Schicht kann sich frühere Eingaben merken und für zukünftige Vorhersagen in einer Kurzzeitgedächtniskomponente verwenden. Es verwendet die aktuelle Eingabe und den gespeicherten Speicher, um die nächste Sequenz vorherzusagen.
Stellen Sie sich zum Beispiel die folgende Sequenz vor: Apfel ist rot. Sie möchten, dass das RNN rot vorhersagt, wenn es die folgende Eingabesequenz empfängt: Apfel. Wenn die verborgene Ebene das Wort Apfel verarbeitet, legt sie eine Kopie in ihrem Speicher ab. Wenn es dann das Wort ist sieht, erinnert es sich an Apfel aus seinem Gedächtnis und versteht die vollständige Reihenfolge: Apfel ist für den Kontext. Es kann dann rot vorhersagen, um die Genauigkeit zu verbessern. Dies macht RNNs nützlich für Spracherkennung, maschinelle Übersetzung und andere Sprachmodellierungsaufgaben.
Mehr über maschinelle Übersetzung lesen
Training
Techniker für Machine Learning (ML) trainieren tiefe neuronale Netzwerke wie RNNs, indem sie Modelle mit Trainingsdaten füttern und ihre Leistung optimieren. In ML sind die Gewichte der Neuronen Signale, anhand derer bestimmt wird, welchen Einfluss die während des Trainings gelernten Informationen auf die Vorhersage der Leistung haben. Jede Schicht in einem RNN hat das gleiche Gewicht.
ML-Techniker passen Gewichte an, um die Vorhersagegenauigkeit zu verbessern. Sie verwenden eine Technik namens Backpropagation through time (BPTT), um Modellfehler zu berechnen und ihr Gewicht entsprechend anzupassen. BPTT setzt die Ausgabe auf den vorherigen Zeitschritt zurück und berechnet die Fehlerrate neu. Auf diese Weise kann es erkennen, welcher verborgene Zustand in der Sequenz einen signifikanten Fehler verursacht, und die Gewichtung neu anpassen, um die Fehlerquote zu verringern.
Was sind die Arten von rekurrenten neuronalen Netzwerken?
RNNs zeichnen sich oft durch eine Eins-zu-Eins-Architektur aus: Eine Eingabesequenz ist einer Ausgabe zugeordnet. Sie können sie jedoch flexibel an verschiedene Konfigurationen für bestimmte Zwecke anpassen. Im Folgenden sind einige gängige RNN-Typen aufgeführt.
Eins-zu-viele
Dieser RNN-Typ kanalisiert einen Eingang an mehrere Ausgänge. Es ermöglicht sprachliche Anwendungen wie Bildunterschriften, indem ein Satz aus einem einzigen Schlüsselwort generiert wird.
Viele-zu-viele
Das Modell verwendet mehrere Eingaben, um mehrere Ausgaben vorherzusagen. Sie können beispielsweise einen Sprachübersetzer mit einem RNN erstellen, der einen Satz analysiert und die Wörter in einer anderen Sprache korrekt strukturiert.
Viele-zu-eins
Mehrere Eingänge werden einem Ausgang zugeordnet. Dies ist hilfreich bei Anwendungen wie der Stimmungsanalyse, bei der das Modell positive, negative und neutrale Stimmungen der Kunden anhand von Kundenreferenzen vorhersagt.
Wie lassen sich rekurrente neuronale Netze mit anderen Deep-Learning-Netzwerken vergleichen?
RNNs sind eine von mehreren verschiedenen neuronalen Netzwerkarchitekturen.
Rekurrentes neuronales Netzwerk im Vergleich zu neuronalem Feed-Forward-Netzwerk
Wie RNNs sind neuronale Feed-Forward-Netze künstliche neuronale Netze, die Informationen von einem Ende zum anderen Ende der Architektur weiterleiten. Ein neuronales Feed-Forward-Netzwerk kann einfache Klassifizierungs-, Regressions- oder Erkennungsaufgaben ausführen, aber es kann sich nicht an die vorherige Eingabe erinnern, die es verarbeitet hat. Zum Beispiel vergisst es Apfel, wenn sein Neuron das Wort ist verarbeitet. Das RNN überwindet diese Speicherbeschränkung, indem es einen verborgenen Gedächtniszustand in das Neuron einbezieht.
Rekurrentes neuronales Netzwerk im Vergleich zu konvolutionellen neuronalen Netzwerken
Konvolutionale neuronale Netze sind künstliche neuronale Netze, die für die Verarbeitung zeitlicher Daten konzipiert sind. Sie können konvolutionale neuronale Netze verwenden, um räumliche Informationen aus Videos und Bildern zu extrahieren, indem Sie sie durch eine Reihe von konvolutionalen und Pooling-Schichten im neuronalen Netzwerk leiten. RNNs wurden entwickelt, um langfristige Abhängigkeiten in sequentiellen Daten zu erfassen
Was sind die Grenzen rekurrenter neuronaler Netzwerke?
Seit der Entwicklung des RNN haben ML-Techniker erhebliche Fortschritte bei Anwendungen zur Verarbeitung natürlicher Sprache (NLP) mit RNNs und ihren Varianten erzielt. Die RNN-Modellfamilie weist jedoch mehrere Einschränkungen auf.
Lesen Sie mehr über natürliche Sprachverarbeitung
Explodierender Gradient
Ein RNN kann die Ausgabe beim ersten Training falsch vorhersagen. Sie benötigen mehrere Iterationen, um die Modellparameter anzupassen und die Fehlerrate zu reduzieren. Die Empfindlichkeit der Fehlerrate, die dem Modellparameter entspricht, kann als Gradient beschrieben werden. Sie können sich einen Gradienten als Neigung vorstellen, die Sie beim Abstieg von einem Hügel überwinden. Ein steilerer Gradient ermöglicht es dem Modell, schneller zu lernen, während ein flacher Gradient die Lernrate verringert.
Ein explodierender Gradient tritt auf, wenn der Gradient exponentiell zunimmt, bis das RNN instabil wird. Wenn Gradienten unendlich groß werden, verhält sich das RNN unregelmäßig, was zu Leistungsproblemen wie Überanpassung führt. Überanpassung ist ein Phänomen, bei dem das Modell anhand von Trainingsdaten genaue Vorhersagen treffen kann, bei realen Daten jedoch nicht.
Verschwindender Gradient
Das Problem des verschwindenden Gradienten ist ein Zustand, bei dem der Gradient des Modells im Training gegen Null geht. Wenn der Gradient verschwindet, lernt das RNN nicht effektiv aus den Trainingsdaten, was zu einer Unteranpassung führt. Ein Modell mit Unteranpassung funktioniert in realen Anwendungen nicht gut, da seine Gewichte nicht angemessen angepasst wurden. RNNs laufen Gefahr, zu verschwinden und Gradientenprobleme zu verursachen, wenn sie lange Datensequenzen verarbeiten.
Langsame Trainingszeit
Ein RNN verarbeitet Daten sequentiell, was seine Fähigkeit einschränkt, eine große Anzahl von Texten effizient zu verarbeiten. Ein RNN-Modell kann beispielsweise die Stimmung eines Käufers anhand einiger Sätze analysieren. Es erfordert jedoch enorme Rechenleistung, Speicherplatz und Zeit, um eine Seite eines Aufsatzes zusammenzufassen.
Was sind einige Varianten der Architektur rekurrenter neuronaler Netzwerke?
Die RNN-Architektur legte den Grundstein für ML-Modelle mit Sprachverarbeitungsfunktionen. Inzwischen sind mehrere Varianten entstanden, die das Prinzip der Speicherspeicherung teilen und die ursprüngliche Funktionalität verbessern. Im Folgenden sind einige Beispiele aufgeführt.
Bidirektionale rekurrente neuronale Netzwerke
Ein bidirektionales rekurrentes neuronales Netzwerk (BRNN) verarbeitet Datensequenzen mit Vorwärts- und Rückwärtsschichten verborgenen Knoten. Die Vorwärtsschicht funktioniert ähnlich wie das RNN, das die vorherige Eingabe im verborgenen Zustand speichert und sie verwendet, um die nachfolgende Ausgabe vorherzusagen. Die Rückwärtsschicht arbeitet hingegen in die entgegengesetzte Richtung, indem sie sowohl die aktuelle Eingabe als auch den zukünftigen verborgenen Status verwendet, um den aktuellen verborgenen Status zu aktualisieren. Durch die Kombination beider Ebenen kann das BRNN die Vorhersagegenauigkeit verbessern, indem vergangene und zukünftige Kontexte berücksichtigt werden. Sie können das BRNN beispielsweise verwenden, um das Wort Bäume im Satz Apfelbäume sind hoch vorherzusagen.
Long short-term memory
Das Long short-term memory (LSTM) ist eine RNN-Variante, die es dem Modell ermöglicht, seine Speicherkapazität zu erweitern, um einen längeren Zeitraum zu berücksichtigen. Ein RNN kann sich nur an die unmittelbar vergangene Eingabe erinnern. Es kann keine Eingaben aus mehreren früheren Sequenzen verwenden, um seine Vorhersage zu verbessern.
Betrachten sie die folgenden Sätze: Tom ist eine Katze. Toms Lieblingsessen ist Fisch. Wenn Sie ein RNN verwenden, kann sich das Model nicht daran erinnern, dass Tom eine Katze ist. Bei der Vorhersage des letzten Wortes kann es verschiedene Lebensmittel generieren. LSTM-Netzwerke fügen der verborgenen Schicht einen speziellen Speicherblock hinzu, der als Zellen bezeichnet wird. Jede Zelle wird von einem Eingangs-Gate, einem Ausgangs-Gate und einem Vergessen-Gate gesteuert, sodass sich die Schicht hilfreiche Informationen merken kann. Die Zelle erinnert sich beispielsweise an die Wörter Tom und Katze, sodass das Modell das Wort Fisch vorhersagen kann.
Gated Recurrent Units
Eine Gated Recurrent Unit (GRU) ist ein RNN, das eine selektive Speicherung ermöglicht. Dieses Modell fügt seiner verborgenen Schicht, die Informationen im Speicher ablegen oder entfernen kann, eine Aktualisierung hinzu und vergisst das Gate.
Wie überwinden Transformatoren die Grenzen rekurrenter neuronaler Netze?
Transformatoren sind Deep-Learning-Modelle, die Mechanismen der Selbstaufmerksamkeit in einem neuronalen Encoder-Decoder-Feed-Forward-Netzwerk verwenden. Sie können sequentielle Daten auf die gleiche Weise verarbeiten wie RNNs.
Selbstaufmerksamkeit
Transformatoren verwenden keine verborgenen Zustände, um die Interdependenzen von Datensequenzen zu erfassen. Stattdessen verwenden sie einen Selbstaufmerksamkeitskopf, um Datensequenzen parallel zu verarbeiten. Dadurch können Transformatoren längere Sequenzen in kürzerer Zeit trainieren und verarbeiten als ein RNN. Mit dem Mechanismus der Selbstaufmerksamkeit überwinden Transformatoren die Speicherbeschränkungen und Sequenzinterdependenzen, denen RNNs ausgesetzt sind. Transformatoren können Datensequenzen parallel verarbeiten und sich mithilfe der Positionskodierung daran erinnern, wie sich jede Eingabe auf andere bezieht.
Parallelität
Transformatoren lösen die Gradientenprobleme, denen RNNs ausgesetzt sind, indem sie Parallelität während des Trainings ermöglichen. Durch die gleichzeitige Verarbeitung aller Eingabesequenzen unterliegt ein Transformator keinen Backpropagation-Beschränkungen, da Gradienten ungehindert zu allen Gewichten fließen können. Sie sind auch für paralleles Rechnen optimiert, das Grafikprozessoren (GPUs) für generative KI-Entwicklungen bieten. Parallelität ermöglicht es Transformatoren, massiv zu skalieren und komplexe NLP-Aufgaben zu bewältigen, indem sie größere Modelle erstellen.
Wie kann AWS Ihre RNN-Anforderungen unterstützen?
Generative KI in Amazon Web Services (AWS) bietet Services, Tools und Ressourcen, mit deren Hilfe Sie traditionelle KI-Anwendungen mit fortschrittlicher transformerbasierter Technologie erstellen, verwalten und skalieren können. Beispiel:
- Amazon SageMaker ist ein vollständig verwalteter Service zur Vorbereitung von Daten und zum Erstellen, Trainieren und Bereitstellen von ML-Modellen für jeden Anwendungsfall. Es verfügt über eine vollständig verwaltete Infrastruktur, Tools und Workflows.
- Amazon Bedrock vereinfacht die generative KI-Entwicklung, indem es die sichere und effiziente Anpassung und Bereitstellung branchenführender Basismodelle (FM) ermöglicht.
- AWS Trainium ist ein ML-Beschleuniger, mit dem Sie Deep-Learning-Modelle kostengünstig in der Cloud trainieren und skalieren können.
Beginnen Sie mit generativer KI auf AWS, indem Sie sich noch heute für ein Konto anmelden.
Nächste Schritte in AWS
Sie erhalten sofort Zugriff auf das kostenlose Kontingent von AWS.
Starten Sie mit der Entwicklung in der AWS-Managementkonsole.