Ich versuche, ein Standard-voll verbundenes neuronales Netz als Basis für Aktionswerte in Q-Learning zu verwenden. Ich verwende http://deeplearning.net/tutorial/mlp.html#mlp als Referenz speziell diese Zeile:So berechnen Sie Gradienten für ein neuronales Netzwerk mit theano bei Verwendung von Q-Learning
gparams = [T.grad(cost, param) for param in classifier.params]
Ich möchte den Fehler für meine Ausgabeeinheit mit der letzten Aktion mit der Q-Learning-Policy-Kontrolle Methode verbunden berechnen (wie in http://webdocs.cs.ualberta.ca/~sutton/book/ebook/node65.html beschrieben), und stellte die anderen Ausgabefehler auf Null.
Wie kann ich Theano's Grad-Funktion verwenden, um die Fehler auf den Rest des neuronalen Netzwerks zurück zu übertragen?
Ich habe keine Erfahrung mit der Anwendung von Verstärkungslernen zusammen mit überwachtem Lernen; aber wenn Sie Ihre q-Learning-Sachen mit Theano-Ausdrücken definieren und sie zu einem Berechnungsgraphen machen können, dann können Sie Fehler einfach auf die normale Weise zurückverbreiten (d. h. mit T.grad (..)). Dies könnte ein wenig relevant sein: https://github.com/spragunr/deep_q_rl – uyaseen
Ja, ich habe dieses Projekt gesehen und verwende es als Referenz. Es scheint, dass die Grad-Funktion die Arbeit für mich bereits erledigt, wenn ich einen Verlust nur mit der ausgewählten Aktion kalkuliere. – Mouscellaneous