Yeni başlayanlardan ustalaşmaya kadar Derin Güçlendirme Öğrenimi: Politika değişimlerini tanıtmak için örnek olarak Cartpole ve Doom'u kullanma (Bölüm 4)

Bu makale, orijinal başlığı olan AI Araştırma Enstitüsü tarafından derlenen teknik bir blogdur:

Cartpole ve Doom ile Politika Degradelerine Giriş

Yazar | Thomas Simonini

Tercüme | Anishite

Düzeltme | Soslu Armut Terbiyesi | Ananas Kız

Orijinal bağlantı:

https://medium.freecodecamp.org/an-introduction-to-policy-gradients-with-cartpole-and-doom-495b5ef2207f

Yeni başlayanlardan ustalaşmaya kadar Derin Takviye Öğrenme: Strateji gradyanlarını tanıtmak için örnek olarak Cartpole ve Doom'u kullanma (Bölüm 4)

Bu makalenin ortamı

Bu makale, Tensorflow'un kullanıldığı derinlemesine pekiştirmeli öğrenme kursunun bir parçasıdır. Müfredatı görüntülemek için buraya tıklayın.

Q-öğrenme ve derin Q-öğrenme ile ilgili son iki makalede, değere dayalı pekiştirmeli öğrenme algoritması öğrenimini tamamladık. Belirli bir durumda, en yüksek Q değerine sahip eylemi seçeriz (tüm eyaletlerde beklenen en büyük ödül). Bu nedenle, değere dayalı öğrenmede, yalnızca bu eylemlerin değerinin değerlendirilmesi için bir strateji vardır.

Bugün, strateji gradyanı adı verilen strateji tabanlı pekiştirmeli öğrenme tekniğini öğreneceğiz. İki aracı uygulayacağız. İçlerinden biri tahta çıtaları dengede tutmayı öğrenecek.

İkinci ajan, Doom serisinin düşman ortamında sağlık puanı toplayarak hayatta kalmayı öğrenir.

Strateji tabanlı yaklaşımda, bize belirli bir durum ve eylem için ödüllerin toplamının değer işlevini söyleyebilen öğrenmenin aksine, durumu davranışla eşleştirebilen strateji işlevini doğrudan öğreniriz (değer işlevi aracılığıyla hiçbir eylem seçilmez).

Bu, değer işlevi aracılığıyla deneme yanılma yerine doğrudan strateji işlevini optimize etmeye çalıştığımız ve doğrudan parametreleştirmeye çalıştığımız anlamına gelir (değer işlevini kullanmadan eylemleri seçin).

Tabii ki, strateji parametrelerini değer işlevi aracılığıyla optimize edebilirim. Ancak değer işlevi artık eylemleri seçmek için kullanılmayacaktır.

Bu makale şunları öğrenecek:

  • Strateji gradyanı nedir, avantajları ve dezavantajları;

  • Tensorflow'a nasıl uygulanır.

Neden strateji işlevlerini kullanmalısınız?

İki tür strateji: belirleyici veya rastgele.

Belirli bir strateji, durumu davranışa eşleyebilir. Bir durum girin ve işlev yürütülecek bir davranışı geri bildirecektir.

Belirlenen strateji belirli bir ortamda kullanılır ve eylemin yürütüldüğü ortam sonucu belirler ve belirsizlik yoktur. Örneğin, piyonunuzu A2'den A3'e hareket ettirmek için satranç oynadığınızda, piyonunuzun A3'e hareket edeceğinden emin olursunuz.

Öte yandan, rastgele bir strateji, bir davranış kümesinin olası atamalarını çıkarır.

Bu, kesin olarak bir davranışı seçmek yerine, farklı bir davranış seçebileceğimiz anlamına gelir (örnekteki olasılıkların% 30'u, Güney'i seçeriz).

Stokastik strateji, ortam belirsiz olduğunda kullanılır. Bu sürece Kısmi Ölçülebilir Markov Karar Süreci (POMDP) de deniyor.

Çoğu durumda, ikinci tip strateji kullanırız.

Avantajı

Derin Q öğrenme zaten çok güçlü, neden stratejik pekiştirmeli öğrenme yöntemlerini kullanalım?

Politika gradyanlarını kullanırken derin öğrenmenin üç ana avantajı vardır:

yakınsama

Strateji işlevi daha iyi yakınsama özelliklerine sahiptir. Eğitim sırasında değer işleviyle ilgili bir sorun, büyük bir şoktur. Bunun nedeni, davranış seçiminin ölçülen davranış değerinde keyfi olarak dramatik bir şekilde azalabilmesidir.

