Cursusinhoud
Introductie tot Reinforcement Learning
Introductie tot Reinforcement Learning
Gymnasium Basisprincipes
Gymnasium is een open-source toolkit ontworpen voor het ontwikkelen en evalueren van reinforcement learning (RL) agenten. Het biedt een verzameling standaardomgevingen voor het efficiënt testen van algoritmen en trainen van agenten.
Belangrijkste kenmerken
- Gestandaardiseerde API: waarborgt compatibiliteit tussen verschillende omgevingen;
- Verscheidenheid aan omgevingen: ondersteunt klassieke controleproblemen, Atari-spellen en roboticasimulaties;
- Eenvoudige integratie: compatibel met deep learning-frameworks zoals TensorFlow en PyTorch.
Workflow
Een typische workflow in Gymnasium ziet er als volgt uit:
1. Importeer de bibliotheek
import gymnasium as gym
Nadat de oorspronkelijke gym
-bibliotheek is stopgezet, wordt nu aanbevolen om gymnasium
te gebruiken — een goed onderhouden en actief ontwikkelde fork van gym. Ondanks de naamswijziging wordt de bibliotheek nog steeds vaak geïmporteerd met het alias gym
voor achterwaartse compatibiliteit en gemak.
2. Maak een omgeving aan
env = gym.make("CartPole-v1")
De functie gym.make()
maakt een omgeving aan met behulp van zijn unieke identificatie (bijvoorbeeld "CartPole-v1"
). Je kunt ook extra configuratieparameters meegeven, afhankelijk van de vereisten van de omgeving.
3. Reset de omgeving
observation, info = env.reset()
Voordat je met de omgeving interacteert, moet je deze resetten naar de beginstatus met env.reset()
. Dit retourneert:
observation
: de beginstatus van de omgeving;info
: aanvullende gegevens die metadata of status-specifieke configuratie kunnen bevatten.
4. Interactie met de omgeving
action = env.action_space.sample()
observation, reward, terminated, truncated, info = env.step(action)
In de eerste regel wordt een willekeurige actie gekozen uit de actie-ruimte met env.action_space.sample()
. De actie-ruimte definieert de verzameling van alle mogelijke acties die de agent in de omgeving kan uitvoeren. Daarnaast biedt de omgeving de observatieruimte, die toegankelijk is via env.observation_space
en de verzameling van alle mogelijke observaties (toestanden) vertegenwoordigt die de agent kan tegenkomen.
In de tweede regel wordt de gekozen actie doorgegeven aan env.step(action)
, die de actie uitvoert en het volgende retourneert:
observation
: de nieuwe toestand van de agent na het uitvoeren van de actie;reward
: de beloning die is ontvangen voor de uitgevoerde actie;terminated
: een boolean die aangeeft of de episode is beëindigd (d.w.z. de taak is voltooid);truncated
: een boolean die aangeeft of de episode voortijdig is gestopt (vanwege tijd of andere beperkingen);info
: aanvullende diagnostische informatie, vaak gebruikt voor debugging of logging.
5. Sluit de omgeving af
env.close()
Als je omgeving externe bronnen gebruikt (zoals render-vensters of simulaties), moet je deze afsluiten met env.close()
.
Als je meer wilt weten over de functies die de Gymnasium-bibliotheek biedt, bezoek dan their website.
Bedankt voor je feedback!