Was sind rekurrente neuronale Netze?
Erfahren Sie, wie rekurrente neuronale Netze sequenzielle Daten verwenden, um allgemeine zeitliche Probleme zu lösen, die bei der Sprachkonvertierung und Spracherkennung auftreten
Schwarzer und blauer Hintergrund
Was sind rekurrente neuronale Netze?

Ein rekurrentes neuronales Netz (RNN) ist eine Art von künstlichem neuronalem Netz, das sequenzielle Daten oder Zeitreihendaten verwendet. Diese Deep Learning-Algorithmen werden häufig für ordinale oder zeitliche Probleme verwendet, wie z. B. Sprachkonvertierung, Verarbeitung natürlicher Sprache (NLP), Spracherkennung und Bilduntertitelung; sie sind in vielfach eingesetzte Anwendungen wie Siri, Sprachsuche und Google Translate integriert. Wie Feedforward- und Convolutional Neural Networks (CNNs) verwenden rekurrente neuronale Netze Trainingsdaten zum Lernen. Sie zeichnen sich durch ihr „Gedächtnis“ aus, da sie Informationen aus früheren Eingaben aufnehmen, um die aktuelle Eingabe und Ausgabe zu beeinflussen. Während herkömmliche tiefe neuronale Netze davon ausgehen, dass Eingaben und Ausgaben unabhängig voneinander sind, hängt die Ausgabe rekurrenter neuronaler Netze von den vorherigen Elementen innerhalb der Sequenz ab. Während künftige Ereignisse auch bei der Bestimmung der Ausgabe einer bestimmten Sequenz hilfreich wären, können unidirektionale rekurrente neuronale Netze diese Ereignisse bei ihren Vorhersagen nicht berücksichtigen.

Nehmen wir ein Idiom wie „sich nicht wohl fühlen“, das häufig verwendet wird, wenn jemand krank ist, um uns bei der Erklärung von RNNs zu helfen. Damit das Idiom einen Sinn ergibt, muss es in dieser spezifischen Reihenfolge ausgedrückt werden. Folglich müssen rekurrente Netze die Position jedes Wortes im Idiom berücksichtigen und diese Information nutzen, um das nächste Wort in der Sequenz vorherzusagen.

Ein weiteres Unterscheidungsmerkmal von rekurrenten Netzen ist, dass sie Parameter in jeder Schicht des Netzes gemeinsam nutzen. Während Feedforward-Netze für jeden Knoten unterschiedliche Gewichtungen haben, haben rekurrente neuronale Netze in jeder Schicht des Netzes denselben Gewichtungsparameter. Dennoch werden diese Gewichtungen in den Prozessen der Rückwärtspropagierung und des Gradientenabstiegs angepasst, um das bestärkende Lernen zu erleichtern.

Rekurrente neuronale Netze nutzen den Algorithmus der Rückwärtspropagierung in Zeitschritten (BPTT) zur Bestimmung der Gradienten, der sich von der traditionellen Rückwärtsprogagierung leicht unterscheidet, da er spezifisch für Sequenzdaten ist. Die Grundlagen der BPTT sind die gleichen wie bei der traditionellen Rückwärtspropagierung, bei der das Modell sich selbst trainiert, indem es Fehler von seiner Ausgabeschicht zu seiner Eingabeschicht berechnet. Anhand dieser Berechnungen können wir die Parameter des Modells entsprechend anpassen und ausrichten. BPTT unterscheidet sich vom traditionellen Konzept dadurch, dass es die Fehler bei jedem Zeitschritt summiert, während Feedforward-Netze die Fehler nicht summieren müssen, da sie die Parameter nicht in jeder Schicht gemeinsam nutzen.

Durch diesen Prozess neigen RNNs dazu, auf zwei Probleme zu stoßen, die als explodierende Gradienten und verschwindende Gradienten bekannt sind. Diese Probleme werden durch die Größe des Gradienten definiert, der die Steigung der Verlustfunktion entlang der Fehlerkurve darstellt. Wenn die Steigung zu klein ist, wird sie immer kleiner und die Gewichtungsparameter werden aktualisiert, bis sie unbedeutend werden, d. h. 0 sind. In diesem Fall ist der Algorithmus nicht mehr lernfähig. Explodierende Gradienten treten auf, wenn der Gradient zu groß ist und ein instabiles Modell entsteht. In diesem Fall werden die Modellgewichtungen zu groß, und sie werden schließlich als NaN dargestellt. Eine Lösung für diese Probleme besteht darin, die Anzahl der verdeckten Schichten innerhalb des neuronalen Netzes zu verringern und damit einen Teil der Komplexität des RNN-Modells zu eliminieren.

Relevante Produkte

Watson Studio

Watson Machine Learning Accelerator

Arten von rekurrenten neuronalen Netzen

Feedforward-Netze bilden eine Eingabe auf eine Ausgabe ab, und obwohl wir rekurrente neuronale Netzwerke in den obigen Diagrammen auf diese Weise visualisiert haben, unterliegen sie dieser Bedingung nicht wirklich. Stattdessen können ihre Eingaben und Ausgaben in der Länge variieren, und verschiedene Arten von RNNs werden für unterschiedliche Anwendungsfälle verwendet, z. B. für die Erzeugung von Musik, die Klassifizierung von Stimmungen und die maschinelle Übersetzung.

Einheitliche Aktivierungsfunktionen

Wie im Lernartikel über neuronale Netze beschrieben, bestimmt eine Aktivierungsfunktion, ob ein Neuron aktiviert werden soll. Die nichtlinearen Funktionen wandeln in der Regel die Ausgabe eines bestimmten Neurons in einen Wert zwischen 0 und 1 oder -1 und 1 um. 

