Ü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?
Ü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?
Antworten:
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 :
Und eine RNN:
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:
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.
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.