Navigeren door het RL-framework

Reinforcement Learning met Gymnasium in Python

Fouad Trad

Machine Learning Engineer

RL-framework

Afbeelding van een agentcomponent.

Reinforcement Learning met Gymnasium in Python

RL-framework

Afbeelding met agent- en omgevingscomponenten.

Reinforcement Learning met Gymnasium in Python

RL-framework

  • Agent: leerling, beslisser
  • Omgeving: uitdagingen om op te lossen

Afbeelding met alle RL-componenten: agent, omgeving, toestanden, acties en beloningen.

Reinforcement Learning met Gymnasium in Python

RL-framework

  • Agent: leerling, beslisser
  • Omgeving: uitdagingen om op te lossen
  • Toestand: momentopname van de omgeving

Afbeelding waarop te zien is dat de omgeving toestanden levert voor de agent.

Reinforcement Learning met Gymnasium in Python

RL-framework

  • Agent: leerling, beslisser
  • Omgeving: uitdagingen om op te lossen
  • Toestand: momentopname van de omgeving
  • Actie: keuze van de agent op basis van de toestand

Afbeelding waarop te zien is dat de agent reageert op de toestand van de omgeving door een actie uit te voeren.

Reinforcement Learning met Gymnasium in Python

RL-framework

  • Agent: leerling, beslisser
  • Omgeving: uitdagingen om op te lossen
  • Toestand: momentopname van de omgeving
  • Actie: keuze van de agent op basis van de toestand
  • Beloning: feedback op de actie van de agent

Afbeelding waarop te zien is dat de agent reageert op de toestand van de omgeving door een actie uit te voeren en dat de omgeving daarna een beloning geeft op basis van die actie.

Reinforcement Learning met Gymnasium in Python

RL-interactielus

env = create_environment()
state = env.get_initial_state()

for i in range(n_iterations): action = choose_action(state)
state, reward = env.execute(action)
update_knowledge(state, action, reward)

Afbeelding waarop te zien is dat de agent reageert op de toestand van de omgeving door een actie uit te voeren en dat de omgeving daarna een beloning geeft op basis van die actie.

Reinforcement Learning met Gymnasium in Python

Episodische vs. continue taken

Episodische taken
  • Taken in episodes
  • Episode heeft begin en einde
  • Voorbeeld: agent die schaakt

Afbeelding van een kat die schaakt.

Continue taken
  • Continue interactie
  • Geen duidelijke episodes
  • Voorbeeld: verkeerslichten afstellen

Afbeelding van een kikker op een fiets die wacht tot het verkeerslicht groen wordt.

Reinforcement Learning met Gymnasium in Python

Opbrengst (Return)

  • Acties hebben langetermijneffecten
  • Agent maximaliseert totale beloning in de tijd
  • Opbrengst (return): som van alle verwachte beloningen

Afbeelding waarop te zien is dat de opbrengst de som is van individuele beloningen r_1 tot en met r_n.

Reinforcement Learning met Gymnasium in Python

Gedisconteerde opbrengst

  • Directe beloningen zijn waardevoller dan toekomstige
  • Gedisconteerde opbrengst: geeft meer gewicht aan nabije beloningen
  • Discontovoet ($\gamma$): kort toekomstige beloningen

Afbeelding met de formule van de gedisconteerde opbrengst als de som van beloningen, elk vermenigvuldigd met de discontovoet tot de macht van de tijdstap.

Reinforcement Learning met Gymnasium in Python

Discontovoet

  • Tussen nul en één
  • Balanceert directe vs. langetermijnbeloningen
    • Lagere waarde → directe winst
    • Hogere waarde → langetermijnvoordeel

Afbeelding met de invloed van extreme waarden van de discontovoet: nul bevoordeelt alleen directe winst, één bevoordeelt toekomstige winst zonder korting.

Reinforcement Learning met Gymnasium in Python

Rekenvoorbeeld

import numpy as np
expected_rewards = np.array([1, 6, 3])

discount_factor = 0.9
discounts = np.array([discount_factor ** i for i in range(len(expected_rewards))])
print(f"Discounts: {discounts}")
Discounts: [1.   0.9  0.81]
discounted_return = np.sum(expected_rewards * discounts)
print(f"The discounted return is {discounted_return}")
The discounted return is 8.83
Reinforcement Learning met Gymnasium in Python

Laten we oefenen!

Reinforcement Learning met Gymnasium in Python

Preparing Video For Download...