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.