Markov Karar Süreçleri

Python ile Gymnasium'da Reinforcement Learning

Fouad Trad

Machine Learning Engineer

MDP

  • RL ortamlarını matematiksel olarak modeller

Karmaşık bir ortamı (akıllı şehir) ve ondan çıkarmamız gereken bileşenleri gösteren görsel: durumlar, eylemler, ödüller ve geçiş olasılıkları.

Python ile Gymnasium'da Reinforcement Learning

MDP

  • RL ortamlarını matematiksel olarak modeller

Karmaşık bir ortamdan MDP bileşenlerini (durumlar, eylemler, ödüller ve geçiş olasılıkları) çıkararak model tabanlı RL teknikleriyle ortamın çözüldüğünü gösteren diyagram.

Python ile Gymnasium'da Reinforcement Learning

Markov özelliği

  • Gelecek durum yalnızca mevcut durum ve eyleme bağlıdır

Bazı olası hamle oklarıyla bir satranç tahtasını gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

MDP olarak Frozen Lake

  • Ajan, deliklere düşmeden hedefe ulaşmalıdır

Donmuş göl ortamını gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

MDP olarak Frozen Lake - durumlar

  • Ajanın bulunabileceği konumlar

Frozen Lake ortamında ajanın üç farklı konumunu gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

MDP olarak Frozen Lake - terminal durumlar

  • Bölümün bitmesine yol açar

Donmuş göl ortamındaki terminal durumları gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

MDP olarak Frozen Lake - eylemler

  • Yukarı, aşağı, sol, sağ

Frozen Lake'de gerçekleştirilecek eylemler ve etiketleri: 0-sol, 1-aşağı, 2-sağ, 3-yukarı.

Python ile Gymnasium'da Reinforcement Learning

MDP olarak Frozen Lake - geçişler

  • Eylemler beklenen sonuçlara her zaman götürmez

Ajanın ızgaranın sol üst köşesinde sağa gitmeyi hedeflediğini gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

MDP olarak Frozen Lake - geçişler

  • Eylemler beklenen sonuçlara her zaman götürmez

Ajanın sağa hareket edebileceğini gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

MDP olarak Frozen Lake - geçişler

  • Eylemler beklenen sonuçlara her zaman götürmez

Ajanın aşağı da hareket edebileceğini gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

MDP olarak Frozen Lake - geçişler

  • Eylemler beklenen sonuçlara her zaman götürmez

Ajanın aynı yerde de kalabileceğini gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

MDP olarak Frozen Lake - geçişler

  • Eylemler beklenen sonuçlara her zaman götürmez

Ajan sağa gitmeye karar verdiğinde sağa, aşağıya gitme veya aynı yerde kalma olasılıkları olduğunu gösteren görsel.

  • Geçiş olasılıkları: Bir durum ve eylem verildiğinde bir duruma ulaşma olasılığı
Python ile Gymnasium'da Reinforcement Learning

MDP olarak Frozen Lake - ödüller

  • Ödül yalnızca hedef durumda verilir

Ajanın hedef durumda olduğunu gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

Gymnasium durumlar ve eylemler

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)

DNT_CURLLY_TAG_5

Number of actions: 4

Number of states: 16
Python ile Gymnasium'da Reinforcement Learning

Gymnasium ödüller ve geçişler

env.unwrapped.P: anahtarları durum-eylem çiftleri olan sözlük

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.
]
Python ile Gymnasium'da Reinforcement Learning

Gymnasium ödüller ve geçişler - örnek

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)]

Eylem numaralarını gösteren görsel: 0-sol, 1-aşağı, 2-sağ, 3-yukarı.

Ajanın 6 numaralı durumda olduğunu, durumların sol üstten sağ alt köşeye satır satır numaralandırıldığını gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

Hadi pratik yapalım!

Python ile Gymnasium'da Reinforcement Learning

Preparing Video For Download...