Definition Was ist OpenAI Gym?

Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Nico Litzel

OpenAI Gym ist ein Toolkit und eine frei verfügbare Software der Non-Profit-Organisation OpenAI. Mit dem Toolkit lassen sich Algorithmen des Reinforcement Learnings entwickeln und vergleichen. Es stellt eine ganze Reihe Simulationsumgebungen zur Verfügung, in denen sich Agenten (Algorithmen) testen, weiterentwickeln und vergleichen lassen. Die Algorithmen können mit ML-Frameworks und Bibliotheken wie TensorFlow oder Theano erstellt sein.

Firma zum Thema

(Bild: © aga7ta - stock.adobe.com)

OpenAI Gym ist der Name eines Toolkits, das von der Non-Profit-Organisation OpenAI als freie Software zur Verfügung gestellt wird. Es dient zum Entwickeln und Vergleichen von Algorithmen des Reinforcement Learnings. Der deutsche Begriff für Reinforcement Learning lautet verstärkendes oder bestärkendes Lernen. Diese Machine-Learning-Methode benötigt für das Lernen keine umfangreichen Datensätze wie das überwachte oder unüberwachte Lernen. Der Algorithmus (Agent) wird in einer vorgegebenen Simulationsumgebung (Environment) trainiert und lernt durch die erhaltenen Rückmeldungen.

Entwickelt wurde OpenAI Gym im Jahr 2016. Der Quellcode ist auf GitHub verfügbar. Ziel der Entwicklung des Toolkits war es, ein System und eine Plattform bereitzustellen, das eine Vielzahl an Umgebungen unterstützt und eine Art Standard schafft, mit dem sich Algorithmen der Künstlichen Intelligenz (KI) und des Reinforcement Learnings einfacher entwickeln, reproduzieren und vergleichen lassen.

OpenAI ist ein nicht gewinnorientiertes Unternehmen mit Sitz in San Francisco, das sich mit der Erforschung der Künstlichen Intelligenz (im Englischen Artificial Intelligence – AI) beschäftigt. Zu den wichtigsten Geldgebern von OpenAI zählen Elon Musk und Microsoft. OpenAI Gym lässt sich über das Paketverwaltungsprogramm für Python-Pakete des Python Package Index pip installieren. Voraussetzung ist eine Python-Version ab 3.5.

Grundlagen des Reinforcement Learnings

Für ein besseres Verständnis der Funktionsweise und der Ziele des Toolkits OpenAI Gym zunächst einige grundlegende Informationen zum Reinforcement Learning. Das Reinforcement Learning, im Deutschen verstärkendes oder bestärkendes Lernen, ist neben dem Supervised Learning (überwachtes Lernen) und dem Unsupervised Learning (unüberwachtes Lernen) ein für das Machine Learning (ML) eingesetztes Lernverfahren. Das überwachte Lernen setzt Trainingsdaten ein, die bereits mit Labeln (Zielwerten) versehen sind und eine direkte Rückmeldung ermöglichen. Beim unüberwachten Lernen kommen für das Training des Machine-Learning-Modells Daten ohne Zielwerte zum Einsatz. Das Modell versucht Muster in den Daten zu erkennen und sie zu clustern.

Reinforcement Learning benötigt im Gegensatz zum überwachten oder unüberwachten Lernen keine Trainingsdaten zur Konditionierung des Systems. Ein Algorithmus, auch als Agent bezeichnet, lernt selbstständig auf Basis von erhaltenen Belohnungen diese zu maximieren und eine intelligente Lösung für die vorgegebene Aufgabenstellung zu entwickeln. Der Agent arbeitet innerhalb einer Simulationsumgebung (Environment) systematisch nach der Trial-and-Error-Methode und erhält positive oder negative Rückmeldungen.

Die drei zentralen Begriffe des Reinforcement Learnings sind:

  • Agent: Algorithmus, der in einer Simulationsumgebung agiert und eine Aufgabenstellung auf Basis von erhaltenen Belohnungen bestmöglich versucht zu lösen
  • Environment: Simulationsumgebung, in der der Agent arbeitet
  • Reward: positive oder negative Rückmeldung der Simulationsumgebung an den Agenten für eine bestimme Aktion des Agenten

Auf Basis der Belohnungen optimiert der Agent sein Vorgehen. Reinforcement Learning lässt sich für unterschiedlichste Aufgabenstellungen verwenden. Beispielsweise spielen die Agenten Video-Games, agieren als Computergegner bei Brettspielen oder erfüllen komplexe Steuerungsaufgaben beispielsweise in der Robotik. Ein Problem des Reinforcement Learnings ist, dass standardisierte Umgebungen und Benchmarks zur Entwicklung und zum Vergleichen von Algorithmen fehlen beziehungsweise mit großem Aufwand selbst erstellt werden müssen. Das Toolkit OpenAI Gym versucht für diese Problemstellung eine Lösung anzubieten.

Prinzipielle Funktionsweise von OpenAI Gym

OpenAI Gym ist ein Toolkit, mit dem sich Algorithmen des Reinforcement Learnings entwickeln und vergleichen lassen. Agenten können mit unterschiedlichen ML-Frameworks und ML-Bibliotheken wie TensorFlow oder Theano erstellt sein. Gym stellt als Python-Bibliothek eine Vielzahl an Simulationsumgebungen von einfach bis zu komplex zur Verfügung, in denen die Reinforcement-Learning-Algorithmen Aktionen ausführen und getestet werden können. Die Simulationsumgebungen sind in Kategorien wie Algorithmen, Atari, Box2D, Classic Control, MuJoCo, Robotics, Toy Text, EASY und Third-Party-Umgebungen unterteilt. Der Agent sendet eine Aktion an die Simulationsumgebung. Diese reagiert auf die Aktion. Das Ergebnis wird beobachtet (Observation). Anschließend erhält der Agent auf Basis der Observation ein positive oder negative Rückmeldung (Belohnung). Die Struktur der Simulationsumgebung ist dementsprechend in einen Action-Space und einen Observation-Space aufgeteilt. Der Action-Space definiert die in der Simulationsumgebung erlaubten Aktionen des Agenten.

Vorteile von OpenAI Gym

  • frei verfügbares Toolkit
  • benötigt nur Python als Voraussetzung
  • einfach zu verstehen und anzuwenden
  • lässt sich mit wenige Aufwand über den Python-Paketmanager installieren
  • OpenAI Gym stehlt zahlreiche Simulationsumgebungen zur Verfügung, die sich zum Entwickeln und Vergleichen der Reinforcement-Learning-Algorithmen verwenden lassen
  • OpenAI Gym ist als Standard für das Benchmarking und die Reproduzierbarkeit der Algorithmen einsetzbar

(ID:47484986)