Ich denke nicht, dass dies eine sehr befriedigende Antwort sein wird, da es per Definition ein Beweis ist, aber ich glaube, dass es trotzdem richtig ist (wenn auch nicht sehr mathematisch ).
Kann jemand ein Beispiel für Familien von Funktionen liefern, die nicht durch Feed-Forward erfasst werden können, aber durch RNNs gut angenähert werden können?
Zumindest nicht, wenn wir diese Definition einer Funktion akzeptieren;
... eine Beziehung zwischen einer Reihe von Eingaben und einer Reihe zulässiger Ausgaben mit der Eigenschaft, dass sich jede Eingabe auf genau eine Ausgabe bezieht. [ Wikipedia ]
Wenn wir uns eine hypothetische Funktion vorstellen , die auf einem Vektor von Eingaben und noch nicht von einem neuronalen Feed-Forward-Netzwerk ausgedrückt werden kann, könnten wir einfach als Übertragungsfunktion verwenden, und voila , wir können Konstruieren Sie nun ein einfaches Perzeptron, das eine Obermenge der Funktionalität von ausführt .ψ(x)xψ(x)ψ(x)
f(x)=ψ(b+wx)
Ich überlasse es dem Leser als Übung, herauszufinden, welche Werte wir für die Vorspannung und den Gewichtsvektor benötigen , damit unsere Perzeptronausgabe die unserer Mysterienfunktion nachahmt !bwf(x)ψ(x)
Das einzige, was ein RNN tun kann, was ein Feed-Forward-Netzwerk nicht kann, ist, den Status beizubehalten. Aufgrund der Anforderung, dass ein Eingang nur einem einzigen Ausgang zugeordnet ist, können Funktionen den Status nicht beibehalten. An dem oben verzerrten Beispiel können wir also erkennen, dass ein Feed-Forward-Netzwerk alles (aber nicht mehr) als jede Funktion (kontinuierlich oder anderweitig) ausführen kann.
Hinweis : Ich glaube, ich habe Ihre Frage beantwortet, aber ich denke, es lohnt sich, auf eine kleine Einschränkung hinzuweisen. Während es keine Funktion gibt, die nicht von einem Feed-Forward-Netzwerk abgebildet werden kann, gibt es mit Sicherheit Funktionen, die für RNNs besser geeignet sind als Feed-Forward-Netzwerke. Jede Funktion, die so angeordnet ist, dass Merkmalssätze innerhalb der Funktion leicht als Transformationen früherer Ergebnisse ausgedrückt werden können, ist möglicherweise besser für eine RNN geeignet.
Ein Beispiel hierfür könnte das Finden der n- ten Nummer der Fibonacci-Sequenz sein, wenn die Eingaben nacheinander präsentiert werden;
F(x)=F(x−1)+F(x−2)
Ein RNN könnte diese Sequenz effektiv approximieren, indem nur ein Satz linearer Transformationsfunktionen verwendet wird, während eine zustandslose Funktion oder ein vorwärts gerichtetes neuronales Netz die funktionale Lösung an die Fibonacci-Sequenz approximieren müsste:
F(x)=ϕn−ψn5√
Dabei ist der goldene Schnitt und .ϕψ≈1.618
Wie Sie sich vorstellen können, ist die erste Variante angesichts der üblichen Reihe von Übertragungsfunktionen, die dem Entwickler eines neuronalen Netzwerks zur Verfügung stehen, viel einfacher zu approximieren.