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.
DeepRacerAWS-Modelle schulen und evaluieren
Wenn Ihr DeepRacer AWS-Fahrzeug eigenständig eine Strecke entlangfährt, erfasst es mit der an der Vorderseite montierten Kamera Umgebungszustände und ergreift Maßnahmen als Reaktion auf die Beobachtungen. Ihr DeepRacer AWS-Modell ist eine Funktion, die die Beobachtungen und Aktionen der erwarteten Belohnung zuordnet. Ihr Modell zu trainieren bedeutet, die Funktion zu suchen oder zu erlernen, die die erwartete Belohnung maximiert, sodass das optimierte Modell vorgibt, welche Aktionen (Kombinationen aus Geschwindigkeit und Lenkwinkel) Ihr Fahrzeug ausführen kann, um sich vom Anfang bis zum Ende entlang der Strecke zu bewegen.
In der Praxis ist diese Funktion ein neuronales Netz. Das Training des Netzes umfasst das Finden der optimalen Netzwerkgewichtungen anhand von Sequenzen beobachteter Umgebungszustände und der Aktionen des reagierenden Fahrzeugs. Die zugrunde liegenden Optimalitätskriterien werden durch die Belohnungsfunktion des Modells beschrieben. Diese fördert das korrekte und produktive Fahren des Fahrzeugs, ohne dass es zu Unfällen oder Regelverletzungen kommt. Eine einfache Belohnungsfunktion könnte eine Belohnung von 0 zurückgeben, wenn sich das Fahrzeug auf der Strecke befindet. Sie könnte -1 zurückgeben, wenn es sich außerhalb der Strecke befindet. Sie könnte außerdem +1 zurückgeben, wenn es die Ziellinie erreicht. Mit dieser Belohnungsfunktion wird das Fahrzeug für das Verlassen der Strecke bestraft und für das Erreichen des Ziels belohnt. Dies kann eine gute Belohnungsfunktion sein, wenn Zeit oder Geschwindigkeit kein Thema ist.
Angenommen, Sie sind daran interessiert, das Fahrzeug so schnell wie möglich zu fahren, ohne von einer geraden Spur zu kommen. Während das Fahrzeug beschleunigt und bremst, kann es nach links oder rechts lenken, um Hindernisse zu umgehen oder auf der Strecke zu bleiben. Eine Kurve bei hoher Geschwindigkeit zu weit zu nehmen, könnte das Fahrzeug leicht von der Strecke abbringen. Eine zu enge Kurve führt jedoch möglicherweise zur Kollision mit einem Hindernis oder einem anderen Fahrzeug. Im Allgemeinen wäre eine optimale Aktion, eine größere Kurve bei geringerer Geschwindigkeit zu machen oder in einer schärferen Kurve weniger zu lenken. Um dieses Verhalten zu fördern, muss Ihre Belohnungsfunktion kleineren Kurven mit einer höheren Geschwindigkeit eine positive Bewertung zuweisen und/oder größere Kurven mit einer höheren Geschwindigkeit mit einer negativen Bewertung bestrafen. Ebenso kann die Belohnungsfunktion eine positive Belohnung für die Beschleunigung auf einer geradlinigeren Strecke oder das Abbremsen in der Nähe eines Hindernisses zurückgeben.
Die Belohnungsfunktion ist ein wichtiger Bestandteil Ihres DeepRacer AWS-Modells. Sie müssen es bei der Schulung Ihres DeepRacer AWS-Modells angeben. Das Training umfasst wiederholte Episoden entlang der Strecke, von deren Anfang bis zu deren Ende. In einer Episode interagiert der Agent mit der Strecke, um die optimalen Aktionen zu erlernen, indem er die erwartete kumulative Belohnung maximiert. Am Ende des Trainings wird ein Verstärkungs-Lernmodell erstellt. Nach dem Training kann der Agent autonom fahren, indem er Inferenzen über das Modell ausführt, um in jedem beliebigen Zustand eine optimale Aktion durchzuführen. Dies kann entweder in der simulierten Umgebung mit einem virtuellen Agenten oder in einer realen Umgebung mit einem physischen Agenten, z. B. einem Fahrzeug DeepRacer im AWS-Maßstab, erfolgen.
Um ein Reinforcement-Learning-Modell in der Praxis zu trainieren, müssen Sie einen Lernalgorithmus auswählen. Derzeit unterstützt die DeepRacer AWS-Konsole nur die Algorithmen Proximal Policy Optimization (PPO
Das Training eines Reinforcement-Learning-Modells ist ein iterativer Prozess. Erstens ist es eine Herausforderung, eine Belohnungsfunktion zu definieren, die alle wichtigen Verhaltensweisen eines Agenten in einer Umgebung auf einmal abdeckt. Zweitens werden Hyperparameter oft so eingestellt, dass eine zufriedenstellende Trainingsleistung gewährleistet ist. Beides erfordert Experimente. Ein umsichtiger Ansatz besteht darin, mit einer einfachen Belohnungsfunktion zu beginnen und diese dann schrittweise zu verbessern. AWS DeepRacer erleichtert diesen iterativen Prozess, indem es Ihnen ermöglicht, ein trainiertes Modell zu klonen und es dann zu verwenden, um die nächste Trainingsrunde zu starten. Bei jeder Iteration können Sie eine oder mehrere komplexere Behandlungen in die Belohnungsfunktion einführen, um mit zuvor ignorierten Variablen umzugehen, oder Sie können Hyperparameter systematisch anpassen, bis das Ergebnis konvergiert.
Genau wie bei allen Verfahren maschinellen Lernens müssen Sie ein trainiertes Reinforcement-Learning-Modell evaluieren, um seine Wirksamkeit zu überprüfen, bevor Sie es an einen physischen Agenten weitergeben, der Inferenzen in einer realen Situation nutzt. Bei autonomen Fahrten kann die Evaluierung darauf basieren, wie oft ein Fahrzeug von Anfang bis Ende auf einer bestimmten Strecke bleibt oder wie schnell es die Strecke beenden kann, ohne von der Strecke abzukommen. Mit der DeepRacer AWS-Simulation können Sie die Bewertung durchführen und die Leistungskennzahlen zum Vergleich mit Modellen, die von anderen DeepRacer AWS-Benutzern trainiert wurden, in einer Bestenliste veröffentlichen.