Öte yandan, politika gradyanını kullanarak, en iyi değeri bulmak için eğimi takip ediyoruz. Her adımda sorunsuz bir güncelleme görünür.

En iyi değeri bulmak için gradyanı takip ettiğimizden, yerel bir maksimuma (en kötü durum) veya genel maksimuma (en iyi durum) yakınsadığımızdan emin oluruz.

Politika gradyanı, yüksek boyutlu alanda daha etkilidir

İkinci avantaj, politika gradyanının yüksek boyutlu uzayda veya sürekli eylemde daha etkili olmasıdır.

Derin Q öğrenme ile ilgili sorunlardan biri, tahminin her adımında mevcut durum göz önüne alındığında olası her davranışa bir puan atamasıdır (geleceği tahmin etmek için ödülü maksimize etmek).

Peki ya bu sonsuz olası eylemlerse?

Örneğin, otonom sürüşte, her durumda, neredeyse sınırsız davranış seçenekleri olabilir. (Tekerlekleri 15 °, 17.2 °, 19,4 ° ayarlayın, ıslık çalın ...). Her işlem için bir Q değeri çıkarmamız gerekir.

Öte yandan, strateji işlevinde, her adımda maksimum değeri tahmin etmek yerine parametreler doğrudan ayarlanmalıdır (maksimum değerin ne olduğunu anlamanız gerekecektir).

Strateji gradyanı stokastik stratejileri öğrenebilir

Üçüncü avantaj, politika gradyanlarının stokastik politikaları öğrenebilmeleri, değer fonksiyonlarının ise öğrenememesidir. Bu da iki sonuca götürür.

Birincisi, uygulama algılama ve geliştirme arasında bir değiş tokuşa ihtiyacımız yok. Stokastik bir strateji, ajanın her zaman aynı davranışı benimsemek yerine durum uzayını keşfetmesine izin verir. Bunun nedeni, bir davranış kümesi üzerinde bir olasılık dağılımı çıktısı vermesidir. Sonuç, sabit kodlamadan ziyade algılama ve geliştirmenin ödünleşimleriyle ilgilenecek olmasıdır.

Ayrıca algısal karmaşa sorununu da ortadan kaldırıyoruz, bu da iki görünen (veya gerçekte) aynı durumda olduğumuz anlamına gelir, ancak farklı davranışlara ihtiyacımız vardır.

Örneğin, amacı tozu emmek ve hamsterleri öldürmekten kaçınmak olan akıllı bir elektrikli süpürgemiz var.

Bu örnek, David Silver'ın mükemmel kursu tarafından tanıtıldı:

Elektrikli süpürgemiz yalnızca duvarın nerede olduğunu algılayabilir.

Soru: İki kırmızı kare benzer durumda, çünkü temsilci her iki taraftaki alt duvarı algılayabilir.

Belirli bir strateji altında, kırmızı durumda, ajan ya sağa ya da sola gitmeyi seçer, bu da ajanın sıkışmasına ve vakum yapamamasına neden olabilir.

Değer tabanlı pekiştirme algoritmasında, doğru bir nitel strateji (? Açgözlü strateji) öğreniriz. Sonuç, ajanın tozu bulmadan önce çok zaman harcamasıdır.

Öte yandan, optimize edilmiş bir rastgele strateji, gri ızgaradayken rastgele sola veya sağa hareket edecektir. Sonuç, temsilcinin takılıp kalmayacağı ve mümkün olan en büyük koşullarda hedef duruma ulaşabileceğidir.

Dezavantaj

Stratejik değişimin doğal olarak büyük bir dezavantajı vardır. Çoğu durumda, global maksimum yerine yerel maksimuma yakınsar.

Politika gradyanının yakınsaması adım adım çok yavaştır ve eğitilmesi uzun zaman alır, bu da küresel maksimumu bulmaya çalışan derin Q öğreniminden farklıdır.

Yine de sorunun çözümünü göreceğiz.

Stratejik seçim

parametresine sahip strateji , eylem setinin olasılık dağılımını verir.

S durumu verildiğinde, parametresiyle a eylemi gerçekleştirme olasılığı

Korkunç olan, stratejimizin iyi olduğunu nasıl bilebiliriz?

Bu stratejinin bir optimizasyon sorunu olarak görülebileceğini unutmayın. J () skor fonksiyonunu maksimize etmek için en iyi parametreyi () bulmalıyız.

