फ़ंक्शन सन्निकटन के रूप में न्यूरल नेटवर्क के साथ क्यू-लर्निंग


11

मैं क्यू-लर्निंग में क्यू-मूल्य को अनुमानित करने के लिए एक न्यूरल नेटवर्क का उपयोग करने की कोशिश कर रहा हूं जैसे कि क्यू-लर्निंग में न्यूरल नेटवर्क्स का उपयोग करते हुए प्रश्न । जैसा कि पहले उत्तर में सुझाव दिया गया है, मैं आउटपुट लेयर के लिए एक रैखिक सक्रियण फ़ंक्शन का उपयोग कर रहा हूं, जबकि मैं अभी भी छिपे हुए लेयर्स में सिग्मॉइड एक्टिवेशन फ़ंक्शन का उपयोग कर रहा हूं (2, हालांकि मैं इसे बाद में बदल सकता हूं)। मैं एकल NN का भी उपयोग कर रहा हूं जो कि सलाह के अनुसार प्रत्येक क्रिया लिए आउटपुट देता है ।Q(a)

हालाँकि, सरल कार्ट-पोल संतुलन समस्या के लिए एल्गोरिथ्म अभी भी विचलन कर रहा है। इसलिए, मुझे डर है कि मेरा क्यू-अपडेट गलत है। आरंभीकरण के बाद, मैंने प्रत्येक चरण पर जो किया है वह निम्नलिखित है:

  • सभी कार्यों के लिए NN के आगे प्रसार का उपयोग करते हुए गणना करें।Qt(st)
  • कोई नया कार्य, चयन , एक नए राज्य में भूमि रों टीatst
  • सभी कार्यों के लिए NN के आगे प्रसार का उपयोग करते हुए गणना करें।Qt(st+1)
  • Qt+1(st,at)=Qt(st,at)+αt[rt+1+γmaxaQ(st+1,a)Qt(st,at)]atQt+1(s,at)=Qt(s,at)
  • त्रुटि वेक्टर कोe=QtargetQt=Qt+1Qt
  • वजन मैट्रिक्स को अद्यतन करने के लिए एनएन के माध्यम से त्रुटि को बैकप्रोपैगेट करें।

क्या कोई मुझे इंगित कर सकता है कि मैं कहाँ गलत हो गया हूँ?

इसके अलावा, क्या आपको लगता है कि मुझे एक पूर्वाग्रह शब्द के साथ-साथ इनपुट परत और पहली छिपी परत (यानी सिग्मोइड फ़ंक्शन के लिए) को शामिल करना चाहिए? क्या इससे कोई अंतर आएगा?

आपकी मदद के लिए अग्रिम धन्यवाद। यदि आवश्यक हो तो मैं प्रश्न को स्पष्ट करने या कोड साझा करने में मदद कर सकता हूं।

जवाबों:


9

आपका निशाना सिर्फ होना चाहिए

rt+1+γmaxaQ(st+1,a)

ध्यान दें कि आपकी त्रुटि अवधि (जो सही है) को फिर से रूप में फिर से लिखा जा सकता है। rt+1+γmaxaQ(st+1,a)Qt

जो अद्यतन सूत्र में कोष्ठक के अंदर का शब्द है। यह आपके एनएन सीखने की दर और सीखने के दौरान अन्य बैकप्रोपैजेशन शर्तों से गुणा हो जाएगा, और फिर अपडेट फॉर्मूले की तरह पिछले वजन में जोड़ा जाएगा ।Q


टिप के लिए धन्यवाद! इस तरह मैं लक्ष्य मान में संख्यात्मक त्रुटियों से बच सकता हूं: जैसा कि आप कहते हैं, यह जोड़ना और फिर घटाना । Qt
एनरिको एंडर्लिनी

हालाँकि, मेरा एनएन + क्यू-लर्निंग अभी भी परिवर्तित नहीं हो रहा है। इसलिए, यदि विधि सही है, तो मुझे लगता है कि मैं सीखने की दर के साथ खेलने की कोशिश करूंगा, और छिपी हुई परत (ओं) में न्यूरॉन्स की संख्या
एनरिको एंडरलिनी

1
हां, आपको ऐसा करना चाहिए (ReLU हस्तांतरण फ़ंक्शन का उपयोग करने का प्रयास करें)। लेकिन ध्यान दें कि क्यू-लर्निंग की फंक्शन सन्निकटन के साथ कोई अभिसरण गारंटी नहीं है। यदि आपकी अगली कोशिश काम नहीं करती है, तो आप एडवांटेज लर्निंग की कोशिश कर सकते हैं। और अंत में, समस्या यह हो सकती है कि आपका डेटा iid नहीं है। इसलिए आपको एक्सपीरियंस रिप्ले लागू करना होगा।
rcpinto

मेरे पास सवाल का विस्तार है। मैं एल्गोरिथ्म को समझने के रूप में प्रश्न में उल्लेख किया, लेकिन लेकर दुविधा में हूँ और शर्तों। यदि खेल के लिए इनाम केवल खेल के अंत में (एक जीत या नुकसान की स्थिति पर) जाना जाता है, तो हम एक मध्यवर्ती चरण के लिए इनाम कैसे प्रदान कर सकते हैं? Qt+1rt+1
कनिष्क गांगुली

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