Ich habe daran gearbeitet, einige Phänomene zu modellieren, die Echtzeitsteuerung in einer Umgebung mit inhärenten Belohnungen beinhalten (insbesondere das Spielen eines „Pong“-ähnlichen Spiels), und es sieht zunehmend so aus, als würde das Verstärkungslernen allein es rechnerisch nicht schaffen (I verwende derzeit ein neuronales Netzwerk mit zeitlicher Differenzrückausbreitung ).
Ein möglicher ergänzender Lernmechanismus besteht darin, das Modell auch den zukünftigen Zustand der Umgebung vorhersagen zu lassen, von dem es unter Verwendung einer Standard-Feed-Forward-Back-Propagation auf überwachte Weise lernen kann.
Meine derzeitige Überlegung zur Synthese dieser Mechanismen besteht darin, dass die Eingabeschicht in eine verborgene Schicht eingespeist wird, die wiederum sowohl in eine Belohnungsvorhersageschicht als auch in eine separate Zustandsvorhersageschicht eingespeist wird. Beim Trainieren dieses Netzes ändere ich einfach zuerst die Gewichte über Reinforcement Learning und ändere sie dann erneut, um den Zustandsvorhersagefehler über Back Prop zu berücksichtigen.
Meine Frage lautet also : Gibt es irgendwelche Probleme, die Sie aufgrund dieser Architektur erwarten können? Wurde diese Kombination von Lernmechanismen außerdem schon einmal durchgeführt, und wenn ja, wurde sie auf ähnliche Weise durchgeführt?
Ich bin mir nicht sicher, ob ich Ihr Design vollständig verstehe; Vielleicht können Sie klarstellen, was Ihr Netzwerk lernen soll, warum TD-Lernen „nicht ausreicht“ und was Sie unter „Verstärkungs-“ und „Vorhersage“-Lernen verstehen. Insbesondere ist TD-Lernen ein bestärkendes Lernmodell und belohnt basierend auf vorhergesagten (und nicht nur beobachteten) Ergebnissen . Sie scheinen jedoch Verstärkungs- und Vorhersagelernen als orthogonale Modelle zu beschreiben, also bin ich mir nicht sicher, ob ich das richtig verstehe.
Als allgemeiner Vorschlag könnten Sie die Verwendung eines Elman/Jordan-Netzwerks (z. B. rekurrentes neuronales Netzwerk/RNN) in Betracht ziehen. Anstatt sich nur auf die Kenntnis des aktuellen Zustands zu verlassen, um eine Vorhersage über den nächsten Zustand zu treffen, kann RNN lernen, Abfolgen von Ereignissen zu erkennen. Dies ist besonders nützlich, um zukünftige Zustände in einer Aufgabe vorherzusagen, die sich über die Zeit entfaltet (z. B. [1]). Ich schlage dies vor allem vor, weil Sie sagen, dass Ihre Aufgabe eine Aufgabe zur „Echtzeitsteuerung“ ist, aber ohne weitere Kenntnisse Ihrer Aufgabe weiß ich nicht wirklich, ob dies angemessen ist.
Was Ihren Vorschlag betrifft, zwei verschiedene Lernmechanismen zu verwenden, um einen einzelnen Satz von Gewichten zu modifizieren - ich habe keine Antwort, aber es scheint mir nicht intuitiv zu sein. Sie verwenden zwei verschiedene Optimierungstechniken für einen einzigen Datensatz. Wenn die Techniken nicht übereinstimmen, wird Ihr Netzwerk wahrscheinlich nie seine Verbindungsgewichte lernen. Wenn sie sich einig sind (dh sich auf dieselbe Antwort einigen), bin ich mir nicht sicher, ob Sie durch zwei Lernmechanismen einen Mehrwert schaffen.
[1] Elmann (1990). Zeitlich Struktur finden. Kognitionswissenschaft, 14, 179-211. Abgerufen von http://synapse.cs.byu.edu/~dan/678/papers/Recurrent/Elman.pdf
Artem Kaznatcheev
vdv
Seanny123