Was ist der Unterschied zwischen Feed-Forward- und rekurrenten neuronalen Netzen?

Antworten:

57

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.

Ein Feed-Forward-Netzwerk

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.

Feedback-Architektur

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 .)

George Dontas
quelle
2
Gilt ein Feed-Forward-Netzwerk, das seine Ausgänge iterativ als Eingänge verwendet, als wiederkehrendes Netzwerk?
Naught101
1
Ja, das ist in der Tat der Fall.
Bayerj
2
Mein vorheriger Kommentar war falsch. Ein Teil dieses Beitrags wurde anscheinend von dieser Person (abgesehen von ein paar geringfügigen Wortänderungen) ohne Anerkennung plagiiert .
Glen_b
1
Ich versuche mathematisch zu verstehen, warum RNNs Feedforward-Netzwerken überlegen sind. Gibt es Beispiele, bei denen eine Annäherung mit Feed-Forward-ANN sehr schwierig, mit RNN jedoch einfach ist?
Pikachuchameleon
14

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.

(ich,t)ichtichRnichich(Rn)

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 .

bayerj
quelle
"Während Feedforward-Netzwerke verwendet werden, um Datensätze wie (i, t) zu lernen, in denen i und t Vektoren sind (z. B. i∈Rn, bei wiederkehrenden Netzwerken ist ich immer eine Folge, z. B. i∈ (Rn)" Ich weiß, dass diese Frage gestellt wurde fragte vor langer Zeit, aber würde es Ihnen etwas ausmachen zu erklären, was dies in Laienbegriffen bedeutet? Ich muss den Grund, den ich für die Verwendung eines Feed Forward-Netzwerks über ein RNN für mein Projekt gewählt habe, begründen, und ich denke, dies ist der Grund. Und / Oder können Sie mich mit einer Quelle verknüpfen, die mir diese Rechtfertigung ermöglicht? Nach der Suche kann ich selbst keine finden. Vielen Dank für jede Antwort!
Blue7
Diese Antwort ist jetzt irgendwie veraltet. Während sich RNNs auf natürliche Weise für Sequenzdaten eignen, können sie auch verwendet werden, um Vorhersagen für statische Eingaben (wie Bilder oder auf andere Weise) zu treffen. Siehe: Recurrent Convolutional Neural Network für die Objekterkennung und Hinweise darauf, dass wiederkehrende Schaltungen für die Ausführung des Kernverhaltens der Objekterkennung durch den ventralen Datenstrom von entscheidender Bedeutung sind
Firebug,
1

Was ist wirklich interessant daran, diese Frage zu stellen?

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?

Hintergrund

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.

Was ist der Hauptunterschied bei der Behandlung von Memory-Effekten zwischen RNN und FNN-TD?

Xn,Xn-1,,Xn-kXn+1

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.

s [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.

Referenz

[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).

Künstlich Intelligenz
quelle