Erste Schritte mit AWS DeepRacer
January 31, 2020Mit 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.
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.
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.
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.
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.
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.