Inkonsistenter Aktionsbereich beim Reinforcement Learning


13

Diese Frage betrifft das Reinforcement Learning und unterschiedliche / inkonsistente Aktionsbereiche für jeden / einige Staaten .

Was meine ich mit inkonsistentem Aktionsraum ?

Angenommen, Sie haben ein MDP, bei dem die Anzahl der Aktionen zwischen den Status variiert (z. B. wie in Abbildung 1 oder Abbildung 2). Wir können "inkonsistenten Aktionsraum" formal ausdrücken, da

sS:sS:A(s)A(s)ss

Das heißt, für jeden Status gibt es einen anderen Status, für den nicht dieselbe Aktion festgelegt ist. In den Figuren (1, 2) gibt es eine relativ kleine Anzahl von Aktionen pro Staat. Stellen Sie sich stattdessen Zustände mit Anzahl von Aktionen vor, wobei und eine wirklich große ganze Zahl ist. sSms1msnn

Einige MDPs

Umgebung

Um die Frage besser zu verstehen, finden Sie hier ein Beispiel für die Umgebung. Nehmen Sie Abbildung 1 und lassen Sie es in einen wirklich großen gerichteten azyklischen Graphen mit einem Quellknoten, einem riesigen Aktionsraum und einem Zielknoten explodieren. Das Ziel ist es, einen Pfad zu durchlaufen, beginnend an einem beliebigen Startknoten, sodass wir die Belohnung maximieren, die wir nur am Zielknoten erhalten. In jedem Zustand können wir eine Funktion aufrufen , die einen Zustand als Eingabe verwendet und eine gültige Anzahl von Aktionen zurückgibt.M:sA

Ansätze

(1) Ein naiver Ansatz für dieses Problem ( hier und hier erörtert ) besteht darin, die für jeden Zustand gleichermaßen festgelegte Aktion zu definieren, eine negative Belohnung zurückzugeben, wenn die ausgeführte Aktion in und den Agenten in denselben Zustand zu versetzen. Auf diese Weise kann der Agent "lernen", welche Aktionen in den einzelnen Status gültig sind. Dieser Ansatz hat zwei offensichtliche Nachteile:aA(s)

  • Das Lernen von braucht Zeit, insbesondere wenn die Q-Werte erst aktualisiert werden, wenn entweder die Beendigung oder eine Aussage erfüllt ist (wie bei der Erfahrungswiedergabe ).A
  • Wir wissen , warum lernen wir es? A

(2) Ein anderer Ansatz (erste Antwort hier , auch sehr ähnliche Vorschläge aus Veröffentlichungen wie Deep Reinforcement Learning in großen diskreten Aktionsräumen und diskrete sequentielle Vorhersage kontinuierlicher Aktionen für Deep RL ) besteht darin, stattdessen einen Skalar im kontinuierlichen Raum und von einigen vorherzusagen Methode ordnen Sie es einer gültigen Aktion zu. In den Beiträgen wird diskutiert, wie mit großen diskreten Aktionsräumen umgegangen werden kann, und die vorgeschlagenen Modellnähte sind auch eine Lösung für dieses Problem.

(3) Ein anderer Ansatz bestand darin, unter der Annahme, dass die Anzahl der verschiedenen Aktionssätze ziemlich klein ist, Funktionen , , ..., , die die Aktion zurückgeben in Bezug auf diesen bestimmten Zustand mit gültigen Aktionen. Ei, die ausgeführte Aktion eines Zustands mit 3 Anzahlen von Aktionen wird durch . nfθ1fθ2fθnnsargmaxa fθ3(s,a)

Keiner der Ansätze (1, 2 oder 3) findet sich in Veröffentlichungen, nur reine Spekulationen. Ich habe viel gesucht, kann aber keine Artikel direkt zu diesem Thema finden. Meine Fragen sind daher

  1. Kennt jemand ein Papier zu diesem Thema?
  2. Ist die Terminologie falsch? "Inkonsistent", "unregelmäßig", "anders" ...?
  3. Hat jemand einen anderen Ansatz, der es wert ist, untersucht zu werden?

Haben ein ähnliches Problem, und meine Gedanken sind sofort einige Transformation des Problems in einer Domäne auszuführen , wo der Aktionsraum ist fixiert. Wenn ich beispielsweise im aktiven Lernen arbeite und die Aktion darin besteht, ein Beispiel aus einem unbeschrifteten Trainingsdatensatz (ohne Ersatz) auszuwählen, funktioniert möglicherweise eine andere Formulierung, in der die Aktion darin besteht, eine Klasse oder einen Punkt im Datenraum auszuwählen auch (dies wird einen festen / statischen Aktionsraum haben)
information_interchange

Ich habe die gleiche Frage. Die beste Antwort, die ich gefunden habe, ist das folgende Papier: Darstellung der
Lernaktion

