फ़ंक्शन सन्निकटन का उपयोग करते समय क्यू-लर्निंग अभिसरण क्यों नहीं करता है?


12

सारणीबद्ध क्यू-लर्निंग एल्गोरिदम को इष्टतम खोजने की गारंटी है क्यू समारोह, Q*, बशर्ते कि सीखने की दर के बारे में निम्नलिखित स्थितियां ( रॉबिंस-मोनरो स्थितियां ) संतुष्ट हों

  1. टीαटी(रों,)=
  2. tαt2(s,a)<

कहाँ पे αt(s,a) इसका मतलब है कि अद्यतन दर का उपयोग करते समय Q राज्य से जुड़ा मूल्य s और कार्रवाई a समय पर कदम t, कहाँ पे 0αt(s,a)<1 सभी राज्यों के लिए सत्य माना जाता है s और कार्य a

जाहिर है, कि दिया 0αt(s,a)<1, दो स्थितियों के सत्य होने के लिए, सभी राज्य-एक्शन जोड़े को अक्सर अनंत बार जाना चाहिए: यह भी पुस्तक में कहा गया है सुदृढीकरण सीखना: एक परिचय , इस तथ्य के अलावा कि यह व्यापक रूप से जाना जाना चाहिए और यह तर्क है के उपयोग के पीछेϵ-प्रशिक्षण के दौरान लालची नीति (या समान नीतियां)।

एक पूर्ण प्रमाण जो दिखाता है Q-लर्निंग इष्टतम पाता है Qसमारोह में पाया जा सकता है प्रश्न के पेपर कन्वर्जेंस: ए सिंपल प्रूफ (फ्रांसिस्को एस मेलो द्वारा)। वह इष्टतम को परिभाषित करने के लिए संकुचन मानचित्रण जैसी अवधारणाओं का उपयोग करता हैQफ़ंक्शन (यह भी देखें कि सुदृढीकरण सीखने में बेलमैन ऑपरेटर क्या है? ), जो इस संकुचन ऑपरेटर का एक निश्चित बिंदु है। वह उस यादृच्छिक प्रक्रिया के बारे में भी एक प्रमेय (n। 2) का उपयोग करता है जो कि अभिसरण प्रक्रिया के बारे में है0, कुछ धारणाएँ दीं। (यदि आप गणित के आदमी नहीं हैं तो प्रमाण का अनुसरण करना आसान नहीं हो सकता है।)

अगर एक तंत्रिका नेटवर्क का प्रतिनिधित्व करने के लिए उपयोग किया जाता है Q फ़ंक्शन, कनवर्जेन्स की गारंटी देता है Q-लर्निंग अभी भी पकड़? फ़ंक्शन सन्निकटन का उपयोग करते समय क्यू-लर्निंग क्यों अभिसरण करता है? क्या इस तरह के गैर-अभिसरण का एक औपचारिक प्रमाण हैक्यूफ़ंक्शन सन्निकटन का उपयोग करना?

मैं उन विभिन्न प्रकार के उत्तरों की तलाश कर रहा हूं, जो गैर-अभिसरण के पीछे सिर्फ अंतर्ज्ञान देते हैं क्यू-फ़ंक्शन का उपयोग करते समय -Learning उन लोगों के लिए जो एक औपचारिक प्रमाण प्रदान करते हैं (या एक औपचारिक प्रमाण के साथ एक कागज के लिए एक लिंक)।


2
बड़ा अच्छा सवाल!
जॉन डोसेटे

जिस पुस्तक को आपने संदर्भित किया है वह इस समस्या के बारे में अध्याय 11 में बताती है ताकि आप इसे पढ़ सकें। इसके अलावा, मुझे नहीं लगता कि ऐसा होने का कोई औपचारिक प्रमाण है, लेकिन ऐसे कुछ उदाहरण हैं जो सरल वातावरण (जैसे त्सिटिक्लिस और वैन रॉय) में भी विचलन दिखाते हैं।
ब्राल

जवाबों:


8

यहाँ एक सहज वर्णन उत्तर है:

