DeepRacer AWS-Aktionsraum und Belohnungsfunktion - AWS DeepRacer

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

DeepRacer AWS-Aktionsraum und Belohnungsfunktion

Aktionsraum

Beim Reinforcement-Learning wird die Gesamtheit aller gültigen Aktionen oder Wahlmöglichkeiten, die einem Agenten bei der Interaktion mit einer Umgebung zur Verfügung stehen, als Aktionsraum bezeichnet. In der DeepRacer AWS-Konsole können Sie Agenten entweder in einem diskreten oder kontinuierlichen Aktionsbereich schulen.

Diskreter Aktionsraum

Ein diskreter Aktionsraum stellt alle möglichen Aktionen eines Agenten für jeden Zustand in einer endlichen Menge dar. Für AWS bedeutet dies DeepRacer, dass das neuronale Netzwerk des Agenten für jede inkrementell unterschiedliche Umgebungssituation eine Geschwindigkeit und Richtung für das Fahrzeug auswählt, basierend auf den Eingaben seiner Kamera (s) und des (optionalen) LiDAR-Sensors. Die Auswahl ist auf eine Gruppe von vordefinierten Kombinationen von Lenkwinkel- und Drosselklappenwerten beschränkt.

Ein DeepRacer AWS-Fahrzeug in einem diskreten Aktionsraum, das sich einer Kurve nähert, kann wählen, ob es beschleunigen oder bremsen und nach links, rechts oder geradeaus abbiegen möchte. Diese Aktionen sind als eine Kombination aus Lenkwinkel und Geschwindigkeit definiert, wodurch ein Optionsmenü (0-9) für den Agenten erstellt wird. Beispielsweise könnte 0 für -30 Grad und 0,4 m/s stehen, 1 für -30 Grad und 0,8 m/s, 2 für -15 Grad und 0,4 m/s, 3 für -15 Grad und 0,8 m/s usw. bis 9. Negative Grade drehen das Auto nach rechts, positive Grade drehen das Auto nach links und 0 hält die Räder gerade.

Der DeepRacer standardmäßige AWS-Bereich für diskrete Aktionen enthält die folgenden Aktionen:

DeepRacer AWS-Standardbereich für diskrete Aktionen
Aktionsnummer Lenken Geschwindigkeit
0 -30 Grad 0,4 m/s
1 0,4 m/s 0,8 m/s
2 -15 Grad 0,4 m/s
3 -15 Grad 0,8 m/s
4 0 Grad 0,4 m/s
5 0 Grad 0,8 m/s
6 15 Grad 0,4 m/s
7 15 Grad 0,8 m/s
8 30 Grad 0,4 m/s
9 30 Grad 0,8 m/s
Kontinuierlicher Aktionsraum

Ein kontinuierlicher Aktionsbereich ermöglicht es dem Agenten, für jeden Status eine Aktion aus einem Wertebereich auszuwählen. Genau wie bei einem diskreten Aktionsraum bedeutet dies, dass das neuronale Netzwerk des Agenten für jede inkrementell unterschiedliche Umgebungssituation eine Geschwindigkeit und Richtung für das Auto auf der Grundlage der Eingaben seiner Kamera (s) und des (optionalen) LiDAR-Sensors auswählt. In einem kontinuierlichen Aktionsraum können Sie jedoch den Bereich der Optionen definieren, aus denen der Agent seine Aktion auswählt.

In diesem Beispiel kann das DeepRacer AWS-Auto in einem Raum mit kontinuierlicher Aktion, das sich einer Kurve nähert, eine Geschwindigkeit von 0,75 m/s bis 4 m/s wählen und nach links, rechts oder geradeaus abbiegen, indem es einen Lenkwinkel von -20 bis 20 Grad wählt.

Diskret oder kontinuierlich

