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?