फ़ंक्शन सन्निकटन किसी भी पैरामीटर करने योग्य फ़ंक्शन के साथ किया जा सकता है। की समस्या पर विचार करेंQ(s,a) अंतरिक्ष जहां s सकारात्मक वास्तविक है, a है 0 या 1, और सच क्यू-फ़ंक्शन है Q(s,0)=s2, तथा Q(s,1)=2s2सभी राज्यों के लिए। यदि आपका कार्य सन्निकटन हैQ(s,a)=ms+na+b, कोई ऐसा पैरामीटर मौजूद नहीं है जो सही का सही प्रतिनिधित्व कर सके Qफ़ंक्शन (हम एक द्विघात फ़ंक्शन के लिए एक पंक्ति फिट करने की कोशिश कर रहे हैं)। नतीजतन, भले ही आपने एक अच्छी सीखने की दर को चुना हो, और अक्सर सभी राज्यों का दौरा किया हो, आपका सन्निकटन समारोह कभी भी सही में नहीं बदलेगा।Q समारोह।

और यहाँ थोड़ा और अधिक विस्तार है:

  1. तंत्रिका नेटवर्क अनुमानित कार्य। एक फ़ंक्शन को अनुमानित करने के लिए अधिक या कम जटिल बहुपद का उपयोग करके अधिक या कम डिग्री तक अनुमानित किया जा सकता है। यदि आप टेलर श्रृंखला सन्निकटन से परिचित हैं, तो यह विचार बहुत स्वाभाविक प्रतीत होना चाहिए। यदि नहीं, तो अंतराल पर एक साइन-वेव जैसे फ़ंक्शन के बारे में सोचें [0-π/2)। आप एक सीधी रेखा के साथ इसे (बुरी तरह से) अनुमानित कर सकते हैं। आप द्विघात वक्र के साथ इसे बेहतर रूप से अनुमानित कर सकते हैं। बहुपद की डिग्री का उपयोग करके हम वक्र को अनुमानित करने के लिए उपयोग करते हैं, हम कुछ ऐसा प्राप्त कर सकते हैं जो वक्र को अधिक से अधिक बारीकी से फिट करता है।
  2. तंत्रिका नेटवर्क सार्वभौमिक फ़ंक्शन सन्निकटन हैं । इसका मतलब यह है कि, यदि आपके पास कोई फ़ंक्शन है, तो आप एक न्यूरल नेटवर्क भी बना सकते हैं जो गहरा या व्यापक है कि यह आपके द्वारा मनमाने ढंग से सटीक डिग्री पर बनाए गए फ़ंक्शन को अनुमानित कर सके। हालांकि, आपके द्वारा चुना गया कोई भी विशिष्ट नेटवर्क टोपोलॉजी सभी कार्यों को सीखने में असमर्थ होगा , जब तक कि यह असीम रूप से व्यापक या असीम रूप से गहरा न हो। यह इस बात के अनुरूप है कि यदि आप सही मापदंडों को चुनते हैं, तो एक पंक्ति किसी भी दो बिंदुओं को फिट कर सकती है, लेकिन कोई 3 अंक नहीं। यदि आप एक ऐसे नेटवर्क को चुनते हैं जो एक निश्चित परिमित चौड़ाई या गहराई का है, तो मैं हमेशा एक ऐसे फ़ंक्शन का निर्माण कर सकता हूं जिसे ठीक से फिट होने के लिए कुछ और न्यूरॉन्स की आवश्यकता होती है।

  3. क्यू-लर्निंग की सीमाएं केवल तभी पकड़ती हैं जब क्यू-फ़ंक्शन का प्रतिनिधित्व सटीक होता है । यह देखने के लिए, मान लीजिए कि आपने एक रैखिक प्रक्षेप के साथ अपने क्यू-फ़ंक्शन को अनुमानित करने के लिए चुना है। यदि सही फ़ंक्शन किसी भी आकार ले सकता है, तो स्पष्ट रूप से हमारे प्रक्षेप में त्रुटि को केवल XOR- जैसे क्यू-फ़ंक्शन फ़ंक्शन का निर्माण करके अनबाउंड रूप से बड़ा बनाया जा सकता है, और अतिरिक्त समय या डेटा की कोई भी राशि हमें इस त्रुटि को कम करने की अनुमति नहीं देगी। । यदि आप एक फ़ंक्शन सन्निकटन का उपयोग करते हैं, और सही फ़ंक्शन जिसे आप फिट करने का प्रयास करते हैं, वह नहीं हैऐसा कुछ जो फ़ंक्शन मनमाने ढंग से अच्छी तरह से अनुमानित कर सकता है, फिर आपका मॉडल अच्छी तरह से चुना हुआ सीखने की दर और अन्वेषण दर के साथ भी ठीक से नहीं जुटेगा। कम्प्यूटेशनल लर्निंग थ्योरी की शब्दावली का उपयोग करते हुए, हम कह सकते हैं कि क्यू-लर्निंग के अभिसरण प्रमाण ने स्पष्ट रूप से मान लिया है कि सच्चा क्यू-फ़ंक्शन परिकल्पना स्थान का एक सदस्य है जिसमें से आप अपने मॉडल का चयन करेंगे।