Burada iki adım var:

  • (strateji) 'nin kalitesini ölçmek için strateji puanlama fonksiyonunu J () kullanın.

  • iyileştirmek için en iyi parametreyi bulmak için strateji gradyan yükselmesini kullanın.

Buradaki ana fikir, J () 'nin bize stratejinin'nin ne kadar iyi olduğunu söylemesidir. Strateji gradyanı artışı, iyi eylemlerin örneklemesini en üst düzeye çıkarmak için en iyi strateji parametrelerini bulmamıza yardımcı olacaktır.

Adım 1: Strateji puanlama fonksiyonu J ()

Stratejimizin ne kadar iyi olduğunu ölçmek için, beklenen strateji ödülünü hesaplamak için amaç fonksiyonunu (veya strateji puanlama fonksiyonunu) kullanırız.

Stratejiyi optimize etmenin üç eşdeğer yolu vardır. Seçim yalnızca çevreye ve hedeflere bağlıdır.

İlk olarak, durumsal bir ortamda, bir başlangıç değeri alırız ve ilk adımdan (G1) geri bildirimlerin ortalama değerini hesaplarız. Bu, ilk tüm senaryo için kümülatif indirim ödülüdür.

Fikir basit, yani her zaman s1 durumundan başlıyorsam, başlangıç durumundan bitiş durumuna kadar genel ödül nedir?

G1'i maksimize eden stratejiyi bulmak istiyoruz, çünkü bu optimal strateji olacaktır, ilk makalede açıklanan ödül hipotezine bakın.

Örneğin, koparma oyununda yeni bir tur oynadım, ancak 20 tuğla kırdıktan sonra (oyun bitti) topu kaybettim. Yeni senaryolar her zaman aynı durumdan başlar.

Puanı hesaplamak için J1 () kullanıyorum. 20 kare vurmak iyidir, ancak puanı yükseltmek istiyorum. Bu amaçla, davranışımın olasılık dağılımını iyileştirmek için parametreleri ayarlamam gerekiyor. Bunlar ikinci adımda yapılır. Sürekli bir ortamda, belirli bir başlangıç durumuna güvenemediğimiz için, ortalama değerleri kullanabiliriz. Her durum değeri, karşılık gelen durumun gerçekleşme olasılığı ile ağırlıklandırılır (çünkü bazılarının oluşma olasılığı daha yüksektir).

Üçüncüsü, her adımda en yüksek ödülü alabilmemiz için her adım için ortalama ödülü kullanın.

İkinci adım: strateji gradyanı artışı

Bize stratejinin ne kadar iyi olduğunu söyleyen bir strateji puanlama fonksiyonumuz var. Şimdi, skor fonksiyonunu maksimize eden parametresini arıyoruz. Puan işlevini en üst düzeye çıkarmak, en uygun stratejiyi bulmak anlamına gelir.

J () skor fonksiyonunu maksimize etmek için, politika parametrelerinde bir gradyan artışı yapmamız gerekiyor.

Gradyan yükselişi, gradyan inişinin tersidir. Degradenin her zaman en hızlı değişikliği gösterdiğini unutmayın.

Gradyan inişte, fonksiyondaki en hızlı iniş yönünü seçiyoruz. Benzer şekilde, gradyan yükselirken, fonksiyondaki en hızlı yükselme yönünü seçeriz.

Neden gradyan inişi yerine gradyan yükseliyor? Çünkü minimumu bulmak için hata fonksiyonunda gradyan inişini kullanmak istiyoruz.

Ancak skor fonksiyonu bir hata fonksiyonu değildir, maksimum değeri gerektirir, bu nedenle gradyan çıkışını kullanırız.

Buradaki fikir, karşılık gelen eğimi bulmaktır, böylece mevcut strateji parametreleri yinelemedeki maksimum artış yönünde günceller.

Şimdi, ilgili içeriği matematikselleştirelim Burada biraz zor ama gradyan formülünü nasıl elde edeceğimizi anlamanın temeli bu.

Puanı en üst düzeye çıkarmak için en iyi parametreyi bulmalıyız *:

Puanlama fonksiyonumuz şu şekilde tanımlanabilir:

Bu, belirli bir strateji için beklenen ödüllerin toplamıdır.

Şimdi, gradyan tırmanışı yapacağımız için, J () skor fonksiyonumuzu ayırt etmeliyiz. Şu şekilde de tanımlanabilir:

Karşılaştığımız sorunları göstermek için fonksiyonları bu şekilde yazıyoruz.

