Procese de decizie Markov

Reinforcement Learning cu Gymnasium în Python

Fouad Trad

Machine Learning Engineer

MDP

  • Modelează matematic mediile RL

Imagine cu un mediu complex (oraș inteligent) și componentele de extras: stări, acțiuni, recompense și probabilități de tranziție.

Reinforcement Learning cu Gymnasium în Python

MDP

  • Modelează matematic mediile RL

Diagramă arătând cum dintr-un mediu complex extragem componentele MDP (stări, acțiuni, recompense și probabilități de tranziție) pentru a rezolva mediul cu tehnici RL bazate pe model.

Reinforcement Learning cu Gymnasium în Python

Proprietatea Markov

  • Starea viitoare depinde doar de starea curentă și acțiune

Imagine cu o tablă de șah și săgeți pentru mutările posibile.

Reinforcement Learning cu Gymnasium în Python

Frozen Lake ca MDP

  • Agentul trebuie să atingă scopul fără a cădea în găuri

Imagine cu mediul Frozen Lake.

Reinforcement Learning cu Gymnasium în Python

Frozen Lake ca MDP - stări

  • Pozițiile pe care agentul le poate ocupa

Imagine cu trei poziții diferite ale agentului în mediul Frozen Lake.

Reinforcement Learning cu Gymnasium în Python

Frozen Lake ca MDP - stări terminale

  • Duc la terminarea episodului

Imagine cu stările terminale din mediul Frozen Lake.

Reinforcement Learning cu Gymnasium în Python

Frozen Lake ca MDP - acțiuni

  • Sus, jos, stânga, dreapta

Imagine cu acțiunile din Frozen Lake și etichetele asociate: 0-stânga, 1-jos, 2-dreapta, 3-sus.

Reinforcement Learning cu Gymnasium în Python

Frozen Lake ca MDP - tranziții

  • Acțiunile nu duc neapărat la rezultatele așteptate

Imagine cu agentul în colțul din stânga sus al grilei Frozen Lake, vizând să se deplaseze la dreapta.

Reinforcement Learning cu Gymnasium în Python

Frozen Lake ca MDP - tranziții

  • Acțiunile nu duc neapărat la rezultatele așteptate

Imagine arătând că agentul se poate deplasa la dreapta.

Reinforcement Learning cu Gymnasium în Python

Frozen Lake ca MDP - tranziții

  • Acțiunile nu duc neapărat la rezultatele așteptate

Imagine arătând că agentul se poate deplasa și în jos.

Reinforcement Learning cu Gymnasium în Python

Frozen Lake ca MDP - tranziții

  • Acțiunile nu duc neapărat la rezultatele așteptate

Imagine arătând că agentul poate rămâne și în același loc.

Reinforcement Learning cu Gymnasium în Python

Frozen Lake ca MDP - tranziții

  • Acțiunile nu duc neapărat la rezultatele așteptate

Imagine arătând că, atunci când agentul decide să se deplaseze la dreapta, există probabilități de a merge la dreapta, în jos sau de a rămâne pe loc.

  • Probabilități de tranziție: probabilitatea de a ajunge într-o stare dată o stare și o acțiune
Reinforcement Learning cu Gymnasium în Python

Frozen Lake ca MDP - recompense

  • Recompensa se acordă doar în starea scop

Imagine cu agentul în starea scop.

Reinforcement Learning cu Gymnasium în Python

Stări și acțiuni în Gymnasium

import gymnasium as gym


env = gym.make('FrozenLake', is_slippery=True)
print(env.action_space)
print(env.observation_space)
print("Number of actions: ", env.action_space.n)
print("Number of states: ", env.observation_space.n)
Discrete(4)

Discrete(16)
Number of actions: 4
Number of states: 16
Reinforcement Learning cu Gymnasium în Python

Recompense și tranziții în Gymnasium

env.unwrapped.P: dicționar cu perechi stare-acțiune ca chei

print(env.unwrapped.P[state][action])
[
  (probability_1, next_state_1, reward_1, is_terminal_1), 
  (probability_2, next_state_2, reward_2, is_terminal_2), 
  etc.
]
Reinforcement Learning cu Gymnasium în Python

Recompense și tranziții în Gymnasium - exemplu

state = 6
action = 0

print(env.unwrapped.P[state][action])
[(0.3333333333333333, 2, 0.0, False), 
(0.3333333333333333, 5, 0.0, True), 
(0.3333333333333333, 10, 0.0, False)]

Imagine cu numerele acțiunilor: 0-stânga, 1-jos, 2-dreapta, 3-sus.

Imagine cu agentul în starea numărul 6, stările fiind numerotate de la stânga sus la dreapta jos, linie cu linie.

Reinforcement Learning cu Gymnasium în Python

Să exersăm!

Reinforcement Learning cu Gymnasium în Python

Preparing Video For Download...