Der Vorteil eines kontinuierlichen Aktionsraums besteht darin, dass Sie Belohnungsfunktionen schreiben können, mit denen Modelle trainiert werden, um an bestimmten Punkten auf einer Strecke Anreize für Geschwindigkeits- und Lenkaktionen zu schaffen und so die Leistung zu optimieren. Die Auswahl aus einer Reihe von Aktionen ermöglicht auch sanfte Änderungen der Geschwindigkeit und der Lenkwerte, die bei einem gut trainierten Modell unter realen Bedingungen zu besseren Ergebnissen führen können.

Wenn Sie die Auswahl eines Agenten auf eine begrenzte Anzahl vordefinierter Aktionen beschränken, liegt es in Ihrer Verantwortung, die Auswirkungen dieser Aktionen zu verstehen und sie auf der Grundlage der Umgebung (Strecke, Rennformat) und Ihrer Belohnungsfunktionen zu definieren. In einer Einstellung mit kontinuierlichem Aktionsbereich lernt der Agent jedoch, anhand der Min-/Max-Grenzen, die Sie im Training festlegen, die optimalen Werte für Geschwindigkeit und Lenkung auszuwählen.

Obwohl es die bessere Option zu sein scheint, dem Modell eine Reihe von Werten zur Auswahl zu geben, muss der Agent länger trainieren, um zu lernen, die optimalen Aktionen auszuwählen. Der Erfolg hängt auch von der Definition der Belohnungsfunktion ab.

Belohnungsfunktion

Während der Agent die Umgebung erkundet, lernt der Agent eine Wertfunktion kennen. Die Wertfunktion hilft Ihrem Agenten, anhand der Beobachtung der Umgebung zu beurteilen, wie gut eine ergriffene Maßnahme ist. Die Wertfunktion verwendet die Belohnungsfunktion, die Sie in die DeepRacer AWS-Konsole schreiben, um die Aktion zu bewerten. Beispiel: Bei der Funktion „Follow the center line“ in der DeepRacer AWS-Konsole würde eine gute Aktion den Agenten in der Mitte des Tracks halten und höher bewertet werden als eine schlechte Aktion, wodurch der Agent von der Mitte des Tracks wegbewegt würde.

Im Laufe der Zeit hilft die Wertfunktion dem Agenten dabei, sich mit den Richtlinien vertraut zu machen, die die Gesamtprämie erhöhen. Die optimale oder beste Richtlinie würde die Zeit, die der Agent mit der Erkundung der Umgebung verbringt, mit der Zeit, die er damit verbringt, das, was die Richtlinie durch Erfahrung gelernt hat, auszunutzen oder optimal zu nutzen, abwägen.

Im Beispiel der DeepRacer AWS-Beispielbelohnungsfunktion „Follow the center line“ führt der Agent zunächst zufällige Aktionen durch, um die Umgebung zu erkunden, was bedeutet, dass er nicht besonders gut darin ist, in der Mitte des Tracks zu bleiben. Mit der Zeit beginnt der Agent zu lernen, welche Aktionen ihn in der Nähe der Mittellinie halten. Wenn er dies jedoch tut, indem er weiterhin zufällige Aktionen ausführt, wird es lange dauern, bis er gelernt hat, die gesamte Runde in der Mitte der Strecke zu bleiben. Wenn die Richtlinie also anfängt, gute Aktionen zu erlernen, beginnt der Agent, diese Aktionen zu verwenden, anstatt zufällige Aktionen zu ergreifen. Wenn der Agent jedoch immer die guten Aktionen verwendet oder ausnutzt, macht er keine neuen Entdeckungen, weil er die Umgebung nicht mehr erkundet. Dieser Kompromiss wird in RL oft als das Problem der Erforschung und Ausbeutung bezeichnet.

Experimentieren Sie mit den Standard-Aktionsräumen und Beispielbelohnungsfunktionen. Sobald Sie sie alle erforscht haben, können Sie Ihr Wissen nutzen, indem Sie Ihre eigenen benutzerdefinierten Aktionsräume und benutzerdefinierten Belohnungsfunktionen entwerfen.