Makine Öğrenmesi
RL nedir?
Reinforcement learning, ajanın ödül maximize ederek öğrenmesi yöntemidir.
Pekiştirmeli öğrenme nedir?
Pekiştirmeli öğrenmede (RL) bir ajan, bir ortamla etkileşerek deneme-yanılma ile öğrenir. Etiketli doğru cevap yoktur; yalnızca eylemlerin sonucunda gelen ödül sinyali vardır:
durum = ortam.reset()
while not bitti:
eylem = ajan.sec(durum)
durum, odul, bitti = ortam.adim(eylem)
ajan.ogren(durum, eylem, odul)
Amaç tek adımlık ödül değil, zaman içindeki toplam ödüldür. Satranç, robot kontrolü ve dil modellerinin insan geri bildirimiyle ince ayarı (RLHF) RL kullanır.
Bir koridor ortamı
Bu grup boyunca 5 hücrelik bir koridor kullanacağız: ajan 0'dan başlar, 4'e (hedef) ulaşmaya çalışır. Her adım −0.1 ödül (acele et), hedef +1 verir ve bölüm biter:
def adim(durum, eylem):
yeni = max(0, durum - 1) if eylem == SOL else durum + 1
if yeni == N - 1:
return yeni, 1.0, True
return yeni, -0.1, False
Gym/Gymnasium kütüphanesinin env.step(action) arayüzü aynı mantıkla (gözlem, ödül, bitti, …) döndürür.
Uygulama Koridorda yürü
Verilen adim fonksiyonuyla bir bölüm çalıştıran calistir(eylemler) fonksiyonunu yaz: 0'dan başla, eylemleri sırayla uygula, bölüm bitince dur; geçilen durumları ve toplam ödülü döndür. [SAG, SAG, SAG, SAG] ve [SAG, SOL, SAG, SAG, SAG, SAG] için durumları ve toplam ödülü (round(..., 2)) aynı satırda yazdır.
Örnek çözümü göster
N = 5 # durumlar 0..4, hedef 4
SOL, SAG = 0, 1
def adim(durum, eylem):
yeni = max(0, durum - 1) if eylem == SOL else durum + 1
if yeni == N - 1:
return yeni, 1.0, True
return yeni, -0.1, False
def calistir(eylemler):
durum, toplam, yol = 0, 0.0, [0]
for e in eylemler:
durum, odul, bitti = adim(durum, e)
toplam += odul
yol.append(durum)
if bitti:
break
return yol, toplam
for dizi in [[SAG] * 4, [SAG, SOL, SAG, SAG, SAG, SAG]]:
yol, toplam = calistir(dizi)
print(yol, round(toplam, 2))
Kendini test et
-
RL'yi denetimli öğrenmeden ayıran nedir?
- Sinir ağı kullanamaz
- Doğru cevap verilmez; yalnızca gecikmeli ödül sinyali vardır
- Veri hiç kullanılmaz
- Yalnızca sınıflandırma yapar
Cevabı göster
Doğru cevap verilmez; yalnızca gecikmeli ödül sinyali vardır — Ajan hangi eylemin iyi olduğunu sonuçlardan çıkarmak zorundadır.
-
Ortam adımı üç şey döndürür.
durum, odul, ____ = adim(durum, eylem)
Cevabı göster
durum, odul, bitti = adim(durum, eylem)
-
Eşleştir.
- ajan
- Eylem seçer
- ortam
- Durum ve ödül verir
- ödül
- Geri bildirim sinyali
- bölüm
- Başlangıçtan bitişe bir deneme
Sıradaki ders: Agent