Her işlem için bir çıktı birimi olduğunda Sinir Ağları ile Q-öğrenme ne kadar etkilidir?


9

Arka plan:
Güçlendirme öğrenme görevimde Sinir Ağı Q-değeri yaklaşımını kullanıyorum. Yaklaşım, bu soruda açıklananla tamamen aynıdır , ancak sorunun kendisi farklıdır.

Bu yaklaşımda çıktıların sayısı, gerçekleştirebileceğimiz eylemlerin sayısıdır. Ve basit bir deyişle, algoritma aşağıdaki gibidir: A eylemini yapın, ödülü keşfedin, NN'den tüm olası eylemler için Q değerlerini tahmin etmesini isteyin, maksimum Q değerini seçin, A belirli eylemi için Q değerini hesaplayın R + max(new_state_Q). Modeli, tahmin edilen Q değerlerine yalnızca biri ile değiştirilir R + max(new_state_Q).

Soru: Çıktı sayısı büyükse bu yaklaşım ne kadar etkilidir?

Deneme: Diyelim ki yapabileceğimiz 10 eylem var. Her adımda modelden 10 değer tahmin etmesini istiyoruz, modelin erken yaşlarında bu tahmin toplam karışıklıktır. Sonra çıkışın 1 değerini değiştiririz ve modeli bu değerlere uyarlarız.

Bu yaklaşımın ne kadar iyi \ kötü olduğuna dair iki karşıt düşüncem var ve hangisinin doğru olduğuna karar veremiyorum:

  • Bir bakış açısından, her bir nöronu 9 kez rastgele bir veride ve sadece bir kez gerçek değere yakın veriler üzerinde eğitiyoruz. NN, S durumundaki A eylemi için 5 öngörürse, ancak gerçek değer -100 ise, NN'yi 9 kez 5 değerine ve bir kez de -100 değerine sığdırırız. Çılgınca geliyor.
  • Diğer bakış açısından, sinir ağının öğrenilmesi bir hatanın geri yayılması olarak uygulanır , bu nedenle model 5'i tahmin ettiğimizde ve 5 üzerinde çalıştığımızda, hata 0 olduğu için yeni bir şey öğrenmeyecektir. . Ve sadece -100'ü hesaplayıp modele sığdırdığımızda, ağırlık hesaplamasını yapacak.

Hangi seçenek doğrudur? Belki dikkate almadığım başka bir şey var mı?

GÜNCELLEME: "Ne kadar verimli" ile kastedilen, bir çıktı - öngörülen ödülle bir yaklaşımı karşılaştırmak. Tabii ki, eylem bu durumda girdinin bir parçası olacaktır. Bu nedenle # 1 yaklaşımı, bazı durumlara dayalı tüm eylemler için tahminlerde bulunurken, # 2 yaklaşımı, bazı eyaletlerde gerçekleştirilen belirli eylemler için tahmin yapar.


Bu soruya şu anki haliyle kesin bir cevap vermek çok zor: "bu yaklaşım ne kadar verimli?" Peki, bu ... neye göre değişir? Daha verimli olabilecek veya olmayabilecek alternatif bir yaklaşım önerir misiniz?
Dennis Soemers

Merhaba @DennisSoemers. Sorunuz için teşekkürler. Yazımı güncelledim. Temel olarak, alternatif yaklaşımın bir çıktısı vardır - ödül. Ve olası tüm eylemler için ek N girişleri. Ana yaklaşım INPUT (State) ve OUTPUT (N eylemleri için N Rewards). Alternatif I (Devlet + Eylem) ve O (Ödül).
Serhiy

Yanıtlar:


1

Karşılaştırmak istediğimiz iki seçenek:

  1. Girdiler = durum gösterimi, Çıktılar = eylem başına 1 düğüm
  2. Girişler = durum gösterimi + eylemlerin bir sıcak kodlaması, Çıkışlar = 1 düğüm

Kendi sezgime göre, bu iki seçenek arasında temsil gücü veya öğrenme hızı (iterasyonlar açısından) açısından önemli bir fark olduğundan şüpheliyim.

Temsil gücü için, ilk seçenek girişlerin yanında hafifçe '' daha küçük '' bir ağ ve çıkışların yakınında '' daha geniş '' bir ağ verir. Herhangi bir nedenden ötürü, örneğin giriş düğümlerine yakın daha fazla ağırlığa sahip olmak faydalı olsaydı, bu, ilk gizli katmanı (girişlere yakın) biraz daha büyük yaparak başarılabilirdi.

Öğrenme hızına gelince, endişe duyduğunuz endişe temelde diğerlerinden değil, yalnızca çıktılardan biri için doğru bir öğrenme sinyaline sahip olmaktır. İkinci seçenekle, giriş düğümlerine bağlı ağırlıklar için aynı şey söylenebilir, bu yüzden orada önemli bir fark olduğundan şüpheliyim.

Bahsettiğim gibi, yukarıdakilerin hepsi sadece sezgime dayanıyor, bununla ilgili daha güvenilir referanslar görmek ilginç olurdu.

İlk seçenek için gördüğüm önemli bir avantaj hesaplama hızıdır; hangi eylemin seçileceğine karar vermek için tüm eylemler için değerlerini hesaplamak istediğinizi varsayalım ; tek bir ileriye doğru ağdan geçerek, tüm -değerlerini bir kerede verirseniz , ayrı ileri geçişe ( boyutunda bir eylem seti için) göre hesaplama açısından çok daha verimli olacaktır .SSnn

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.