RNN-Architekturvarianten

Bidirektionale rekurrente neuronale Netze (BRNN): Hierbei handelt es sich um eine Variante der Netzarchitektur von RNNs. Während unidirektionale RNNs nur auf frühere Eingaben zurückgreifen können, um Vorhersagen über den aktuellen Zustand zu treffen, ziehen bidirektionale RNNs zukünftige Daten heran, um ihre Genauigkeit zu verbessern. Wenn wir auf das Beispiel von „sich nicht wohl fühlen“ zurückkommen, kann das Modell besser vorhersagen, dass das zweite Wort in diesem Satz „nicht“ ist, wenn es weiß, dass das letzte Wort in der Sequenz „fühlen“ ist.

Langes Kurzzeitgedächtnis (LSTM): Dies ist eine beliebte RNN-Architektur, die von Sepp Hochreiter und Jürgen Schmidhuber als Lösung für das Problem des verschwindenden Gradienten eingeführt wurde. In ihrem Papier (PDF, 388 KB) (IBM-externer Link) befassen sie sich mit dem Problem der langfristigen Abhängigkeiten. Das heißt, wenn der vorherige Zustand, der die aktuelle Vorhersage beeinflusst, nicht in der jüngsten Vergangenheit liegt, ist das RNN-Modell möglicherweise nicht in der Lage, den aktuellen Zustand genau vorherzusagen. Nehmen wir zum Beispiel an, dass wir die kursiv gedruckten Wörter wie folgt vorhersagen wollen: „Alice ist allergisch gegen Nüsse. Sie kann keine Erdnussbutter essen.“ Der Kontext einer Nussallergie kann uns helfen, zu erahnen, dass das Lebensmittel, das nicht gegessen werden darf, Nüsse enthält. Wenn dieser Kontext jedoch einige Sätze zurückliegt, wäre es für das RNN schwierig oder sogar unmöglich, die Informationen zu verknüpfen. Um hier Abhilfe zu schaffen, verfügen LSTMs über „Zellen“ in den verborgenen Schichten des neuronalen Netzes, die drei Gates haben – ein Input-Gate, ein Output-Gate und ein Forget-Gate. Diese Gates steuern den Informationsfluss, der für die Vorhersage der Ausgabe im Netz erforderlich ist.  Wenn z. B. Geschlechtspronomen wie „sie“ in früheren Sätzen mehrfach wiederholt wurden, können Sie dies aus dem Zellstatus ausschließen.

Gated Recurrent Units (GRUs): Diese RNN-Variante ähnelt den LSTMs, da sie ebenfalls das Problem des Kurzzeitgedächtnisses von RNN-Modellen angeht. Statt eines „Zellzustands“, der die Informationen reguliert, werden verdeckte Zustände verwendet, und statt drei Gates gibt es nur zwei – ein Reset-Gate und ein Update-Gate. Ähnlich wie bei den Gates in LSTMs steuern die Reset- und Update-Gates, wie viele und welche Informationen gespeichert werden sollen.

Rekurrente neuronale Netze und IBM Cloud

Seit Jahrzehnten ist IBM ein Vorreiter in der Entwicklung von KI-Technologien und neuronalen Netzen, hervorgehoben durch die Entwicklung und Weiterentwicklung von IBM Watson. Watson ist mittlerweile eine anerkannte Lösung für Unternehmen, die innovative natürliche Sprachverarbeitung und Deep Learning-Verfahren auf ihre Systeme anwenden möchten, indem sie ein praxistaugliches abgestuftes Konzept für die Nutzung und Implementierung von KI verfolgen.

IBM Produkte wie IBM Watson Machine Learning unterstützen auch beliebte Python-Bibliotheken wie TensorFlow, Keras und PyTorch, die häufig in rekurrenten neuronalen Netzen verwendet werden. Mithilfe von Tools wie IBM Watson Studio und Watson Machine Learning kann Ihr Unternehmen Ihre Open-Source-KI-Projekte nahtlos in die Produktion überführen und Ihre Modelle in jeder beliebigen Cloud bereitstellen und ausführen.

Weitere Informationen über den Einstieg in die Deep Learning-Technologie finden Sie in IBM Watson Studio.

Melden Sie sich für eine IBMid an und erstellen Sie Ihr IBM Cloud-Konto.
Relevante Lösungen
Watson Studio

Erstellen und skalieren Sie vertrauenswürdige KI in jeder Cloud. Automatisieren Sie den KI-Lebenszyklus für ModelOps.

IBM Watson Studio erkunden
Cloud Paks

Software für KI-gestützte Hybrid-Cloud.

IBM Cloud Paks erkunden
IBM Cloud-Lösungen

Hybrid. Offen. Ausfallsicher. Ihre Plattform und Ihr Partner für digitale Transformation.

Cloud-Lösungen erkunden
Ressourcen Watson Studio

Erstellen und skalieren Sie vertrauenswürdige KI in jeder Cloud. Automatisieren Sie den KI-Lebenszyklus für ModelOps.

Watson Machine Learning Accelerator

Beschleunigen Sie Ihre Deep Learning-Workload. Verkürzen Sie die Zeit bis zur Wertschöpfung mit KI-Modelltraining und -Inferenzen.

Machen Sie den nächsten Schritt

Entdecken Sie, wie IBM Watson jetzt eine sichere Lösung für Unternehmen ist, die innovative natürliche Sprachverarbeitung und Deep Learning-Verfahren auf ihren Systemen anwenden möchten.

Beschleunigen Sie Ihr Spiel