Ich versuche, den Policy-Gradient- Ansatz zur Lösung des Cartpole- Problems zu verstehen . Bei diesem Ansatz drücken wir den Gradienten des Verlusts für jeden Parameter unserer Richtlinie als Erwartung der Summe der Gradienten unseres Richtliniengradienten für alle Aktionen in einer Sequenz aus, gewichtet mit der Summe der abgezinsten Belohnungen in dieser Sequenz:
und wir schätzen es anhand eines empirischen Durchschnitts über alle Stichproben in einer Episode - was intuitiv sinnvoll ist.
ABER der weniger intuitive Teil ist, dass ich eine gängige Praxis gesehen habe, um die Vorteile zwischen Episoden in mehreren Implementierungen zu normalisieren (und tatsächlich funktioniert es besser). Nachdem sie den berechnet haben, würden sie den Vorteil nicht direkt nutzen, sondern ihn normalisieren, z. B. hier nach jeder Episode:
discounted_epr = discount_rewards(epr)
discounted_epr -= np.mean(discounted_epr)
discounted_epr /= np.std(discounted_epr)
Was ist die Rechtfertigung dafür - sowohl in der Theorie als auch in der Intuition? Es scheint mir, dass es sich lohnt, mehr aus dieser Episode zu lernen als aus einer Episode mit drei Zügen, wenn eine Episode lang ist und als solche große Vorteile hat. Was vermisse ich?
quelle
Antworten:
Im Allgemeinen bevorzugen wir es, die Renditen aus Stabilitätsgründen zu normalisieren. Wenn Sie die Backpropagation-Gleichungen berechnen, werden Sie feststellen, dass die Rückgabe die Gradienten beeinflusst. Daher möchten wir seine Werte in einem bestimmten geeigneten Bereich halten. Wir folgen dieser Praxis nicht aus theoretischen Gründen, sondern aus praktischen Gründen. Gleiches gilt für das Abschneiden von Wert-Funktionen beim Q-Learning in Kombination mit NNs. Natürlich gibt es bei diesen Ansätzen einige Nachteile, aber im Allgemeinen verhält sich der Algorithmus besser, da die Backpropagation Ihre Netzwerkgewichte nicht zu Extremwerten führt. Bitte werfen Sie einen Blick auf diesen ausgezeichneten Beitrag von Andrej Karpathy (ich füge den Teil zu Ihrer Frage als Blockzitat hinzu), der zusätzliche Einblicke bietet:Q.
quelle
Die folgenden Referenzen sind möglicherweise hilfreich:
quelle