pekiştirme öğreniminde nasıl ödül fonksiyonu yapılır


18

Takviye Öğrenimi üzerinde çalışırken, ödül fonksiyonunun birçok formuyla karşılaştım: R(s,a) , R(s,a,s) ve hatta sadece mevcut duruma bağlı bir ödül fonksiyonu. Bunu söyledikten sonra, bir ödül fonksiyonu 'yapmanın' veya 'tanımlamanın' çok kolay olmadığını fark ettim.

Sorularım:

  1. Ödül işlevlerinin nasıl yapılacağına dair kurallar var mı?
  2. Ödül fonksiyonunun başka formları var mı? Örneğin, belki de devlete bağlı bir polinom formu?

Yanıtlar:


25

Ödül işlevleri, ajanın nasıl davranması gerektiğini "açıklar. Başka bir deyişle, ne öngören, "normatif" içeriğe sahip sen ajan başarmak istiyorum. Örneğin, bazı ödüllendirici devlet s gıda tadı temsil edebilir. Veya belki, (s,a) yiyecekleri tatma eylemini temsil edebilir. Yani, ödül fonksiyonu acentenin motivasyonlarının ne olduğunu belirlediği ölçüde, evet, telafi etmek zorundasınız!

Mutlak kısıtlamalar yoktur, ancak ödül fonksiyonunuz "daha iyi davranırsa", ajan daha iyi öğrenir. Pratik olarak, bu yakınsama hızı anlamına gelir ve yerel minimada sıkışmamak. Ancak daha fazla spesifikasyon, kullandığınız takviye öğrenme türlerine büyük ölçüde bağlı olacaktır. Örneğin, durum / eylem alanı sürekli mi yoksa ayrık mı? Dünya mı yoksa eylem seçimi stokastik mi? Ödül sürekli hasat mı, yoksa yalnızca sonunda mı?

R(s1)=1
R(s2..n)=0
R(si)=1/i2R(s,a)R(s,a,s)R

Sürekli durum alanı söz konusu olduğunda, bir temsilcinin kolayca öğrenmesini istiyorsanız, ödül işlevi sürekli ve farklılaştırılabilir olmalıdır . Bu nedenle polinomlar birçok algoritma için iyi çalışabilir. Ayrıca, lokalize minimi çıkarmaya çalışın. Bir dizi vardır örnekler nasıl DEĞİL gibi - bir ödül işlevini yapmaya Rastrigin fonksiyonu . Bunu söyledikten sonra, birçok RL algoritması (örn. Boltzmann makineleri ) bunlara karşı biraz sağlamdır.

Gerçek dünyadaki bir sorunu çözmek için RL kullanıyorsanız, muhtemelen ödül fonksiyonunu bulmak sorunun en zor kısmı olmasına rağmen , durum alanını nasıl belirlediğinizle yakından bağlantılı olduğunu göreceksiniz . Örneğin, zamana bağlı bir problemde, hedefe olan mesafe genellikle zayıf bir ödül işlevi yapar (örneğin dağ arabası probleminde ). Bu gibi durumlar daha yüksek boyutlu durum uzayları (gizli durumlar veya bellek izleri) veya hiyerarşik RL kullanılarak çözülebilir.

Soyut bir düzeyde, denetimsiz öğrenmenin şart koşan "doğru ve yanlış" performansı ortadan kaldırması gerekiyordu. Fakat şimdi görebiliyoruz ki, RL sorumluluğu sadece öğretmen / eleştirmenden ödül fonksiyonuna kaydırıyor. Sorunu çözmenin daha az dairesel bir yolu var: yani en iyi ödül işlevini çıkarmak . Bir yönteme ters RL veya "çıraklık öğrenimi" denir ve bu gözlemlenen davranışları yeniden üretecek bir ödül işlevi oluşturur. Bir dizi gözlemi yeniden üretmek için en iyi ödül işlevini bulmak, MLE, Bayesian veya bilgi teorisi yöntemleri ile de uygulanabilir - eğer "ters takviye öğrenimi" için google.


Merhaba, neden dağ arabası problemi zamana bağlı bir problem?
GoingMyWay

Dağ arabası probleminin "zamana bağlı" olduğunu düşünüyorum, çünkü problem ağın uygun komut dizisini veya diziyi belirleyen bir politikayı sağlamasını gerektiriyor . Fikir şudur: Eğer sadece “pozisyon” u sizin durumunuz olarak ele alırsanız, o zaman problemi çözmek zordur - hızınızı (veya kinetik enerjinizi vs.) de dikkate almanız gerekir. Zaten ima ettiğim tek şey bu, zamana bağlı problemlerde durum alanınızı akıllıca seçmeyle ilgili.
Sanjay Manohar

@SanjayManohar Dağ araba probleminin "zamana bağlı" olduğunu düşünmüyorum, zamana bağlı olarak sınırlı bir zaman ufku getirmekten söz etmiyorsanız. Konum ve hız yeterlidir.
user76284

Bu cevabın ödül ve değer işlevlerini karıştırdığını düşünüyorum. Örneğin, ters takviye öğreniminde yaptığınız bir şey olabilir , ancak kontrol için kullanılan RL'de olmayan bir ödül fonksiyonu "bulmaktan" bahseder . Ayrıca, ödül fonksiyonunun sürekli ve farklılaştırılabilir olması gerektiğinden bahseder ve bu sadece gerekli değildir, genellikle durum böyle değildir. Başarı için basit bir +1 ya da literatürde atılan her adımda -1 sabitini bulma olasılığınız vardır.
Neil Slater

Teşekkürler @NeilSlater, haklısın büyük olasılıkla onu bulmak yerine bir ödül fonksiyonu "inşa etmek" demeliydim. "Değer işlevi" ile ilgili olarak, genellikle bu terimi eyalet değeri veya eylem değeri eşlemeleri için ayırırım; yani, aracının gelecekteki ödülü tahmin etmek için kullandığı bir işlev. Dolayısıyla "değer", "ödül" ile ilgilidir, ancak ödül sorunun çözülmesine yönelik algoritmanın değil, sorunun bir parçasıdır. Belki de AI'daki vurgu, ikili, distal, seyrek ödülleri şart koşarak öğrenme algoritmanızı göstermek olmuştur - ancak ödül fonksiyonu üzerinde kontrolünüz varsa, "güzel" ise hayat daha kolaydır.
Sanjay Manohar

4

Ödül işlevlerini tasarlamak gerçekten zor bir sorundur. Genel olarak, seyrek ödül işlevlerinin tanımlanması daha kolaydır (örneğin, oyunu kazanırsanız +1, başka 0). Ancak, seyrek ödüller de öğrenmeyi yavaşlatır, çünkü temsilcinin herhangi bir ödül almadan önce birçok işlem yapması gerekir. Bu sorun kredi atama sorunu olarak da bilinir .

Bunun yerine, ödüller için bir tablo temsilini kullanmak yerine, sürekli işlevleri de kullanabilirsiniz (polinom gibi). Bu genellikle durum alanı ve eylem alanı ayrık olmaktan çok sürekli olduğunda geçerlidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.