Entwickeln und vergleichen Sie Reinforcement-Learning-Algorithmen mit diesem Toolkit.
Wenn Sie kein Modell für maschinelles Lernen von Grund auf neu erstellen können oder Ihnen die Infrastruktur fehlt, schließen Sie einfach Ihre App mit einem funktionierenden Modell, um die Lücke zu schließen.
Künstliche Intelligenz ist hier, damit jeder sie auf die eine oder andere Weise nutzen kann. Was OpenAI Gym betrifft, gibt es viele erforschbare Trainingsplätze, um Ihre Reinforcement-Learning-Agenten zu füttern.
Was ist OpenAI Gym, wie funktioniert es und was können Sie damit bauen?
Was ist OpenAI Gym?
OpenAI Gym ist eine pythonische API, die simulierte Trainingsumgebungen für Reinforcement-Learning-Agenten bereitstellt, um auf der Grundlage von Umgebungsbeobachtungen zu handeln; Jede Aktion ist mit einer positiven oder negativen Belohnung verbunden, die bei jedem Zeitschritt anfällt. Während der Agent darauf abzielt, die Belohnungen zu maximieren, wird er für jede unerwartete Entscheidung bestraft.
Der Zeitschritt ist ein zeitdiskreter Tick für die Umgebung, um in einen anderen Zustand überzugehen. Es summiert sich, wenn die Aktionen des Agenten den Umgebungszustand ändern.
Wie funktioniert OpenAI Gym?
Die OpenAI Gym-Umgebungen basieren auf dem Markov Decision Process (MDP), einem dynamischen Entscheidungsfindungsmodell, das beim Reinforcement Learning verwendet wird. Daraus folgt, dass Belohnungen nur dann kommen, wenn sich der Zustand der Umgebung ändert. Und die Ereignisse im nächsten Zustand hängen nur vom aktuellen Zustand ab, da MDP vergangene Ereignisse nicht berücksichtigt.
Bevor wir fortfahren, lassen Sie uns in ein Beispiel eintauchen, um die Anwendung von OpenAI Gym beim bestärkenden Lernen schnell zu verstehen.
Angenommen, Sie beabsichtigen, ein Auto in einem Rennspiel zu trainieren, können Sie in OpenAI Gym eine Rennstrecke aufdrehen. Wenn das Fahrzeug beim bestärkenden Lernen nach rechts statt nach links abbiegt, erhält es möglicherweise eine negative Belohnung von -1. Die Rennstrecke ändert sich bei jedem Zeitschritt und kann in nachfolgenden Zuständen komplizierter werden.
Negative Belohnungen oder Strafen sind für einen Agenten beim Reinforcement Learning nicht schlecht. In einigen Fällen ermutigt es ihn, sein Ziel schneller zu erreichen. So lernt das Auto mit der Zeit die Strecke kennen und meistert seine Navigation durch Belohnungsstreaks.
So initiierten wir beispielsweise die FrozenLake-v1 Umgebung, in der ein Agent bestraft wird, wenn er in Eislöcher fällt, aber dafür belohnt wird, eine Geschenkbox zu bergen.
Unser erster Lauf brachte weniger Strafen ohne Belohnungen:
Eine dritte Iteration erzeugte jedoch eine komplexere Umgebung. Aber der Agent bekam ein paar Belohnungen:
Das obige Ergebnis bedeutet nicht, dass sich der Agent in der nächsten Iteration verbessern wird. Während es beim nächsten Mal erfolgreich mehr Löcher vermeiden kann, erhält es möglicherweise keine Belohnung. Das Ändern einiger Parameter könnte jedoch die Lerngeschwindigkeit verbessern.
Die OpenAI Gym-Komponenten
Die OpenAI Gym API dreht sich um die folgenden Komponenten:
- Der Umgebungen wo Sie einen Agenten ausbilden. Sie können eine mit starten gym.make Methode. OpenAI Gym unterstützt auch Umgebungen mit mehreren Agenten.
- Der Verpackungen zum Ändern einer bestehenden Umgebung. Obwohl jede Basisumgebung standardmäßig vorverpackt ist, können Sie sie mit Parametern wie max_actions, min_actions und Max Rewards neu skalieren.
- Ein Aktion; definiert, was der Agent tut, wenn er Veränderungen in seiner Umgebung beobachtet. Jede Aktion in einer Umgebung ist ein Schritt, der die Reaktion eines Agenten auf Beobachtungen definiert. Eine Schrittvervollständigung gibt eine Beobachtung, eine Belohnung, Informationen und einen Wert zum Abschneiden oder Beenden zurück.
- Der Überwachung; definiert die Erfahrung eines Agenten in einer Umgebung. Sobald es eine Beobachtung gibt, folgt eine Aktion mit ihren Informationen. Der info-Parameter ist ein Ausführungsprotokoll, das beim Debuggen praktisch ist. Sobald ein Schritt endet, wird die Umgebung n-mal zurückgesetzt, abhängig von der Anzahl der angegebenen Iterationen.
Was können Sie mit OpenAI Gym machen?
Da Sie mit OpenAI Gym benutzerdefinierte Lernumgebungen erstellen können, finden Sie hier einige Möglichkeiten, es in einem realen Szenario zu verwenden.
1. Spielsimulation
Sie können die Spielumgebungen von OpenAI Gym nutzen, um gewünschte Verhaltensweisen zu belohnen, Spielbelohnungen zu erstellen und die Komplexität pro Spielstufe zu erhöhen.
2. Bilderkennung
Wo nur eine begrenzte Menge an Daten, Ressourcen und Zeit zur Verfügung steht, kann OpenAI Gym für die Entwicklung eines Bilderkennungssystems hilfreich sein. Auf einer tieferen Ebene können Sie es skalieren, um ein Gesichtserkennungssystem aufzubauen, das einen Agenten für die korrekte Identifizierung von Gesichtern belohnt.
3. Robotertraining
OpenAI Gym bietet auch intuitive Umgebungsmodelle für 3D- und 2D-Simulationen, mit denen Sie gewünschte Verhaltensweisen in Roboter implementieren können. Roboterschule ist ein Beispiel für eine skalierte Robotersimulationssoftware, die mit OpenAI Gym erstellt wurde.
4. Marketing
Mit OpenAI Gym können Sie auch Marketinglösungen wie Ad-Server, Aktienhandels-Bots, Verkaufsvorhersage-Bots, Produktempfehlungssysteme und vieles mehr erstellen. Sie können beispielsweise ein benutzerdefiniertes OpenAI Gym-Modell erstellen, das Anzeigen basierend auf der Impression und der Klickrate bestraft.
5. Verarbeitung natürlicher Sprache
Einige Möglichkeiten zur Anwendung von OpenAI Gym in Verarbeitung natürlicher Sprache sind Multiple-Choice-Fragen mit Satzvervollständigung oder Erstellen eines Spam-Klassifikators. Sie können beispielsweise einen Agenten darin schulen, Satzvariationen zu lernen, um Vorurteile beim Markieren von Teilnehmern zu vermeiden.
Erste Schritte mit OpenAI Gym
OpenAI Gym unterstützt Python 3.7 und spätere Versionen. Um eine OpenAI Gym-Umgebung einzurichten, installieren Sie Gymnasium, die gegabelte kontinuierlich unterstützte Fitnessstudio-Version:
Pip installieren Gymnasium
Als nächstes drehen Sie eine Umgebung hoch. Sie können jedoch eine benutzerdefinierte Umgebung erstellen. Beginnen Sie jedoch damit, mit einem vorhandenen herumzuspielen, um das Konzept von OpenAI Gym zu beherrschen.
Der folgende Code dreht die FrozenLake-v1. Der env.reset Methode zeichnet die anfängliche Beobachtung auf:
importieren Gymnasium als Fitnessstudio
env = gym.make('FrozenLake-v1', render_mode="menschlich")
Beobachtung, info = env.reset()
Einige Umgebungen erfordern zusätzliche Bibliotheken, um zu funktionieren. Wenn Sie eine andere Bibliothek installieren müssen, empfiehlt Python dies über die Ausnahmemeldung.
Beispielsweise installieren Sie eine zusätzliche Bibliothek (turnhalle[toy-text]) zum Ausführen der FrozenLake-v1 Umfeld.
Bauen Sie auf der Leistungsfähigkeit von OpenAI Gym auf
Einer der Rückschläge bei der Entwicklung von KI und maschinellem Lernen ist der Mangel an Infrastruktur und Trainingsdatensätzen. Wenn Sie jedoch Modelle für maschinelles Lernen in Ihre Apps oder Geräte integrieren möchten, ist dies jetzt einfacher, da vorgefertigte KI-Modelle im Internet herumfliegen. Während einige dieser Tools kostengünstig sind, sind andere, einschließlich OpenAI Gym, kostenlos und Open Source.