DQN neden iki farklı ağ gerektirir?


12

Ben geçiyordu bu DQN uygulanması ve ben on line 124 ve 125 iki farklı Q ağları başlatıldı görüyoruz. Anladığım kadarıyla, bir ağın uygun eylemi ve ikinci ağın Bellman hatasını bulmak için hedef Q değerlerini tahmin ettiğini düşünüyorum.

Neden sadece Q değerini tahmin eden ve bunu her iki durumda da kullanan tek bir ağ oluşturamıyoruz? 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. Tek sebep bu mu? Bir şey mi kaçırıyorum?

Yanıtlar:


9

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.


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.