Wie wäre es mit Ihrer Masterarbeit? Haben Sie Methoden gefunden, um Ihre Frage zu lösen, oder etwas anderes, das Sie teilen möchten? Ich fand, dass die verwandtesten Werke, wie unten aufgeführt, große Aktionsräume sind.
DongDong Chen

@DongDongChen haben wir eine modifizierte Version des Papiers arxiv.org/pdf/1512.07679.pdf zusammen mit einem ILP-Solver verwendet, der für uns in der Arbeit in Ordnung war. Ich denke jedoch, dass unsere Version sehr spezifisch für unsere Instanz des Problems war und schwer zu verallgemeinern war.
Rikard Olsson

Antworten:


11
  1. Kennt jemand ein Papier zu diesem Thema?

Ich kenne nichts von oben ... Ich weiß, dass sich die überwiegende Mehrheit der Literatur zum Reinforcement Learning auf Einstellungen mit einem festen Aktionsraum konzentriert (wie Robotik, bei der Ihre Aktionen bestimmen, wie Sie versuchen, a zu bewegen / drehen) bestimmter Teil des Roboters oder einfache Spiele, bei denen Sie immer die gleichen Aktionen ausführen müssen, um sich zu bewegen und möglicherweise zu schießen oder zu verwenden usw.). Eine weitere gängige Klasse von Einstellungen besteht darin, dass der Aktionsbereich einfach so behandelt werden kann, als wäre er immer derselbe (indem alle Aktionen aufgelistet werden, die in einem bestimmten Zustand legal sein könnten) und illegale Aktionen in einer Art Nachbearbeitungsschritte herausgefiltert werden ( zB RL Arbeit in Brettspielen).

Also ... es könnte etwas da draußen geben, aber es ist sicherlich nicht üblich. Die meisten RL-Leute möchten so wenig Domänenwissen wie möglich einbeziehen, und ich nehme an, dass eine Funktion, die in einem bestimmten Zustand eine Reihe von rechtlichen Maßnahmen generiert, als Domänenwissen betrachtet werden kann.

  1. Ist die Terminologie falsch? "Inkonsistent", "unregelmäßig", "anders" ...?

Ich würde nicht inkonsistent verwenden, da dieses Wort so interpretiert werden kann, dass etwas "falsch" oder "schlecht definiert" wäre. Ich würde sagen, dass Sie einen variablen Aktionssatz haben (der Aktionssatz variiert je nach Status). Wenn ich danach suche, gibt es auch nicht viele Ergebnisse ... aber ich denke, dieser Begriff wäre vielversprechender.

  1. Hat jemand einen anderen Ansatz, der es wert ist, untersucht zu werden?

Das von Ihnen beschriebene Problem ist hauptsächlich ein Problem beim Reinforcement Learning mit Funktionsnäherung, insbesondere Funktionsnäherung unter Verwendung neuronaler Netze. Wenn Sie mit der Verwendung tabellarischer RL-Algorithmen durchkommen, verschwindet das Problem sofort. Beispielsweise muss eine Tabelle mit -Werten, wie sie üblicherweise in tabellarischen, wertbasierten Algorithmen verwendet wird, keine Einträge für alle möglichen Paare enthalten. Es ist in Ordnung, wenn es nur Einträge für Paare enthält, so dass in legal ist .Q(s,a)(s,a)(s,a)as

Variable Aktionsräume werden in Deep RL-Ansätzen in erster Linie zu einem Problem, da wir normalerweise mit einer festen neuronalen Netzwerkarchitektur arbeiten . Ein Algorithmus im DQN-Stil umfasst neuronale Netze, die Merkmalsvektoren verwenden, die Zustände als Eingaben beschreiben, und -Schätzungen als Ausgaben bereitstellen . Dies bedeutet sofort, dass wir für jede Aktion einen Ausgabeknoten benötigen. Dies bedeutet, dass Sie alle Aktionen auflisten müssen. Hier tritt Ihr Problem auf. In ähnlicher Weise erfordern Richtliniengradientenmethoden traditionell auch einen Ausgabeknoten pro Aktion, was wiederum bedeutet Sie müssen in der Lage sein, alle Aktionen im Voraus aufzulisten (bei der Festlegung der Netzwerkarchitektur).sQ(s,a)

Wenn Sie weiterhin neuronale Netze (oder andere Arten von Funktionsapproximatoren mit ähnlichen Arten von Ein- und Ausgängen) verwenden möchten, ist der Schlüssel zur Lösung Ihres Problems (wenn keiner der Vorschläge, die Sie bereits in der Frage aufgeführt haben, Ihren Wünschen entspricht) um zu erkennen, dass Sie einen anderen Weg finden müssen, um Ihre Ein- und Ausgänge zu formulieren, sodass Sie nicht mehr alle Aktionen im Voraus aufzählen müssen .

