Navigarea cadrului RL

Reinforcement Learning cu Gymnasium în Python

Fouad Trad

Machine Learning Engineer

Cadrul RL

Imagine care arată componenta agent.

Reinforcement Learning cu Gymnasium în Python

Cadrul RL

Imagine care arată componentele agent și mediu.

Reinforcement Learning cu Gymnasium în Python

Cadrul RL

  • Agent: învățător, factor de decizie
  • Mediu: provocări de rezolvat

Imagine care arată toate componentele RL: agent, mediu, stări, acțiuni și recompense.

Reinforcement Learning cu Gymnasium în Python

Cadrul RL

  • Agent: învățător, factor de decizie
  • Mediu: provocări de rezolvat
  • Stare: instantaneu al mediului la un moment dat

Imagine care arată că mediul furnizează stări agentului.

Reinforcement Learning cu Gymnasium în Python

Cadrul RL

  • Agent: învățător, factor de decizie
  • Mediu: provocări de rezolvat
  • Stare: instantaneu al mediului la un moment dat
  • Acțiune: alegerea agentului ca răspuns la stare

Imagine care arată că agentul răspunde la starea mediului prin executarea unei acțiuni.

Reinforcement Learning cu Gymnasium în Python

Cadrul RL

  • Agent: învățător, factor de decizie
  • Mediu: provocări de rezolvat
  • Stare: instantaneu al mediului la un moment dat
  • Acțiune: alegerea agentului ca răspuns la stare
  • Recompensă: feedback pentru acțiunea agentului

Imagine care arată că agentul răspunde la starea mediului prin executarea unei acțiuni și primește o recompensă din mediu pe baza acțiunii executate.

Reinforcement Learning cu Gymnasium în Python

Bucla de interacțiune RL

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)

Imagine care arată că agentul răspunde la starea mediului prin executarea unei acțiuni și primește o recompensă din mediu pe baza acțiunii executate.

Reinforcement Learning cu Gymnasium în Python

Sarcini episodice vs. continue

Sarcini episodice
  • Sarcini segmentate în episoade
  • Episodul are început și sfârșit
  • Exemplu: agent care joacă șah

Imagine cu o pisică jucând șah.

Sarcini continue
  • Interacțiune continuă
  • Fără episoade distincte
  • Exemplu: Reglarea semafoarelor

Imagine cu o broască pe bicicletă așteptând să se facă verde la semafor.

Reinforcement Learning cu Gymnasium în Python

Randament

  • Acțiunile au consecințe pe termen lung
  • Agentul urmărește să maximizeze recompensa totală
  • Randament: suma tuturor recompenselor așteptate

Imagine care arată că randamentul este suma recompenselor individuale r_1 până la r_n.

Reinforcement Learning cu Gymnasium în Python

Randament actualizat

  • Recompensele imediate sunt mai valoroase decât cele viitoare
  • Randament actualizat: acordă mai multă greutate recompenselor apropiate
  • Factorul de actualizare ($\gamma$): reduce ponderea recompenselor viitoare

Imagine care arată formula randamentului actualizat ca sumă a recompenselor, fiecare înmulțită cu factorul de actualizare ridicat la puterea pasului de timp corespunzător.

Reinforcement Learning cu Gymnasium în Python

Factorul de actualizare

  • Între zero și unu
  • Echilibrează recompensele imediate și pe termen lung
    • Valoare mică → câștiguri imediate
    • Valoare mare → beneficii pe termen lung

Imagine care arată influența valorilor extreme ale factorului de actualizare: o valoare de zero favorizează doar câștigurile imediate, iar o valoare de unu favorizează câștigurile viitoare fără actualizare.

Reinforcement Learning cu Gymnasium în Python

Exemplu numeric

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 cu Gymnasium în Python

Să exersăm!

Reinforcement Learning cu Gymnasium în Python

Preparing Video For Download...