Was ist ein wiederkehrendes neuronales Netzwerk?

12

Überraschenderweise wurde dies vorher nicht gefragt - zumindest fand ich nichts anderes als ein paar vage verwandte Fragen.

Also, was ist ein wiederkehrendes neuronales Netz, und was sind ihre Vorteile gegenüber regulären NNs?

olinarr
quelle
2
In den 1990er Jahren hat Mark W. Tilden den ersten BEAM Robotics Walker vorgestellt. Das System basiert auf dem nv-Neuron, einem oszillierenden neuronalen Netzwerk. Tilden hat das Konzept Bicores genannt, aber es ist dasselbe wie ein wiederkehrendes neuronales Netzwerk. Das innere Arbeiten in ein paar Sätzen zu erklären, ist etwas kompliziert. Der einfachere Weg, die Technologie einzuführen, ist ein autonomes boolesches Netzwerk. Dieses Logikgatternetz enthält eine Rückkopplungsschleife, was bedeutet, dass das System oszilliert. Im Gegensatz zu einem booleschen Logikgatter verfügt ein wiederkehrendes neuronales Netzwerk über mehr Funktionen und kann durch Algorithmen trainiert werden.
Manuel Rodriguez
1
Dieser Blog-Beitrag hat eine großartige Erklärung: colah.github.io/posts/2015-08-Understanding-LSTMs
MrE

Antworten:

6

Recurrent Neural Networks (RNNs) sind eine Klasse künstlicher neuronaler Netzwerke, die von der zyklischen Konnektivität von Neuronen im Gehirn inspiriert sind. Es werden iterative Funktionsschleifen zum Speichern von Informationen verwendet.

Unterschied zu herkömmlichen neuronalen Netzen mit Bildern aus diesem Buch :

Bildbeschreibung hier eingeben

Und eine RNN:

Bildbeschreibung hier eingeben

Beachten Sie den Unterschied: Die Verbindungen von Feedforward-Neuronalen Netzen bilden keine Zyklen. Wenn wir diesen Zustand lockern und auch zyklische Verbindungen zulassen, erhalten wir wiederkehrende neuronale Netze (RNNs). Sie können das in der verborgenen Ebene der Architektur sehen.

Während der Unterschied zwischen einem mehrschichtigen Perzeptron und einem RNN trivial erscheinen mag, sind die Auswirkungen auf das Lernen von Sequenzen weitreichend. Ein MLP kann nur von abbilden Eingabe- zu Ausgabevektoren , wohingegen ein RNN im Prinzip von der gesamten Historie vorheriger Eingaben zu jeder Ausgabe abbilden kann . Tatsächlich ist das äquivalente Ergebnis der universellen Approximationstheorie für MLPs, dass ein RNN mit einer ausreichenden Anzahl von versteckten Einheiten jede messbare Sequenz-zu-Sequenz-Abbildung auf eine beliebige Genauigkeit approximieren kann.

Wichtiger Hinweis zum Mitnehmen:

Durch die wiederkehrenden Verbindungen bleibt ein 'Speicher' früherer Eingaben im internen Zustand des Netzwerks erhalten und beeinflusst dadurch die Netzwerkausgabe.

Es ist nicht angebracht, über Vorteile zu sprechen, da beide dem neuesten Stand der Technik entsprechen und bei bestimmten Aufgaben besonders gut sind. Eine breite Kategorie von Aufgaben, die RNN auszeichnet, ist:

Sequenzmarkierung

Das Ziel der Sequenzkennzeichnung besteht darin, Sequenzen von Eingabedaten Sequenzen von Kennzeichnungen zuzuweisen, die aus einem festen Alphabet stammen.

Beispiel: Transkribieren Sie eine Folge von akustischen Merkmalen mit gesprochenen Wörtern (Spracherkennung) oder eine Folge von Videoframes mit Handgesten (Gestenerkennung).

Einige der Unteraufgaben bei der Sequenzkennzeichnung sind:

Sequenzklassifizierung

Markierungssequenzen dürfen nur die Länge 1 haben. Dies wird als Sequenzklassifizierung bezeichnet, da jede Eingabesequenz einer einzelnen Klasse zugeordnet ist. Beispiele für eine Sequenzklassifizierungsaufgabe umfassen die Identifizierung eines einzelnen gesprochenen Werkes und die Erkennung eines einzelnen handschriftlichen Briefes.

Segmentklassifizierung

Segmentklassifizierung bezieht sich auf Aufgaben, bei denen die Zielsequenzen aus mehreren Beschriftungen bestehen, die Positionen der Beschriftungen, dh die Positionen der Eingabesegmente, für die die Beschriftungen gelten, jedoch im Voraus bekannt sind.

naiv
quelle
sehr nette antwort danke! Ich fange an, es zu bereuen, dass ich nicht an diesem Theoriekurs für Systeme und Steuerung teilgenommen habe. Scheint nützlich zu sein, Feedback-Schleifen und all das, um im Kontext von NNs Bescheid zu wissen.
Olinarr
1
Herzlich willkommen! Sie sind sicherlich nützlich.
Naive
9

Ein wiederkehrendes neuronales Netzwerk (RNN) ist ein künstliches neuronales Netzwerk , das Rückwärts- oder Selbstverbindungen enthält, im Gegensatz zu Vorwärtsverbindungen wie in einem vorwärtsgerichteten neuronalen Netzwerk (FFNN). Das Adjektiv "wiederkehrend" bezieht sich somit auf diese Rückwärts- oder Selbstverbindungen, die Schleifen in diesen Netzwerken erzeugen.

Ein RNN kann unter Verwendung der Rückübertragung durch die Zeit trainiert werden (BBTT) , so dass sich diese Rückwärts- oder Selbstverbindungen zuvor gesehene Eingaben "merken". Daher werden diese Verbindungen hauptsächlich verwendet, um zeitliche Beziehungen zwischen Elementen einer Folge von Eingaben zu verfolgen, wodurch RNNs für die Sequenzvorhersage und ähnliche Aufgaben gut geeignet sind.

Es gibt verschiedene RNN-Modelle: beispielsweise RNNs mit LSTM- oder GRU-Einheiten. LSTM (oder GRU) ist eine RNN, deren einzelne Einheiten eine komplexere Transformation ausführen als eine Einheit in einer "einfachen RNN", die eine lineare Transformation der Eingabe durchführt, gefolgt von der Anwendung einer nichtlinearen Funktion (z. B. ReLU) auf diese lineare Transformation. Theoretisch sind "normale RNN" genauso leistungsfähig wie RNNs mit LSTM-Einheiten. In der Praxis leiden sie unter dem Problem des "Verschwindens und Explodierens von Verläufen". Daher werden in der Praxis LSTMs (oder ähnlich hoch entwickelte wiederkehrende Einheiten) verwendet.

nbro
quelle