Hintergrund:
Ich verwende in meiner Lernaufgabe zur Verstärkung die Q-Wert-Näherung des neuronalen Netzwerks. Der Ansatz ist genau der gleiche wie der in dieser Frage beschriebene , jedoch ist die Frage selbst anders.
Bei diesem Ansatz ist die Anzahl der Ausgaben die Anzahl der Aktionen, die wir ausführen können. In einfachen Worten lautet der Algorithmus wie folgt: Führen Sie die Aktion A aus, untersuchen Sie die Belohnung, bitten Sie NN, Q-Werte für alle möglichen Aktionen vorherzusagen, wählen Sie den maximalen Q-Wert, berechnen Sie Q für eine bestimmte Aktion A als R + max(new_state_Q)
. Passen Sie das Modell an die vorhergesagten Q-Werte an, wobei nur einer von ihnen durch ersetzt wird R + max(new_state_Q)
.
Frage: Wie effizient ist dieser Ansatz, wenn die Anzahl der Ausgänge groß ist?
Versuch: Nehmen wir an, wir können 10 Maßnahmen ergreifen. Bei jedem Schritt bitten wir das Modell, 10 Werte vorherzusagen. Im frühen Alter des Modells ist diese Vorhersage total durcheinander. Dann ändern wir 1 Wert der Ausgabe und passen das Modell an diese Werte an.
Ich habe zwei gegensätzliche Gedanken darüber, wie gut \ schlecht dieser Ansatz ist und kann mich nicht entscheiden, welcher richtig ist:
- Unter einem Gesichtspunkt trainieren wir jedes Neuron 9 Mal mit zufälligen Daten und nur einmal mit Daten, die nahe am realen Wert liegen. Wenn NN 5 für Aktion A im Zustand S vorhergesagt hat, der reale Wert jedoch -100 ist, werden NN 9-mal mit dem Wert 5 und dann einmal mit dem Wert -100 angepasst. Klingt verrückt.
- Unter anderen Gesichtspunkten wird das Lernen eines neuronalen Netzwerks als Rückausbreitung eines Fehlers implementiert. Wenn das Modell also 5 vorhergesagt hat und wir es auf 5 trainieren, lernt es nichts Neues, da der Fehler 0 ist. Gewichte werden nicht berührt . Und nur wenn wir -100 berechnen und an das Modell anpassen, wird die Gewichtsberechnung durchgeführt.
Welche Option ist richtig? Vielleicht gibt es noch etwas, das ich nicht berücksichtige?
UPDATE: Mit "wie effizient" meine ich den Vergleich mit einem Ansatz mit einer Ausgabe - vorhergesagten Belohnung. Natürlich wird die Aktion in diesem Fall Teil der Eingabe sein. Ansatz Nr. 1 macht also Vorhersagen für alle Aktionen basierend auf einem bestimmten Zustand, Ansatz Nr. 2 macht Vorhersagen für bestimmte Aktionen, die in einem bestimmten Zustand ausgeführt werden.