Takviye öğrenme örneklerinde neden bırakma katmanları görmüyorsunuz?


13

Takviye öğrenmeye bakıyordum ve özellikle OpenAI Gym AI ile kullanmak için kendi ortamlarımı yaratarak oynuyorum. Onunla test etmek için stable_baselines projesinden ajanlar kullanıyorum.

Neredeyse tüm RL örneklerinde fark ettiğim bir şey, hiçbir ağda hiçbir zaman bırakma katmanı olmadığıdır. Bu neden?

Döviz fiyatlarını simüle eden bir ortam ve DQN'yi kullanarak ne zaman satın alınacağını ve satılacağını öğrenmeye çalışan basit bir aracı yarattım. Bir aylık 5 dakikalık fiyat verilerinden oluşan belirli bir veri kümesinden alınan neredeyse bir milyondan fazla zaman aşımı eğitimi, çok fazla uyuyor gibi görünüyor. Daha sonra ajanları ve modeli farklı bir ayın değerlerine göre değerlendirirsem uçsuz bucaksız bir performans sergiliyor. Yani klasik takma gibi geliyor.

Ancak RL ağlarında bırakma katmanlarını görmemenizin bir nedeni var mı? Aşırı takmaya çalışmak için başka mekanizmalar var mı? Ya da birçok RL örneğinde önemli değil mi? Örneğin, 'koparma' oyunundaki en yüksek puanı elde etmenin tek bir gerçek yolu olabilir, bu yüzden bunu tam olarak öğrenebilir ve genellemeye gerek yok mu?

Yoksa çevrenin kaotik doğasının, bırakma katmanlarına sahip olmanız gerekmeyen yeterince farklı sonuç kombinasyonları sağlaması gerektiği düşünülüyor mu?


1
Ne olduğunu görmek için bir RL ağına çıkış eklemeyi denediniz mi? (Aksi takdirde iyi çalışan bir LunarLander_v2 çözücüsü için) var ve sonuçlar korkunçtu, 400 bölümde çözmekten tamamen çözememeye kadar devam ediyor (ve diğer parametrelerde bol miktarda varyasyon denedim). Diğer düzenlenme de iyidir ve hatta faydalıdır. Yine de bırakma ile ilgili sorunların neden burada bir soru sormayı düşündüğünü bilmiyorum. . .
Neil Slater

Neil, evet, görünüşe göre orada deneyim Dennis tarafından söylenen yankı. Beklediğim gibi, 'bu bulmacayı çöz' türü senaryosunda, o bulmacayı çözmek istediğiniz gibi gerçekten de abartmak istiyorsunuz. Ve mavi bir uzaylıya karşı kırmızı bir uzaylıyla karşılaşıp karşılaşmadığınızı bilmek istersiniz, çünkü oyununuzda farklı davranabilirler.
Matt Hamilton

@MattHamilton Birisinin "RL araştırmacıları eğitim verilerini değerlendiriyor" hikayesi hakkında yaptığı tweetler dizisini gördüm. Cevabımın içine bunun bağlantısını düzenledim. Sorunuzu cevaplamak söz konusu olduğunda hala aynıdır, ancak orada bağlantı kurduğum tweetler zincirine gerçeğin biraz daha incelikli olduğunu kabul ediyorum.
Dennis Soemers

Yanıtlar:


11

Bırakma aslında biraz daha fazla sapma getirir. Denetimli öğrenme ortamlarında, bu genellikle aşırı sığmayı azaltmaya yardımcı olur (her ne kadar bırakma da zaten azalıyor olsa da, son yıllarda bundan birkaç yıl öncesine göre şık;% 100 emin değilim, bu benim birincil değilim uzmanlık alanı).

Takviye Öğreniminde, ek varyans aslında aradığımız şey değildir. Elde ettiğimiz öğrenme sinyallerinde zaten büyük miktarda varyans eğilimi vardır ve bu varyans zaten öğrenme kararlılığı ve / veya öğrenme hızı için önemli bir sorun olma eğilimindedir. Örneğin:

  • Eylem seçimindeki rasgelelik, gözlemlediğimiz getirilerde sapmaya yol açar
  • Gözlemlerimizde ekstra varyansa yol açan, ortamın kendisinin doğasında rastlantısallık olabilir (bazı ortamlar belirsizdir)
  • Denetimli Öğrenme ayarlarının aksine, Takviye Öğreniminde genellikle kendi tahminlerimizi genellikle kayıp fonksiyonumuz / egzersiz sinyalimizin bir parçası olarak kullanırız. Örneğin, zamansal farklılık öğrenmesinde (Q-learning / DQN gibi), güncellediğimiz hedefr+maksimumbir'S(s',bir'). Bu terimde, sadecertemel bir gözlemdir (denetimli öğrenmede kullanacağımız gibi) ve diğer terim kendi öngörümüzdür. Bir öğrenme süreci sırasında, bu son kısımlar (kendi tahminlerimiz) zaman içinde değişmektedir. Bu, öğrenme işaretlerimizde ek varyans olarak görülebilen bir " hareketli hedef '' problemidir.

Derin RL algoritmalarının birçok önemli kısmı (eğitim süreçlerimizin dengesizleşmek ve bozulmak için ampirik olarak ortaya çıktığı), bu varyansı azaltmak için çok uyarlanmıştır . Örneğin, hareketli hedef problemini azaltmak için DQN'deki Hedef Ağlar özel olarak tanıtıldı. Bu açıdan bakıldığında, yine başka yollarla (bırakma gibi) daha fazla yapay varyans eklersek, bunun performansa zarar vermesi / öğrenmeyi dengesizleştirmesi şaşırtıcı değildir.


