जहाँ तक मैं जानता हूँ, यह अभी भी एक खुली समस्या का कुछ हद तक स्पष्ट रूप से स्पष्ट, औपचारिक समझ पाने के लिए है कि क्यों / कब हमें अभिसरण की कमी मिलती है - या, इससे भी बदतर, कभी-कभी विचलन का खतरा। इसे आम तौर पर "घातक ट्रायड" के लिए जिम्मेदार ठहराया जाता है (देखें सूटन और बार्टो की किताब के दूसरे संस्करण का 11.3 देखें), का संयोजन:
- समारोह सन्निकटन, और
- बूटस्ट्रैपिंग (हमारे प्रशिक्षण लक्ष्यों की गणना में हमारे अपने मूल्य अनुमानों का उपयोग करके, जैसा कि किया गया है) Q-लर्निंग), और
- ऑफ-पॉलिसी प्रशिक्षण (Q-लर्निंग वास्तव में ऑफ-पॉलिसी है)।
यह केवल हमें उन मामलों का विवरण देता है (संभवत: गैर-थकाऊ) जिसमें हम अभिसरण की कमी और / या विचलन का खतरा रखते हैं, लेकिन फिर भी हमें यह नहीं बताता है कि उन मामलों में ऐसा क्यों होता है।
जॉन का जवाब पहले से ही अंतर्ज्ञान प्रदान करता है कि समस्या का हिस्सा केवल यह है कि फ़ंक्शन सन्निकटन का उपयोग उन स्थितियों को आसानी से कर सकता है जहां आपका फ़ंक्शन सन्निकटन सही का प्रतिनिधित्व करने के लिए पर्याप्त शक्तिशाली नहीं हैQ∗ फ़ंक्शन, हमेशा एक सन्निकटन त्रुटियां हो सकती हैं जो एक अलग फ़ंक्शन सन्निकटन पर स्विच किए बिना छुटकारा पाना असंभव हैं।
व्यक्तिगत रूप से, मुझे लगता है कि यह अंतर्ज्ञान यह समझने में मदद करता है कि एल्गोरिथ्म इष्टतम समाधान के लिए अभिसरण की गारंटी क्यों नहीं दे सकता है, लेकिन मैं अभी भी सहजता से यह उम्मीद कर सकता हूं कि यह कुछ "स्थिर" समाधान के लिए "अभिसरण" करने में सक्षम हो सकता है जो कि सबसे अच्छा संभव सन्निकटन है। चुने गए फ़ंक्शन प्रतिनिधित्व में निहित प्रतिबंध। वास्तव में, जब हम ऑन-पॉलिसी प्रशिक्षण (उदाहरण के लिए सरसा) में स्विच करते हैं, तो कम से कम रैखिक फ़ंक्शन सन्निकटन वाले मामले में हम इसका पालन करते हैं।
इस सवाल के संबंध में मेरा खुद का अंतर्ज्ञान आम तौर पर रहा है कि समस्या का एक महत्वपूर्ण स्रोत सामान्यीकरण है । सारणीबद्ध सेटिंग में, हमारे पास पूरी तरह से पृथक प्रविष्टियाँ हैंQ(s,a) सबके लिए (s,a)जोड़े। जब भी हम एक प्रविष्टि के लिए अपने अनुमान को अपडेट करते हैं, तो यह अन्य सभी प्रविष्टियों को अनमॉडिफाइड छोड़ देता है (कम से कम शुरुआत में - अपडेट नियम में बूटस्ट्रैपिंग के कारण भविष्य के अपडेट में अन्य प्रविष्टियों पर कुछ प्रभाव हो सकते हैं)। एल्गोरिदम के लिए अद्यतन नियम जैसेQ-लर्निंग और सरसा कभी-कभी "गलत" दिशा की ओर अपडेट हो सकता है अगर हमें "अशुभ" मिलता है, लेकिन अपेक्षा में , वे आम तौर पर सही "दिशा" की ओर अपडेट करते हैं। सहज रूप से, इसका मतलब है कि सारणीबद्ध सेटिंग में, अपेक्षा में हम धीरे-धीरे, किसी भी प्रविष्टियों में किसी भी गलतियों को धीरे-धीरे ठीक करेंगे, संभवतः अन्य प्रविष्टियों को नुकसान पहुंचाए बिना।
फ़ंक्शन सन्निकटन के साथ, जब हम अपना अपडेट करते हैं Q(s,a) एक के लिए अनुमान (s,a)जोड़ी, यह संभावित रूप से भी प्रभावित कर सकते हैं सब हमारे अन्य अनुमान के लिए सभी अन्य राज्य के कार्रवाई जोड़े। सहज रूप से, इसका मतलब है कि अब हमारे पास सारणीबद्ध सेटिंग के रूप में प्रविष्टियों का अच्छा अलगाव नहीं है, और एक प्रविष्टि में "फिक्सिंग" गलतियों से अन्य प्रविष्टियों में नई गलतियों को जोड़ने का जोखिम हो सकता है। हालांकि, जॉन के जवाब की तरह, यह संपूर्ण अंतर्ज्ञान वास्तव में ऑन-पॉलिसी एल्गोरिदम पर भी लागू होगा, इसलिए यह अभी भी स्पष्ट नहीं करता है कि इसके बारे में क्या खास हैQ-लर्निंग (और अन्य ऑफ-पॉलिसी दृष्टिकोण)।
इस विषय पर एक बहुत ही दिलचस्प हाल ही में गैर-भ्रमपूर्ण क्यू-लर्निंग और मूल्य परिवर्तन है । वे एल्गोरिदम में "भ्रमपूर्ण पूर्वाग्रह" की समस्या को इंगित करते हैं जो अद्यतन नियमों के साथ फ़ंक्शन सन्निकटन को जोड़ती हैmax ऑपरेटर, जैसे क्यू-लर्निंग (यह शायद अद्वितीय नहीं है) max ऑपरेटर, लेकिन संभवत: ऑफ-पॉलिसी पर लागू होता है?)।
समस्या इस प्रकार है। मान लीजिए हम इसे चलाते हैंQएक राज्य-एक्शन जोड़ी के लिए अद्यतन साझा करना (s,a):
Q(s,a)←Q(s,a)+α[maxa′Q(s′,a′)−Q(s,a)].
मान का अनुमान maxa′Q(s′,a′) यहां इस्तेमाल इस धारणा पर आधारित है कि हम एक ऐसी नीति को निष्पादित करते हैं जो हमारे पुराने संस्करणों के संबंध में लालची है Qअनुमान से अधिक - संभवतः बहुत लंबा - प्रक्षेपवक्र। जैसा कि पिछले कुछ उत्तरों में पहले से ही चर्चा की गई है, हमारे फ़ंक्शन सन्निकटन की एक सीमित प्रतिनिधित्व क्षमता है, और एक राज्य-एक्शन जोड़ी के अपडेट अन्य राज्य-एक्शन जोड़े के लिए मूल्य अनुमानों को प्रभावित कर सकते हैं। इसका मतलब है कि, हमारे अपडेट को ट्रिगर करने के बादQ(s,a), हमारे कार्य सन्निकटनकर्ता अब उस नीति को व्यक्त करने में सक्षम नहीं हो सकते हैं जो हमारे उच्च रिटर्न की ओर ले जाती हैmaxa′Q(s′,a′)अनुमान पर आधारित था । इस पत्र के लेखकों का कहना है कि एल्गोरिथ्म "भ्रम" है। यह इस धारणा के तहत एक अद्यतन करता है कि लाइन के नीचे, यह अभी भी बड़े रिटर्न प्राप्त कर सकता है, लेकिन यह वास्तव में पर्याप्त शक्तिशाली नहीं हो सकता है ताकि फ़ंक्शन के पैरामीटर के नए संस्करण के साथ उन रिटर्न को प्राप्त किया जा सके।
अंत में, एक और (यहां तक कि हाल ही में) पेपर जो मुझे संदेह है कि इस प्रश्न के लिए प्रासंगिक है, डी क्यू-लर्निंग एल्गोरिदम में अड़चन का निदान कर रहा है, लेकिन दुर्भाग्य से मेरे पास अभी तक इसे पर्याप्त विस्तार से पढ़ने और पर्याप्त रूप से सारांशित करने का समय नहीं है।