Kursinhalt
Einführung in das Reinforcement Learning
Einführung in das Reinforcement Learning
Grundlagen von Gymnasium
Gymnasium ist ein Open-Source-Toolkit zur Entwicklung und Bewertung von Reinforcement-Learning-(RL)-Agenten. Es stellt eine Sammlung standardisierter Umgebungen zur Verfügung, um Algorithmen zu testen und Agenten effizient zu trainieren.
Hauptmerkmale
- Standardisierte API: gewährleistet Kompatibilität zwischen verschiedenen Umgebungen;
- Vielfalt an Umgebungen: unterstützt klassische Steuerungsprobleme, Atari-Spiele und Robotik-Simulationen;
- Einfache Integration: kompatibel mit Deep-Learning-Frameworks wie TensorFlow und PyTorch.
Arbeitsablauf
Ein typischer Arbeitsablauf in Gymnasium sieht folgendermaßen aus:
1. Bibliothek importieren
import gymnasium as gym
Nachdem die ursprüngliche gym
-Bibliothek eingestellt wurde, wird nun empfohlen, gymnasium
zu verwenden — ein gut gepflegter und aktiv entwickelter Fork von gym. Trotz der Namensänderung wird die Bibliothek aus Gründen der Rückwärtskompatibilität und Bequemlichkeit häufig weiterhin mit dem Alias gym
importiert.
2. Umgebung erstellen
env = gym.make("CartPole-v1")
Die Funktion gym.make()
instanziiert eine Umgebung anhand ihrer eindeutigen Kennung (z. B. "CartPole-v1"
). Je nach Anforderungen der Umgebung können zusätzliche Konfigurationsparameter übergeben werden.
3. Umgebung zurücksetzen
observation, info = env.reset()
Bevor mit der Umgebung interagiert werden kann, muss sie mit env.reset()
in ihren Anfangszustand zurückgesetzt werden. Dies liefert:
observation
: den Anfangszustand der Umgebung;info
: Hilfsdaten, die Metadaten oder zustandsspezifische Konfigurationen enthalten können.
4. Mit der Umgebung interagieren
action = env.action_space.sample()
observation, reward, terminated, truncated, info = env.step(action)
In der ersten Zeile wird eine zufällige Aktion aus dem Aktionsraum mit env.action_space.sample()
ausgewählt. Der Aktionsraum definiert die Menge aller möglichen Aktionen, die der Agent in der Umgebung ausführen kann. Zusätzlich stellt die Umgebung den Beobachtungsraum bereit, der über env.observation_space
zugänglich ist und die Menge aller möglichen Beobachtungen (Zustände), denen der Agent begegnen kann, repräsentiert.
In der zweiten Zeile wird die gewählte Aktion an env.step(action)
übergeben, wodurch die Aktion ausgeführt wird und Folgendes zurückgegeben wird:
observation
: der neue Zustand des Agenten nach Ausführung der Aktion;reward
: die Belohnung für die ausgeführte Aktion;terminated
: ein boolescher Wert, der angibt, ob die Episode beendet ist (d. h. die Aufgabe abgeschlossen wurde);truncated
: ein boolescher Wert, der angibt, ob die Episode vorzeitig gestoppt wurde (aufgrund von Zeit- oder anderen Einschränkungen);info
: zusätzliche diagnostische Informationen, die häufig zum Debuggen oder Protokollieren verwendet werden.
5. Umgebung schließen
env.close()
Wenn Ihre Umgebung externe Ressourcen verwendet (z. B. Renderfenster oder Simulationen), sollte sie mit env.close()
geschlossen werden.
Wenn Sie mehr über die von der Gymnasium-Bibliothek bereitgestellten Funktionen erfahren möchten, besuchen Sie their website.
Danke für Ihr Feedback!