Wie können Richtlinienverläufe bei mehreren fortlaufenden Aktionen angewendet werden?


11

Trusted Region Policy Optimization (TRPO) und Proximal Policy Optimization (PPO) sind zwei innovative Algorithmen für Richtliniengradienten.

Wenn Sie eine einzelne kontinuierliche Aktion verwenden, verwenden Sie normalerweise eine Wahrscheinlichkeitsverteilung (z. B. Gauß) für die Verlustfunktion. Die grobe Version ist:

L(θ)=log(P(a1))A,

Wenn der Vorteil von Belohnungen ist, ist durch und , die wie in der Pendelumgebung aus einem neuronalen Netzwerk stammen: https://github.com/leomzhong/DeepReinforcementLearningCourse/blob/69e573cd88faec7e9cf900da8eeef08c /hw4/main.py .AP(a1)μσ2

Das Problem ist, dass ich kein Papier über 2+ kontinuierliche Aktionen mit Richtliniengradienten finden kann (keine akteurkritischen Methoden, die einen anderen Ansatz verwenden, indem sie den Gradienten von der Q-Funktion übertragen).

Wissen Sie, wie Sie dies mit TRPO für zwei kontinuierliche Aktionen in der LunarLander-Umgebung tun können ?

Ist der folgende Ansatz für die Funktion zum Verlust von Richtliniengradienten korrekt?

L(θ)=(logP(a)+logP(a2))A

Antworten:


6

Wie Sie bereits gesagt haben, stammen die von Actor-Critic ausgewählten Aktionen in der Regel aus einer Normalverteilung. Es ist Aufgabe des Agenten, den geeigneten Mittelwert und die Standardabweichung basierend auf dem aktuellen Status zu ermitteln. In vielen Fällen reicht diese eine Verteilung aus, da nur eine kontinuierliche Aktion erforderlich ist. Da jedoch Bereiche wie die Robotik stärker in die KI integriert werden, sind Situationen, in denen zwei oder mehr kontinuierliche Aktionen erforderlich sind, ein wachsendes Problem.

Für dieses Problem gibt es zwei Lösungen: Die erste und häufigste besteht darin, dass für jede kontinuierliche Aktion ein separater Agent seinen eigenen eindimensionalen Mittelwert und seine Standardabweichung lernt. Ein Teil seines Status umfasst auch die Aktionen der anderen Agenten, um einen Kontext für die Aktivitäten des gesamten Systems zu geben. Wir machen das normalerweise in meinem Labor und hier ist ein Artikel, der diesen Ansatz beschreibt, bei dem drei Schauspieler-Kritiker-Agenten zusammenarbeiten, um einen Roboterarm zu bewegen.

Der zweite Ansatz besteht darin, dass ein Agent eine multivariate (normalerweise normale) Verteilung einer Richtlinie findet. Obwohl dieser Ansatz theoretisch eine präzisere Verteilung der Richtlinien haben könnte, indem die Verteilung basierend auf der Kovarianzmatrix "gedreht" wird, bedeutet dies, dass auch alle Werte der Kovarianzmatrix gelernt werden müssen. Dies erhöht die Anzahl der Werte, die gelernt werden müssen, um kontinuierliche Ausgaben von (Mittelwert und Standardabweichung) zu haben, auf ( bedeutet und eine Kovarianzmatrix ). Dieser Nachteil hat diesen Ansatz in der Literatur nicht so populär gemacht.2 n n + n 2 n n × nn2nn+n2nn×n

Dies ist eine allgemeinere Antwort, sollte Ihnen und anderen jedoch bei den damit verbundenen Problemen helfen.


1
Jaden danke für die tolle Antwort. 1. Ich habe die Multi-Agent-Architektur ausprobiert, aber sie ist nicht sehr effizient. Die Konvergenz dauert viel länger. 2. Jetzt scheint mir auch die multivariate Verteilung offensichtlich zu sein, danke.
Evalds Urtans

1
Abhängig von der Anwendung und der Architektur (wenn es sich um ein Deep Net handelt) können Sie die Agenten Funktionen auf niedriger Ebene gemeinsam nutzen lassen und sie dann in ihre eigenen Wertefunktionen verzweigen lassen. Darüber hinaus ist es eine Möglichkeit, die Architektur zu verbessern, wenn 1 Kritiker und mehrere Akteure vorhanden sind.
Jaden Travnik

Im Moment möchte ich Ihre Vorschläge auf TRPO (nur Policy Gradient-Methoden) anwenden, nicht auf Schauspieler-Kritiker. Ich bin nicht sehr zuversichtlich, dass der Gradient vom Kritiker zum Schauspieler übertragen werden kann - in vielen Implementierungen habe ich gesehen, dass es nicht funktionieren sollte, obwohl es konvergiert.
Evalds Urtans

1
Entschuldigung für diese Noob-Frage: Wie wird dies bei Akteur-Kritiker-Methoden angewendet (bei denen der Akteur mehrere fortlaufende Aktionen gleichzeitig ausführen kann), bei denen der Akteur die Richtlinienfunktion hat und durch die Richtliniengradientenmethode trainiert wird? @JadenTravnik Kannst du das bitte in der Antwort unter einer neuen Überschrift erklären?
Gokul NC
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.