Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Voor dit labo dien je volgende packages ad-hoc te installeren in de devcontainer:

CartPoleยถ

CartPole is een klassiek controle probleem waarbij een staaf rechtop moet blijven op een kar die heen en weer kan bewegen.

CartPole

Het Probleemยถ

  • State: 4 continue waarden (positie kar, snelheid kar, hoek staaf, hoeksnelheid staaf)

  • Actions: 2 discrete acties (duw naar links of rechts)

  • Reward: +1 voor elke tijdstap waarbij de staaf rechtop blijft

  • Doel: Hou de staaf zo lang mogelijk rechtop (max 500 tijdstappen)

Setupยถ

We gebruiken:

  • Gymnasium: Een framework voor RL omgevingen (oorspronkelijk van OpenAI)

  • Stable-Baselines3: Kwalitatieve PyTorch implementaties van RL algoritmes

De Omgeving Verkennenยถ

Random baseline agentยถ

Voordat we een intelligent model trainen, kijken we eerst hoe een random agent (die willekeurige acties neemt) presteert. Dit geeft ons een baseline.

Training met Deep Q-Network (DQN)ยถ

Nu gaan we een Deep Q-Network (DQN) trainen om een intelligente policy te leren. DQN is een value-based methode die een neural network gebruikt om de optimale QQ-functie Qโˆ—(s,a)Q^*(s,a) te benaderen.

Visualisatieยถ

Analyseยถ

DQN leert een Q-function Q(s,a)Q(s,a) die voor elke state-action combinatie voorspelt wat de verwachte cumulatieve reward (return) is.

Bij een greedy policy, kiest de agent altijd actie met de hoogste Q-waarde:

ฯ€(s)=argโกmaxโกaQ(s,a)\pi(s) = \arg\max_a Q(s,a)

Training met PPO (Proximal Policy Optimization)ยถ

LunarLanderยถ

Laten we nu een complexer probleem bekijken: LunarLander-v2. Hier moet een maanlander veilig landen op een landingsplatform.

LunarLander

Het Probleemยถ

  • State: 8 continue waarden (positie, snelheid, hoek, hoeksnelheid, been-contact)

  • Actions: 4 discrete acties (niets, linker motor, hoofd motor, rechter motor)

  • Rewards:

    • +100 tot +140 voor succesvolle landing

    • -100 voor crash

    • Kleine negatieve rewards voor brandstofverbruik

    • Positieve rewards voor dichter bij landingszone

  • Doel: Land veilig met minimaal brandstofverbruik

Training met PPO op LunarLanderยถ

Visualisatieยถ