Hesaplama süresini azaltmak için yapıldığına dair en iyi tahminim, aksi takdirde her eylem için q değerini bulup en iyisini seçmeliyiz.
Hesaplama süresi üzerinde küçük bir artış dışında gerçek bir etkisi yoktur (iki ağ tarafından kullanılan fazladan bellek nedeniyle). Sen olabilir herhalde hedef ağının sonuçlarını önbelleğe, ama muhtemelen çoğu ortam için değer o olmaz, ve bunu yapan bir uygulama görmedim.
Bir şey mi kaçırıyorum?
Fonksiyon yaklaşımı (yani sinir ağı) kullanıldığında Q-öğrenme algoritmasının kararlılığı ile ilgilidir. En son öğrenilen parametrelerin bir kopyasıyla güncellenen ayrı bir hedef ağ kullanmak, kaçak önyargıların önyüklemenin sisteme sayısal olarak hakim olmasını engellemesine yardımcı olarak tahmini Q değerlerinin ayrılmasına neden olur.
Veri noktalarından birinin (at S, A, R, S'
) Q(S', A')
kötüleşmek için halihazırda kötü bir aşırı tahmine neden olduğunu düşünün . Belki S', A'
henüz ziyaret edilmemiştir, ya da R
şimdiye kadar görülenin değeri, şans eseri, ortalamadan daha yüksektir. (S,A)
Deneyim tekrarında birden çok kez kırpılmış bir örnek, her seferinde daha da kötüleşir, çünkü güncellemeye Q(S,A)
dayanır R + max_a Q(S',a)
. Hedef ağın düzeltilmesi, bu tür aşırı tahminlerin yapabileceği hasarı sınırlayarak, öğrenme ağına başlangıçtaki önyargısının daha fazla yakınsama ve kaybetme süresi verir.
Bu bakımdan, ayrı bir hedef ağ kullanmanın, tekrar oynatmayı deneyimlemeye çok benzer bir amacı vardır. Aksi halde yakınsama problemleri olan bir algoritmayı dengeler.
Ayrı bir konuyu ele almak için "çift öğrenme" özelliğine sahip DQN'ye sahip olmak da mümkündür: Maksimizasyon sapması. Bu durumda 4 sinir ağına sahip DQN uygulamalarını görebilirsiniz.