हम कहां से देख सकते हैं कि मैंने उल्लेख किया है कि "क्यू-लर्निंग की सीमा केवल तभी होती है जब क्यू-फ़ंक्शन का प्रतिनिधित्व सटीक होता है" यह सच है?
nbro

इसलिए, हम कुछ तंत्रिका नेटवर्क (आर्किटेक्चर) का उपयोग करके किसी भी (उचित) फ़ंक्शन को अनुमानित कर सकते हैं, लेकिन, एक निश्चित न्यूरल आर्किटेक्चर को देखते हुए Z (जिसे हमें प्रशिक्षण चरण की शुरुआत में चुनना होगा Q-सीख रहा हूँ), Q-लर्निंग उस विशिष्ट आर्किटेक्चर का उपयोग करके अभिसरण नहीं कर सकता है Z, चूंकि Z प्रतिनिधित्व करने के लिए पर्याप्त अभिव्यंजक नहीं हो सकता है Q
nbro

@nbro प्रमाण यह स्पष्ट रूप से नहीं कहता है, लेकिन यह क्यू-फ़ंक्शन के सटीक प्रतिनिधित्व को मानता है (अर्थात, यह सटीक मान प्रत्येक राज्य / कार्रवाई जोड़ी के लिए गणना और संग्रहीत किया जाता है)। अनंत स्थिति वाले स्थानों के लिए, यह स्पष्ट है कि यह सटीक प्रतिनिधित्व सबसे खराब स्थिति में सरल रूप से बड़ा हो सकता है (सरल उदाहरण: Q (s, a) = sth अंक ऑफ पाई)। आपकी दूसरी टिप्पणी इसे अच्छी तरह से प्रस्तुत करती है। अधिक औपचारिक रूप से, यदि वास्तविक परिकल्पना Q * परिकल्पना स्पेस H का एक तत्व नहीं है जिसे आप किसी मॉडल से चुन रहे हैं, तो आप Q * को अनंत समय या डेटा के साथ भी परिवर्तित नहीं कर सकते।
जॉन डोसेटे

4

जहाँ तक मैं जानता हूँ, यह अभी भी एक खुली समस्या का कुछ हद तक स्पष्ट रूप से स्पष्ट, औपचारिक समझ पाने के लिए है कि क्यों / कब हमें अभिसरण की कमी मिलती है - या, इससे भी बदतर, कभी-कभी विचलन का खतरा। इसे आम तौर पर "घातक ट्रायड" के लिए जिम्मेदार ठहराया जाता है (देखें सूटन और बार्टो की किताब के दूसरे संस्करण का 11.3 देखें), का संयोजन:

  1. समारोह सन्निकटन, और
  2. बूटस्ट्रैपिंग (हमारे प्रशिक्षण लक्ष्यों की गणना में हमारे अपने मूल्य अनुमानों का उपयोग करके, जैसा कि किया गया है) Q-लर्निंग), और
  3. ऑफ-पॉलिसी प्रशिक्षण (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)+α[maxaQ(s,a)Q(s,a)].