Strateji parametrelerinin davranışların nasıl seçildiğini, yani ne tür bir ödül aldığımızı, hangi durumu göreceğimizi ve ne sıklıkla göreceğimizi etkilediğini biliyoruz.

Bu nedenle, iyileştirmeyi sağlamak için stratejilerde değişiklik bulmak zor olabilir. Bunun nedeni, performansın davranış seçimlerine ve seçimler yapıldıktan sonraki durum dağılımına bağlı olmasıdır. Bunların her ikisi de strateji parametrelerinden etkilenir. Strateji parametrelerinin davranış üzerindeki etkisini bulmak kolaydır, ancak durum dağılımı durumunda stratejinin etkisi nasıl bulunur? Ortamın işlevi bilinmemektedir.

Bu nedenle, sorunla karşı karşıyayız: eğim, durum dağılımı altındaki politika değişikliğinin bilinmeyen etkisine bağlı olduğunda, eğilimi, politikanın karşılık gelmesini kullanarak nasıl değerlendirebiliriz .

Çözüm, politika gradyanı ilkesini kullanmaktır. J () (performans) 'nın gradyanı için analitik bir temsil sağlamak için durum dağılımını içermeyen strateji difference içeren fark yönünü kullanın.

Bu nedenle, aşağıdaki gibi hesaplıyoruz:

Unutmayın, rastgele bir strateji durumundayız. Bu, stratejimizin bir olasılık dağılımı çıkardığı anlamına gelir (; ). Mevcut parametre verildiğinde (s0, a0, r0 ...) adım atma olasılığını verir.

Bununla birlikte, bir logaritmaya dönüştüremediğimiz sürece, olasılık fonksiyonunu ayırt etmek daha zordur. Bu, olasılık fonksiyonunun basitçe farklılaştırılmasına izin verecektir.

Burada, sonuç bölümünü log olasılıkla değiştirmek için olasılık oranı yöntemini kullanacağız.

Şimdi toplamı bir beklentiye çevirelim:

Gördüğünüz gibi, sadece log strateji fonksiyonunun türevini hesaplamamız gerekiyor.

Pek çok türetme yaptık ve şimdi, politika eğiminin sonucunu çıkarabiliriz:

Bu strateji gradyanı, daha yüksek bir puan almak istiyorsak, parametresini değiştirerek strateji dağılımını nasıl değiştireceğimizi söyler.

R (tau) skaler bir değer gibidir:

R (tau) yüksekse, bu, eylemlerimizin ortalama olarak yüksek ödüllere yol açacağı anlamına gelir. Görünür davranışların olasılığını teşvik etmek istiyoruz (bu davranışları alma olasılığını artırmak).

Öte yandan, R (tau) düşükse, görünür davranış olasılığını azaltmalıyız.

Gradyan stratejisi, parametrelerin en yüksek getiriye sahip en destekleyici eylem yönünde hareket etmesine neden olur.

Monte Carlo strateji gradyanı

Notlarda, görevimizin birkaç aşamaya ayrılabileceği göz önüne alındığında, politika gradyan algoritmasını tasarlamak için Monte Carlo yöntemini kullanacağız.

Başlat her bölüm için = S0, A0, R1, S1,, ST: t 1 ila T-1 için: = theta (log (St, At, )) Gt = + Her bölüm için: Bu bölümdeki her adımda: Politikamız tarafından üretilen günlük olasılıklarını hesaplayın Bunu skor fonksiyonu ile çarpın. Ağırlıkları güncelleyin

Ancak bu algoritmayı kullanırken bir sorunla karşı karşıyayız. Her aşamanın sonunda sadece R değerini hesapladığımız için, tüm davranışların ortalamasını alacağız. Davranışın bir kısmı çok kötü olsa bile, puanımız çok yüksekse, o zaman tüm davranışların ortalaması iyi olarak alınacaktır.

Doğru bir stratejiye sahip olmak için, çok fazla örneklemeye ihtiyacımız var, bu da çok yavaş öğrenmeye yol açacak.

Model nasıl geliştirilir?

Sonraki makalelerde aşağıdaki gelişmeleri göreceğiz:

Davranış değerlendirici: bir değer algoritması ve strateji algoritması karışımı.

Yakın uç strateji gradyanı: Önceki stratejiden sapmanın nispeten küçük olduğundan emin olun.

Kartpole ve Doom'da Uygulama

Bir video çektik ve Tensorflow'u ölüm modunda Doom oyununda strateji gradyanı ajanını uygulamak için kullandık:

