RL çerçevesinde gezinme

Python ile Gymnasium'da Reinforcement Learning

Fouad Trad

Machine Learning Engineer

RL çerçevesi

Bir ajan bileşenini gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

RL çerçevesi

Ajan ve ortam bileşenlerini gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

RL çerçevesi

  • Ajan: öğrenen, karar verici
  • Ortam: çözülecek zorluklar

Ajan, ortam, durumlar, eylemler ve ödüller dahil tüm RL bileşenlerini gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

RL çerçevesi

  • Ajan: öğrenen, karar verici
  • Ortam: çözülecek zorluklar
  • Durum: belirli andaki ortam anlık görüntüsü

Ortamın ajana durumlar verdiğini gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

RL çerçevesi

  • Ajan: öğrenen, karar verici
  • Ortam: çözülecek zorluklar
  • Durum: belirli andaki ortam anlık görüntüsü
  • Eylem: ajanın duruma tepkisi olarak seçimi

Ajanın, ortamın durumuna bir eylem gerçekleştirerek tepki verdiğini gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

RL çerçevesi

  • Ajan: öğrenen, karar verici
  • Ortam: çözülecek zorluklar
  • Durum: belirli andaki ortam anlık görüntüsü
  • Eylem: ajanın duruma tepkisi olarak seçimi
  • Ödül: ajanın eylemine verilen geri bildirim

Ajanın, ortamın durumuna bir eylemle tepki verdiğini ve gerçekleştirilen eyleme göre ortamdan ödül aldığını gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

RL etkileşim döngüsü

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)

Ajanın, ortamın durumuna bir eylemle tepki verdiğini ve gerçekleştirilen eyleme göre ortamdan ödül aldığını gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

Epizodik vs. sürekli görevler

Epizodik görevler
  • Görevler bölümlere ayrılır
  • Bölümün başlangıcı ve bitişi vardır
  • Örnek: satranç oynayan ajan

Satranç oynayan bir kediyi gösteren görsel.

Sürekli görevler
  • Sürekli etkileşim
  • Belirgin bölümler yok
  • Örnek: trafik ışıklarını ayarlama

Bir kurbağanın bisiklet sürüp ışığın yeşile dönmesini beklediğini gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

Getiri

  • Eylemlerin uzun vadeli sonuçları vardır
  • Ajan, toplam ödülü zamanla en üst düzeye çıkarmayı hedefler
  • Getiri: beklenen ödüllerin toplamı

Getirinin r_1'den r_n'e bireysel ödüllerin toplamı olduğunu gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

İskontolu getiri

  • Anlık ödüller, gelecektekilere göre daha değerlidir
  • İskontolu getiri: yakındaki ödüllere daha fazla ağırlık verir
  • İskonto faktörü ($\gamma$): gelecekteki ödülleri iskonto eder

İskontolu getirinin, her biri iskonto faktörünün ilgili zaman adımı kuvvetiyle çarpılan ödüllerin toplamı olduğunu gösteren formül görseli.

Python ile Gymnasium'da Reinforcement Learning

İskonto faktörü

  • Sıfır ile bir arasında
  • Anlık ve uzun vadeli ödüller arasında denge kurar
    • Düşük değer → anlık kazançlar
    • Yüksek değer → uzun vadeli faydalar

İskonto faktörünün uç değerlerinin etkisini gösteren görsel: sıfır yalnızca anlık kazançları, bir ise iskonto olmadan geleceği tercih eder.

Python ile Gymnasium'da Reinforcement Learning

Sayısal örnek

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

Hadi pratik yapalım!

Python ile Gymnasium'da Reinforcement Learning

Preparing Video For Download...