Aşırı takmaya çalışmak için başka mekanizmalar var mı? Ya da birçok RL örneğinde önemli değil mi? Örneğin, 'koparma' oyunundaki en yüksek puanı elde etmenin tek bir gerçek yolu olabilir, bu yüzden bunu tam olarak öğrenebilir ve genellemeye gerek yok mu?

Mevcut (Derin) Takviye Öğrenme araştırmasının çoğunda, aşırı uyum gerçekten bir sorun olarak görülmemektedir. RL araştırmasının büyük çoğunluğu bir ortamda eğitim (örneğin Cartpole veya Breakout veya Pacman'da belirli bir seviye veya belirli bir labirentte gezinme vb.) Ve ya o öğrenme sürecinde performansı sürekli olarak değerlendirmekten veya değerlendirmekten oluşur. aynı ortamda böyle bir öğrenme sürecinden sonra performans .

Eğer bu değerlendirme metodolojisini denetimli öğrenmede olanlarla karşılaştırırsak ... temel olarak eğitim setindeki performansı değerlendiriyoruz * . Denetimli öğrenmede, bu kesinlikle kabul edilemez olacaktır, ancak RL'de istisnadan çok kabul edilebilir ve daha kurallıdır. Bazıları bunun sadece mevcut RL araştırmalarında bir sorun olduğunu ve değişmesi gereken bir şey olduğunu söylüyor. Bunun mutlaka bir sorun olmadığı da iddia edilebilir; eğer aracıyı daha sonra konuşlandırmak istediğimiz ortamla tam olarak aynı ortamda eğitebiliyorsak ... iyi, o zaman bu ortama uymasıyla ilgili sorun nedir?

Dolayısıyla, yukarıda açıklanan değerlendirme metodolojisini kullandığımızda, aslında belirli bir ortama fazla uyuyoruz , ancak değerlendirme ölçütlerimize göre aşırı uydurma kötü değil iyidir . Bu yöntemin iyi genelleme yapabilen ajanlara yol açmadığı açıktır; bir ajanı belirli bir labirentte gezinmesi için sürekli eğitirseniz, antrenmandan sonra muhtemelen farklı bir labirentte gidemez.

* Not: bence gerçek, RL'de gerçekten "eğitim seti üzerinde değerlendirdiğimizden" biraz daha nüanslıdır. Örneğin, bu güzel tweete bakın: https://twitter.com/nanjiang_cs/status/1049682399980908544


Döviz fiyatlarını simüle eden bir ortam ve DQN'yi kullanarak ne zaman satın alınacağını ve satılacağını öğrenmeye çalışan basit bir aracı yarattım. Bir aylık 5 dakikalık fiyat verilerinden oluşan belirli bir veri kümesinden alınan neredeyse bir milyondan fazla zaman aşımı eğitimi, çok fazla uyuyor gibi görünüyor. Daha sonra ajanları ve modeli farklı bir ayın değerlerine göre değerlendirirsem uçsuz bucaksız bir performans sergiliyor. Yani klasik takma gibi geliyor.

Burada açıklanan değerlendirme metodolojinizin artık daha "yaygın" değerlendirme metodolojisine uymadığını unutmayın. Çevrede duraksama ile kavram sapması ile ilgili bir sorununuz var . Bu, aşırı takmanın sizin için bir sorun olabileceği anlamına gelir.

Yine de, bırakmanın yardımcı olup olmayacağından emin değilim (yine de zarar verebilecek ek varyans). İlk ve en önemlisi, girdilerinizde zamanı / ayı takip etmenin bir yolu olduğundan emin olmak istersiniz, böylece en azından zaman içinde kendini uyarlayan bir politika öğrenme şansına sahip olursunuz. "Eğitim aşaması" ile "değerlendirme aşaması" arasında açık ve sağlam bir sınırınız varsa ve kavram sınırının bu sınırlar arasında gerçekleştiğini biliyorsanız (ortamınızın eğitim aşamasında değerlendirme aşamasından farklı davrandığını biliyorsunuz) ... bir politikayı yalnızca değerlendirme aşamasında hala iyi performans gösteren eğitim aşamasındaki deneyimlerden öğrenme konusunda pek fazla umudunuz yoktur. Bu açık, sağlam sınırdan kurtulmanız gerekeceğinden şüpheleniyorum. Sen' Değerlendirme aşamasında da öğrenmeye devam etmek isteyeceğim. Bu, öğrenme algoritmanızın değişen ortamdaki deneyimi gerçekten toplamasını ve buna adapte olmasını sağlar.


1
Dennis, çok detaylı cevabınız için çok teşekkür ederim! Birçoğu şüphelerimi düşündüğümü doğruluyor: yani daha fazla RL, bu soruna genellikle tek bir 'en iyi' çözümün olduğu belirli bir ortamda çok spesifik bir sorunu çözmeye çalışıyor.
Matt Hamilton

2
@MattHamilton Daha genel ortamlar için RL konusunda araştırmalar yapıldığına dikkat edin. Bu konularla ilgileniyorsanız, "Transfer öğrenimi" ve "Takviye Öğrenimi" veya Çok Amaçlı RL (Çok Amaçlı RL) gibi kombinasyonları aramak isteyeceksiniz, ancak muhtemelen biraz farklı olabilir. ). Bu tür çabalar yine de bir seferde tek bir çevre üzerinde geleneksel eğitim ve değerlendirme yaklaşımından önemli ölçüde daha az performans gösterir.
Dennis Soemers
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.