Gibt es einen von Williams vorgeschlagenen Beispielcode für den REINFORCE-Algorithmus?

9

Kennt jemand ein Beispiel für einen Algorithmus, den Williams in Artikel "Eine Klasse von Gradientenschätzungsalgorithmen für das Verstärkungslernen in neuronalen Netzen" vorgeschlagen hat ? Http://incompleteideas.net/sutton/williams-92.pdf

Alex Gao
quelle
Ich werde vergessen, hierher zu kommen, wenn ich es tue, aber ich bin gerade dabei, die Umgestaltung von openAIs github.com/pytorch/examples/blob/master/reinforcement_learning/… zu einem objektorientierten Stil abzuschließen , der tatsächlich skalierbar ist. Ping mich darauf und ich werde es hier posten
Gulzar
Ich habe es hier implementiert: Lua-Code . Ich hoffe es hilft!
Xenomeno

Antworten:

11

Gt

θ

s1,ein1,r2...sT.- -1,einT.- -1,rT.πθ

    für t = 1 bis T - 1 tun

        θθ+αθLogπθ(st,eint)Gt

    Ende für

Ende für

Dieser Algorithmus weist eine hohe Varianz auf, da die Stichprobenbelohnungen von Episode zu Episode sehr unterschiedlich sein können. Daher wird dieser Algorithmus normalerweise mit einer von der Richtlinie abgezogenen Basislinie verwendet. Hier finden Sie eine ausführlichere Erklärung mit Codebeispielen.

Florin Gogianu
quelle
θ
@ eric2323223 David Silvers Kurs (empfohlen) diskutiert dies ausführlich. REINFORCE ist eine Monte-Carlo-Methode. Sie könnten ein häufigeres Update durchführen, was in vielen Fällen besser ist. Schauen Sie sich die Videos an, um viel bessere Erklärungen zu erhalten, als ich hier geben kann. Im Allgemeinen nennt er die häufigere Methode "Zeitlicher Unterschied" oder "TD" mit einer Optimierung namens "TD (Lambda)"
Gulzar
Ist REINFORCE ein On-Policy-Algorithmus?
GoingMyWay
2

Der REINFORCE-Algorithmus für das Lernen zur Verstärkung von Richtliniengradienten ist ein einfacher stochastischer Gradientenalgorithmus. Es funktioniert gut, wenn die Episoden relativ kurz sind, sodass viele Episoden simuliert werden können. Wert-Funktions-Methoden eignen sich besser für längere Episoden, da sie vor dem Ende einer einzelnen Episode mit dem Lernen beginnen können.

nsweeney
quelle