Was ist der Unterschied zwischen einem Feed-Forward- und einem rekurrenten neuronalen Netzwerk?
Warum würden Sie eine übereinander verwenden?
Gibt es andere Netzwerktopologien?
Was ist der Unterschied zwischen einem Feed-Forward- und einem rekurrenten neuronalen Netzwerk?
Warum würden Sie eine übereinander verwenden?
Gibt es andere Netzwerktopologien?
Antworten:
Mit Feed-Forward- ANNs können Signale nur in eine Richtung übertragen werden: vom Eingang zum Ausgang. Es gibt keine Rückmeldungen (Schleifen); Das heißt , die Ausgabe einer Ebene wirkt sich nicht auf dieselbe Ebene aus. Feed-Forward-ANNs sind in der Regel einfache Netzwerke, die Eingaben mit Ausgaben verknüpfen. Sie werden häufig in der Mustererkennung eingesetzt. Diese Art der Organisation wird auch als Bottom-up oder Top-down bezeichnet.
Rückkopplungsnetzwerke (oder wiederkehrende oder interaktive Netzwerke) können Signale aufweisen, die sich in beide Richtungen bewegen, indem Schleifen in das Netzwerk eingefügt werden. Feedback-Netzwerke sind leistungsstark und können extrem kompliziert werden. Berechnungen, die aus früheren Eingaben abgeleitet wurden, werden in das Netzwerk zurückgespeist, was ihnen eine Art Speicher gibt. Feedback-Netzwerke sind dynamisch. Ihr 'Zustand' ändert sich kontinuierlich, bis sie einen Gleichgewichtspunkt erreichen. Sie bleiben am Gleichgewichtspunkt, bis sich die Eingabe ändert und ein neues Gleichgewicht gefunden werden muss.
Neuronale Vorwärtskopplungsnetze eignen sich ideal zum Modellieren von Beziehungen zwischen einem Satz von Prädiktor- oder Eingabevariablen und einer oder mehreren Antwort- oder Ausgabevariablen. Mit anderen Worten, sie eignen sich für alle funktionalen Zuordnungsprobleme, bei denen wir wissen möchten, wie sich eine Reihe von Eingabevariablen auf die Ausgabevariable auswirkt. Die Multilayer Feedforward Neuronalen Netze, auch Multilayer Perceptrons genannt (MLP) genannt, sind das am weitesten untersuchte und in der Praxis verwendete neuronale Netzwerkmodell.
Als Beispiel für ein Feedback-Netzwerk kann ich mich an das Netzwerk von Hopfield erinnern . Das Netzwerk von Hopfield wird hauptsächlich als assoziatives Gedächtnis verwendet. Ein Assoziativspeicher ist ein Gerät, das ein Eingabemuster akzeptiert und eine Ausgabe als das gespeicherte Muster erzeugt, das am engsten mit der Eingabe verknüpft ist. Die Funktion des zugeordneten Speichers besteht darin, das entsprechende gespeicherte Muster abzurufen und dann eine klare Version des Musters am Ausgang zu erzeugen. Hopfield-Netzwerke werden typischerweise für diese Probleme mit binären Mustervektoren verwendet, und das Eingabemuster kann eine verrauschte Version eines der gespeicherten Muster sein. In dem Hopfield-Netzwerk werden die gespeicherten Muster als die Gewichte des Netzwerks codiert.
Kohonens selbstorganisierende Karten(SOM) stellen einen anderen neuronalen Netzwerktyp dar, der sich deutlich von den Feedforward-Mehrschichtnetzen unterscheidet. Im Gegensatz zum Training im Feedforward-MLP wird das SOM-Training oder -Lernen häufig als unbeaufsichtigt bezeichnet, da für jedes Eingabemuster im SOM keine Zielausgaben bekannt sind. Während des Trainings verarbeitet der SOM die Eingabemuster und lernt, die Daten zu gruppieren oder zu segmentieren durch Anpassung der Gewichte (dies macht es zu einem wichtigen neuronalen Netzwerkmodell für Dimensionsreduktion und Datenclustering). Eine zweidimensionale Karte wird normalerweise so erstellt, dass die Reihenfolge der Beziehungen zwischen den Eingaben erhalten bleibt. Die Anzahl und Zusammensetzung von Clustern kann visuell basierend auf der durch den Trainingsprozess erzeugten Ausgabeverteilung bestimmt werden. Mit nur Eingabevariablen in der Trainingsprobe,
(Die Diagramme stammen von Dana Vrajitorus C463 / B551 Artificial Intelligence-Website .)
Was George Dontas schreibt, ist richtig, jedoch beschränkt sich die Verwendung von RNNs in der heutigen Praxis auf eine einfachere Klasse von Problemen: Zeitreihen / sequentielle Aufgaben.
Es wurde gezeigt, dass RNNs jede messbare Sequenz für Sequenz-Mapping durch Hammer darstellen können.
Daher werden RNNs heutzutage für alle Arten von sequentiellen Aufgaben verwendet: Zeitreihenvorhersage, Sequenzkennzeichnung, Sequenzklassifizierung usw. Eine gute Übersicht finden Sie auf Schmidhubers Seite zu RNNs .
Anstatt RNN und FNN zu sagen, unterscheiden sie sich in ihrem Namen. Sie sind also anders. , Ich denke, was interessanter ist in Bezug auf die Modellierung dynamischer Systeme, unterscheidet sich RNN stark von FNN?
Es gab eine Debatte zur Modellierung des dynamischen Systems zwischen dem rekurrenten neuronalen Netz und dem vorwärtsgerichteten neuronalen Netz mit zusätzlichen Merkmalen als frühere Zeitverzögerungen (FNN-TD).
Soweit ich weiß, nach dem Lesen dieser Artikel in den 90ern bis 2010ern. Die Mehrheit der Literatur bevorzugt, dass Vanille-RNN besser als FNN ist, da RNN einen dynamischen Speicher verwendet, während FNN-TD statisch ist Speicher ist.
Es gibt jedoch nicht viele numerische Studien, die diese beiden vergleichen. Die erste [1] zeigte, dass FNN-TD für die Modellierung dynamischer Systeme eine vergleichbare Leistung wie Vanille-RNN aufweist, wenn es geräuschfrei ist während etwas schlechter abschneidet. In meinen Erfahrungen mit der Modellierung dynamischer Systeme sehe ich oft, dass FNN-TD gut genug ist.
FNN-TD ist die allgemeinste und umfassendste Methode zur Behandlung der sogenannten Memory-Effekte . Da es brutal ist, deckt es theoretisch jede Art, jede Art und jeden Memory-Effekt ab. Der einzige Nachteil ist, dass in der Praxis einfach zu viele Parameter benötigt werden.
Das Gedächtnis in RNN ist nichts anderes als eine allgemeine "Faltung" der vorherigen Information . Wir alle wissen, dass die Faltung zwischen zwei Skalarsequenzen im Allgemeinen kein reversibler Prozess ist und dass die Entfaltung am häufigsten nicht möglich ist.
[2] erweitert werden kann, während die Anzahl der verborgenen Einheiten gleich bleibt.
Daher komprimiert RNN tatsächlich die vorherigen Speicherinformationen mit Verlust, indem es eine Faltung durchführt, während FNN-TD sie nur in einem Sinne ohne Verlust von Speicherinformationen exponiert. Beachten Sie, dass Sie den Informationsverlust bei der Faltung reduzieren können, indem Sie die Anzahl der ausgeblendeten Einheiten erhöhen oder mehr Zeitverzögerungen als bei Vanille-RNN verwenden. In diesem Sinne ist RNN flexibler als FNN-TD. RNN kann keinen Speicherverlust wie FNN-TD erzielen und es kann trivial sein, die Anzahl der Parameter in derselben Reihenfolge anzuzeigen.
Ich weiß, dass jemand erwähnen möchte, dass RNN den Langzeiteffekt trägt, während FNN-TD dies nicht kann. Hierzu möchte ich nur erwähnen, dass es für ein kontinuierliches autonomes dynamisches System nach Takens Einbettungstheorie eine generische Eigenschaft für die Einbettung von FNN-TD mit dem scheinbar kurzen Zeitspeicher gibt, um dieselbe Leistung wie die scheinbar lange Zeit zu erzielen Speicher in RNN. Dies erklärt, warum sich RNN und FNN-TD in den frühen 90er Jahren im Beispiel eines kontinuierlichen dynamischen Systems nicht wesentlich unterscheiden.
Jetzt werde ich den Nutzen von RNN erwähnen. Für die Aufgabe des autonomen dynamischen Systems wäre die Verwendung eines früheren Begriffs zwar effektiv die gleiche wie die Verwendung von FNN-TD mit weniger früheren Begriffen in der Theorie, numerisch wäre dies jedoch hilfreich, da es robuster gegenüber Rauschen ist. Ergebnis in [1] stimmt mit dieser Meinung überein.
[1] Gençay, Ramazan und Tung Liu. "Nichtlineare Modellierung und Vorhersage mit Feedforward- und wiederkehrenden Netzwerken." Physica D: Nichtlineare Phänomene 108.1-2 (1997): 119-134.
[2] Pan, Shaowu und Karthik Duraisamy. "Datengesteuerte Erkennung von Closure-Modellen." arXiv-Vorabdruck arXiv: 1803.09318 (2018).