मान का अनुमान maxaQ(s,a) यहां इस्तेमाल इस धारणा पर आधारित है कि हम एक ऐसी नीति को निष्पादित करते हैं जो हमारे पुराने संस्करणों के संबंध में लालची है Qअनुमान से अधिक - संभवतः बहुत लंबा - प्रक्षेपवक्र। जैसा कि पिछले कुछ उत्तरों में पहले से ही चर्चा की गई है, हमारे फ़ंक्शन सन्निकटन की एक सीमित प्रतिनिधित्व क्षमता है, और एक राज्य-एक्शन जोड़ी के अपडेट अन्य राज्य-एक्शन जोड़े के लिए मूल्य अनुमानों को प्रभावित कर सकते हैं। इसका मतलब है कि, हमारे अपडेट को ट्रिगर करने के बादQ(s,a), हमारे कार्य सन्निकटनकर्ता अब उस नीति को व्यक्त करने में सक्षम नहीं हो सकते हैं जो हमारे उच्च रिटर्न की ओर ले जाती हैmaxaQ(s,a)अनुमान पर आधारित था । इस पत्र के लेखकों का कहना है कि एल्गोरिथ्म "भ्रम" है। यह इस धारणा के तहत एक अद्यतन करता है कि लाइन के नीचे, यह अभी भी बड़े रिटर्न प्राप्त कर सकता है, लेकिन यह वास्तव में पर्याप्त शक्तिशाली नहीं हो सकता है ताकि फ़ंक्शन के पैरामीटर के नए संस्करण के साथ उन रिटर्न को प्राप्त किया जा सके।


अंत में, एक और (यहां तक ​​कि हाल ही में) पेपर जो मुझे संदेह है कि इस प्रश्न के लिए प्रासंगिक है, डी क्यू-लर्निंग एल्गोरिदम में अड़चन का निदान कर रहा है, लेकिन दुर्भाग्य से मेरे पास अभी तक इसे पर्याप्त विस्तार से पढ़ने और पर्याप्त रूप से सारांशित करने का समय नहीं है।


1
लेकिन क्या एक तंत्रिका नेटवर्क का उपयोग इस धारणा के कारण भी नहीं है कि कुछ राज्य प्रत्येक के समान हैं? बहुत समान अवस्थाएं (जैसे किसी खेल में क्रमिक फ़्रेम) में अक्सर बहुत समान (या समान) इष्टतम क्रियाएं होती हैं, इसलिए मुझे यकीन नहीं है कि पहले पेपर में स्पष्टीकरण मान्य है (मुझे उनके मुख्य बिंदुओं को पूरी तरह से समझने के लिए इसे पढ़ना चाहिए)।
नभ

1
@nbro हाँ, अक्सर सामान्यीकरण को उस समस्या के कारण समस्या के बजाय एक लाभ माना जाता है । यदि यह "इच्छित" के रूप में काम करता है, तो यह बहुत शक्तिशाली हो सकता है और सीखने को गति दे सकता है क्योंकि हम जो कुछ भी सीखते हैं उसे हम समान राज्यों / समान कार्यों के लिए स्थानांतरित करते हैं, बल्कि हर अलग-अलग राज्य / अलगाव में कार्रवाई के लिए सीखते हैं। लेकिन यह समस्याओं को भी जन्म दे सकता है, विशेष रूप से सिद्धांत रूप में, लेकिन व्यवहार में भी। यह एक "दोधारी तलवार" जैसा है, मुझे लगता है।
डेनिस सॉमेर्स

1
@DennisSoemers सुपर दिलचस्प जवाब। गैर-भ्रम क्यू-लर्निंग बिंदु एक टन का अर्थ बनाता है। सही Q- फ़ंक्शन को खोजने का अर्थ है कि आपके अपडेट नियम के लिए एक निश्चित बिंदु खोजना, लेकिन यह सुनिश्चित करता है कि फ़ंक्शन सन्निकटन Q-अधिगम में चक्रीय अपडेट को जन्म दे सकता है यदि आप इसके बारे में इस तरह से सोचते हैं।
जॉन डोसेटे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.