Ich kann mir das nur vorstellen, wenn Sie in der Lage sind, aussagekräftige Eingabefunktionen für vollständige Status-Aktions-Paare zu berechnen (s,a). Wenn Sie das können, können Sie beispielsweise neuronale Netze aufbauen, die:

  • Nehmen Sie einen Merkmalsvektor x(s,a) als Eingabe, die (hoffentlich auf sinnvolle Weise) das vollständige Paar des Zustands beschreibt s und die Aktiona
  • Produziere eine Single Q^(s,a) Schätzung als Ausgabe für das bestimmte Paar von Zustand + Aktion, die als Eingabe angegeben wird, anstatt mehrere Ausgaben zu erzeugen.

Wenn Sie das können, dann in einem bestimmten Zustand s Sie können einfach alle rechtlichen Schritte durchlaufen A(s), berechnen Q^(s,a)Schätzungen für alle ( Hinweis : Wir benötigen jetzt|A(s)| durchläuft das Netzwerk und nicht nur einen einzigen Durchgang, wie er normalerweise bei Algorithmen im DQN-Stil erforderlich ist. Andernfalls wird ähnlich wie bei Standardalgorithmen im DQN-Stil vorgegangen.

Natürlich wird das Erfordernis guter Eingabefunktionen für Aktionen nicht immer erfüllt sein ... aber ich bezweifle, dass es viele gute Möglichkeiten gibt, dies zu umgehen. Es ist der Situation mit Staaten wirklich sehr ähnlich. In der tabellarischen RL werden alle Zustände (und alle Aktionen) aufgelistet. Bei der Funktionsnäherung werden normalerweise immer noch alle Aktionen aufgelistet, aber die Aufzählung aller Zustände wird vermieden, indem sie durch aussagekräftige Merkmalsvektoren ersetzt werden (was eine Verallgemeinerung über Zustände hinweg ermöglicht). Wenn Sie das Aufzählen von Aktionen vermeiden möchten, müssen Sie auf sehr ähnliche Weise über Aktionen hinweg verallgemeinern, was wiederum bedeutet, dass Sie Funktionen zum Beschreiben von Aktionen benötigen.


2
Das ist tolles Feedback und interessante Gedanken, danke dafür. Ich finde viele Artikel über "große Aktionsräume", die sich in fast derselben Ausgabe befinden. Ich denke, das Papier "Diskrete sequentielle Vorhersage kontinuierlicher Aktionen für Deep RL" ist sehr interessant, da es eine Sequenz von Aktionen vorhersagt, die stattdessen wiederkehrende neuronale Netze verwenden, wodurch das Problem des festen Netzwerks gelöst wird. Wir werden unsere Masterarbeit in diesem Fach machen und ich hoffe, wir werden mehr Informationen in dieser Angelegenheit sammeln.
Rikard Olsson

0

(3) Ein anderer Ansatz war die Annahme der Anzahl der verschiedenen Maßnahmen n ist ziemlich klein, habe Funktionen fθ1, fθ2, ..., fθn das gibt die Aktion bezüglich dieses bestimmten Zustands mit zurück ngültige Aktionen. Ei, die durchgeführte Handlung eines Staatess mit 3 Anzahl von Aktionen wird vorhergesagt von argmaxa fθ3(s,a).

Das klingt ziemlich kompliziert und die Anzahl der verschiedenen Action-Sets ist normalerweise sehr hoch, selbst bei einfachsten Spielen. Stellen Sie sich Kontrolleure vor, ignorieren Sie Werbeaktionen und springen Sie der Einfachheit halber, und es gibt einige742=56mögliche Aktionen (was in Ordnung ist), aber die Anzahl der verschiedenen Sätze dieser Aktionen ist viel höher. Es ist tatsächlich schwierig zu berechnen, wie viele solcher Sätze in einem echten Spiel möglich sind - es ist sicherlich viel weniger als256, aber sicherlich auch viel zu groß, um praktisch zu sein.

  1. Hat jemand einen anderen Ansatz, der es wert ist, untersucht zu werden?

Angenommen, die Anzahl der Aktionen ist nicht zu groß, können Sie Aktionen einfach ignorieren, die in einem bestimmten Status nicht zutreffen. Das ist etwas anderes als Lernen - Sie müssen nicht lernen, negative Auszeichnungen für illegale Handlungen zurückzugeben, es ist Ihnen einfach egal und Sie wählen die rechtlichen Schritte aus, die die beste Auszeichnung zurückgeben.


Beachten Sie, dass Ihr Ausdruck

sS:sS:A(s)A(s)ss

kann vereinfacht werden

sS:sS:A(s)A(s)

oder auch

|A(s)|sS>1

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.