Erste Schritte mit AWS DeepRacer

January 31, 2020

Mit AWS DeepRacer bietet Amazon Web Services eine einfache Möglichkeit für den Einstieg in Machine Learning mit Fokus auf Reinforcement Learning an. Der Einsatz von Reinforcement Learning ermöglicht den Verzicht von den für Machine Learning üblichen Mengen an Trainingsdaten. Durch das eigenständige Erlernen von Verhalten nach einem Schema von Belohnungen kann AWS DeepRacer selbstständig positives Verhalten erlernen.

Grundlagen

AWS DeepRacer besteht aus einer virtuellen Garage mit konfigurierbaren Fahrzeugen, einer Liste an definierten Modellen mit Belohnungsschema und einem Pool an verfügbaren Strecken.

Nach dem Login in die AWS Management Console muss vor der ersten Fahrt der AWS DeepRacer Service einmalig konfiguriert werden. Hierzu genügt ein Klick auf den entsprechenden Button um die notwendigen IAM Rechte und Komponenten der Infrastruktur anzulegen.

AWS DeepRacer Console

Beim Klick auf den Button wird von AWS ein CloudFormation Stack deployt der alle benötigten Ressourcen enthält. Darunter ein S3 Bucket, eine AWS Lambda Funktion und die weitere Infrastruktur zur Berechnung mit Hilfe von AWS RoboMaker und EC2. Über den Zugriff auf CloudFormation lässt sich somit auch nachvollziehen welche Bauteile benötigt sind und welche Kosten zu erwarten sind.

Das Fahrzeug

AWS DeepRacer hat ein initiales Fahrzeug vorkonfiguriert. Über den Zugriff auf die Garage können jedoch weitere Fahrzeuge mit unterschiedlichen Konfigurationen und Merkmalen angelegt werden. Bei jedem Fahrzeug kann die Art der Sensoren und der Bewegungsrahmen angepasst werden. Die Standardwerte sind ausreichend um einen ersten Eindruck der Möglichkeiten zu bekommen.

AWS DeepRacer Garage 1 AWS DeepRacer Garage 2 AWS DeepRacer Garage 3 AWS DeepRacer Garage 4

Das Modell

Nachdem ein Fahrzeug konfiguriert wurde, muss nun ein Modell zum Erlernen des gewünschten Fahrverhaltens angelegt werden. Ein Modell besteht aus einer Definition der Umgebung bzw. Auswahl der Strecke, einem Renntyp und einer Funktion für das Belohnungsschema. Je höher die Belohnung auf Basis der verfügbaren Parameter ist, umso wahrscheinlicher wird sich das Fahrzeug erneut so verhalten.

AWS DeepRacer Modell AWS DeepRacer Modell AWS DeepRacer Modell

Die Funktion zur Berechnung der Belohnung ist das logische Herzstück von AWS DeepRacer. Die bereitgestellte Standardfunktion ermittelt auf Basis der Distanz des Fahrzeugs zur Mitte der Strecke die Höhe der Belohnung.

Ausblick: Um eine Strecke so effizient wie möglich zu befahren, ist natürlich nicht nur relevant dass sich das Fahrzeug so weit wie möglich in der Mitte der Strecke befindet, sondern beispielsweise auch die Geschwindigkeit. AWS bietet unterschiedlichste Parameter für die Berechnung der Belohnung an.

AWS DeepRacer Belohnungsschema

Im letzten Schritt zum Anlegen des Modells wird die maximale Laufzeit des Trainings definiert. Die Dauer der Laufzeit bestimmt auch die anfallenden Kosten. Je mehr Zeit dem Modell zum Trainieren erlaubt ist, umso höher sind natürlich die Kosten. Je kürzer die Dauer ist, umso schlechter sind jedoch die ermittelten Werte.

AWS DeepRacer Finish

Trainieren

Nach dem Anlegen des Modells werden die notwendigen Ressourcen von AWS erstellt und konfiguriert. Danach beginnt das virtuelle Fahrzeug mit dem Befahren der Strecke und versucht auf Basis des Bewertungsschemas diese bestmöglich zu meistern.

AWS DeepRacer Watch

photo of Sebastian

Sebastian is a Senior Cloud Consultant at superluminar GmbH, AWS Serverless Hero and AWS Certified Solutions Architect. He writes here in German about AWS, Serverless, Software development, Go, TypeScript and React. English Articles can be found on his Website sbstjn.com and he can be found on Twitter under @sbstjn.