Tensorflow ile Doom deathmatch ?? oynayan Policy Gradients (eğitim)

Notlara doğrudan erişebilirsiniz: Derin Takviye Öğrenme Kursu deposu.

Özetle, Doom ortamında hayatta kalmayı öğrenebilecek bir ajan yarattınız. Harika!

Kodun her bir bölümünü kendiniz uygulamayı unutmayın, bu çok önemlidir. Yaşı artırmaya, mimariyi değiştirmeye, öğrenme oranını değiştirmeye, daha iyi bir donanım ortamı kullanmaya vb. Çalışın. Keyfini çıkarın!

Bir sonraki makalede, derin Q öğrenmedeki en son gelişmeleri tartışacağım:

  • Çift DQN

  • Rekabet ağı

  • Sabit Q değeri

  • Öncelikli deneyim tekrarı

Bu makalenin ilgili bağlantılarını ve referanslarını görüntülemeye devam etmek ister misiniz?

Bağlantıya uzun basın ve alt kısmı açmak için tıklayın veya tıklayın [Girişten ustaya Derin Güçlendirme Öğrenme: örnek olarak Cartpole ve Doom'u kullanarak strateji gradyanlarını tanıtma (Bölüm 4)]:

https://ai.yanxishe.com/page/TextTranslation/1406

AI Araştırma Enstitüsü heyecan verici içerikleri günlük olarak güncelliyor ve daha heyecan verici içerikler izliyor: Lei Feng Wang Lei Feng Wang Lei Feng Wang

Nesne algılama ve izleme için PyTorch kullanın

Python ile makine öğrenimi için toplanması gereken önemli bir kitaplık

Yeni başlayanlar için transfer öğrenimi için Keras nasıl kullanılır

Sizi WaveNet'e götürecek bir makale: Google Assistant'ın ses sentezleyicisi

Çevirmenizi bekliyorum:

Pekiştirmeli Öğrenme: Duygu Temelli Davranış Sistemine Doğru

LSTM modeli oluşturmak ve parametreleri ayarlamak için Keras nasıl kullanılır

Gelişmiş DQN'ler: Derin Pekiştirmeli Öğrenme ile Pac-Man Oynamak

Derin güçlendirme öğrenimi için yapılandırılmış kontrol ağı (ICML belgesinde açıklama)

Millerin kalay folyo üzerindeki ateşli eski fotoğrafları üzerine yorum, Yi Yanqianxi'den daha yakışıklı olmak istiyor, netizen: 50-50
önceki
Mercedes-Benz S-Serisi neden diğer otomobiller değil de "hayatın galibi" olarak adlandırılıyor?
Sonraki
"Wuwen Xidong": İdealizme Aşk Mektubu
En şiddetli sözler! V5 takımı ADC, bir röportajda maçtan sonra el sıkıştıklarını ve büyükleri tarafından karşılandıklarını söyledi.
Huanchi 1.4L motor kullanıyor ve 100 kilometrede kapsamlı yakıt tüketimi K2'den daha düşük.
Başlangıçtan Ustaya Derin Takviye Öğrenimi: Derin Q öğreniminde size rehberlik etmesi için Doom'u örnek olarak alın (Bölüm 3-Bölüm 1)
Xiaomi yönlendirici, AI hızlı İnternet deneyimi oluşturmak için Kingsoft Cloud ile işbirliği yaptı
Simülasyon teknolojisi sahneye doğru ilerliyor, sürücüsüz arabaların köşeleri kesmesine yardımcı olabilir mi?
SKT ekibi yeniden adlandırıldı! Dünyaca ünlü medya grubu SKT ekibini satın aldı, o zamandan beri SKTFaker yok
Yavaş Haber · Görmek | Sınır ötesi en misafirperver: polisler "sınıftaki" öğretmen "nöbet tutuyor"
Sadece BAPE işe alınmakla kalmadı, READYMADE ayrıca 6 markayla işbirliği yapacak mı? !
Polonya, Çin vatandaşlarının tutuklanmasının Huawei ile hiçbir ilgisi olmadığını iddia ediyor; CCTV bugün manşetlere atlıyor; Apple HomePod bu Cuma satışa çıkıyor | Lei Feng Morning Post
Bayan Dong, klima rakibiniz çevrimiçi: Mijia Internet Air Conditioner, 23 Temmuz'da görüşmek üzere
Liste 2017'nin En İyi On Film Müzikleri
To Top