RL nedir?
- Makine Öğrenmesi kursu
- Uzman
- Ders 35/44
- 5 dk
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, FalseGym/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.
Başlangıç kodu
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
# buraya yazÖrnek çözüm
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))Beklenen çıktı
[0, 1, 2, 3, 4] 0.7 [0, 1, 0, 1, 2, 3, 4] 0.5
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 RL'yi denetimli öğrenmeden ayıran nedir?
- Sinir ağı kullanamaz
- Doğru cevap verilmez; yalnızca gecikmeli ödül sinyali vardır Doğru cevap
- Veri hiç kullanılmaz
- Yalnızca sınıflandırma yapar
Açıklama: Ajan hangi eylemin iyi olduğunu sonuçlardan çıkarmak zorundadır.
2 Ortam adımı üç şey döndürür.
durum, odul, ____ = adim(durum, eylem)
durum, odul, bitti = adim(durum, eylem)
Açıklama: Yeni durum, ödül ve bölümün bitip bitmediği.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
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 |