DQN को दो अलग-अलग नेटवर्क की आवश्यकता क्यों है?


12

मैं DQN के इस कार्यान्वयन के माध्यम से जा रहा था और मैं देखता हूं कि 124 और 125 दो अलग-अलग क्यू नेटवर्क को आरंभीकृत किया गया है। मेरी समझ से, मुझे लगता है कि एक नेटवर्क उपयुक्त कार्रवाई की भविष्यवाणी करता है और दूसरा नेटवर्क बेलमैन त्रुटि खोजने के लिए लक्ष्य क्यू मान की भविष्यवाणी करता है।

हम केवल एक एकल नेटवर्क क्यों नहीं बना सकते हैं जो केवल Q मान की भविष्यवाणी करता है और दोनों मामलों के लिए इसका उपयोग करता है? मेरा सबसे अच्छा अनुमान है कि यह गणना समय को कम करने के लिए किया गया है, अन्यथा हमें प्रत्येक क्रिया के लिए q मान का पता लगाना होगा और फिर सर्वश्रेष्ठ का चयन करना होगा। क्या यह एकमात्र कारण है? क्या मैं कुछ भूल रहा हूँ?

जवाबों:


9

मेरा सबसे अच्छा अनुमान है कि यह गणना समय को कम करने के लिए किया गया है, अन्यथा हमें प्रत्येक क्रिया के लिए q मान का पता लगाना होगा और फिर सर्वश्रेष्ठ का चयन करना होगा।

थोड़ी वृद्धि (दो नेटवर्क द्वारा उपयोग की जाने वाली अतिरिक्त मेमोरी के कारण) के अलावा, गणना समय पर इसका कोई वास्तविक प्रभाव नहीं है। आप मेरे द्वारा लक्षित लक्ष्य नेटवर्क के परिणामों को कैश कर सकते हैं , लेकिन यह संभवतः अधिकांश वातावरण के लिए इसके लायक नहीं होगा, और मैंने ऐसा कार्यान्वयन नहीं देखा है जो ऐसा करता है।

क्या मैं कुछ भूल रहा हूँ?

यह फ़ंक्शन सन्निकटन (यानी तंत्रिका नेटवर्क) का उपयोग करते समय क्यू-लर्निंग एल्गोरिथ्म की स्थिरता के साथ करना है। एक अलग लक्ष्य नेटवर्क का उपयोग करते हुए, नवीनतम सीखे गए मापदंडों की एक प्रति के साथ हर कई चरणों को अपडेट किया जाता है, सिस्टम को संख्यात्मक रूप से वर्चस्व से बूटस्ट्रैपिंग से भागने वाले पूर्वाग्रह को बनाए रखने में मदद करता है, जिससे अनुमानित क्यू मान विचलन का कारण बनता है।

डेटा बिंदुओं में से एक की कल्पना करें (पर S, A, R, S') खराब होने के लिए वर्तमान में खराब ओवर-अनुमान का कारण बनता है Q(S', A')। शायद S', A'अभी तक दौरा भी नहीं किया गया है, या अभी तक Rदेखा गया मूल्य औसत से अधिक है, बस संयोग से। यदि (S,A)अनुभव रिप्ले में कई बार क्रॉप किया जाता है, तो यह हर बार फिर से खराब हो जाता है, क्योंकि अपडेट Q(S,A)पर आधारित है R + max_a Q(S',a)। लक्ष्य नेटवर्क को ठीक करने से उस क्षति को सीमित किया जाता है जो इस तरह के अति-अनुमानों को कर सकती है, जिससे सीखने के नेटवर्क को अभिसरण करने और अपने प्रारंभिक पूर्वाग्रह को खोने का समय मिलता है।

इस संबंध में, एक अलग लक्ष्य नेटवर्क का उपयोग करने के लिए फिर से खेलना का एक समान उद्देश्य है। यह एक एल्गोरिथ्म को स्थिर करता है जो अन्यथा समस्याओं को रूपांतरित करने में होता है।

एक अलग मुद्दे को संबोधित करने के लिए "डबल लर्निंग" के साथ DQN होना भी संभव है: अधिकतमकरण पूर्वाग्रह। उस स्थिति में आप 4 न्यूरल नेटवर्क के साथ DQN कार्यान्वयन देख सकते हैं।


अतिरिक्त पढ़ने के लिए, कोई आउई.ओ.आई.ओक्स
इंडेक्स.फ्प /
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.