यदि मैं एजेंट राज्यों के क्रमिक आदेश का पालन नहीं करता तो मैं MDP के रूप में एक समस्या का मॉडल कैसे बना सकता हूं?

Dec 31 2020

मेरी समस्या में, एजेंट राज्यों के क्रमिक क्रम का पालन नहीं करता है, लेकिन इसके साथ चयन करता है $\epsilon$-सबसे अच्छी जोड़ी (राज्य, क्रिया) को प्राथमिकता कतार से लें। अधिक विशेष रूप से, जब मेरा एजेंट एक राज्य में जाता है$s$ और इसके उपलब्ध कार्यों को खोलता है $\{ a_i \}$, तो यह प्रत्येक का अनुमान लगाता है $(s,a)$जोड़ी (DQN के साथ प्रतिगमन) और इसे कतार में संग्रहीत करता है। मेरे एजेंट को राज्य में बदलने के लिए$s'$, यह उपलब्ध क्रियाओं में से एक का अनुसरण करने के बजाय कतार से सर्वश्रेष्ठ जोड़ी चुनता है $\{ a_i \}$ का $s$। मैं ध्यान देता हूं कि एक राज्य के पास दूसरों से आंशिक रूप से भिन्न कार्रवाई है।

हालाँकि, इस तरह, मैं अपने एमडीपी को कैसे मॉडल कर सकता हूं यदि मेरा एजेंट राज्यों के क्रमिक आदेश का पालन नहीं करता है?

विशेष रूप से, मेरे पास एक केंद्रित क्रॉलर है जिसमें कुछ बीज URL का इनपुट है। मैं बीज के साथ संभव के रूप में कई प्रासंगिक URL का उत्पादन करना चाहता हूं। मैं आरएल ढांचे को निम्नानुसार मॉडल करता हूं।

  • राज्य: वेबपृष्ठ,
  • क्रिया: राज्य वेबपृष्ठ के बाहरी URL,
  • इनाम: बाहरी स्रोत से मुझे पता है कि क्या वेबपृष्ठ सामग्री प्रासंगिक है।

समस्या यह है कि, रेंगते समय, यदि एजेंट क्रमिक राज्य संक्रमण का पालन करके आगे बढ़ता रहता है, तो यह रेंगने वाले जाल या स्थानीय ऑप्टिमा में गिर सकता है। यही कारण है कि क्रॉलिंग में एक प्राथमिकता कतार महत्वपूर्ण रूप से उपयोग की जाती है। क्रॉलिंग एजेंट राज्य परिवर्तनों के क्रमिक क्रम का पालन नहीं करता है। प्रत्येक राज्य-एक्शन जोड़ी को उसके अनुमानित एक्शन मूल्य के साथ प्राथमिकता कतार में जोड़ा जाता है। प्रत्येक बार के लिए, यह कतार में सभी जोड़ों के बीच सबसे होनहार राज्य-एक्शन जोड़ी का चयन करता है। मैं ध्यान देता हूं कि प्रत्येक URL क्रिया को उस राज्य-वेबपृष्ठ को ध्यान में रखते हुए अनुमानित किया जा सकता है जहाँ इसे निकाला गया था।

जवाब

1 FedericoMalerba Jan 03 2021 at 15:38

आपकी समस्या मौलिक रूप से यह है कि आप भ्रमित कर रहे हैं कि इस सेटिंग में राज्य और क्रियाएं क्या हैं। वेबपेज आपके राज्य नहीं हैं; आपका राज्य जोड़े + जोड़े की पूरी प्राथमिकता कतार है । आपका एक्शन कौन सा है, जो आप चुनते हैं।(website-outlink)(new_website-outlink)

अब यह एक चर आकार राज्य-स्थान और चर आकार एक्शन-स्पेस समस्या सेटिंग है। इससे निपटने के लिए यह देखते हुए कि state==observationजरूरत नहीं है (सामान्य रूप से) की शुरुआत करें । तो आपका अवलोकन क्या है? आपका अवलोकन या तो एक चर-आकार का बैच है:

  1. (website-outlink)जोड़े या
  2. next_website(जहां प्रत्येक next_websiteको उसकी संगत जोड़ी द्वारा निर्धारित किया जाता है)

ये दोनों अवलोकन ठीक काम कर सकते हैं, एक या दूसरे के बीच चयन करना बस एक बात है कि क्या आप चाहते हैं कि आपका एजेंट "जो उन्हें खोलने से पहले लिंक करना सीखें" या "कौन से लिंक सार्थक हैं (उन्हें खोलने के बाद)"।

आपकी प्राथमिकता कतार अनिवार्य रूप से क्या कर रही है बस एक नीरस चाल जोड़ रही है:

  • राज्य को रखने की कम्प्यूटेशनल जटिलता बचाता है (याद रखें कि आपका राज्य एक नहीं है website, लेकिन सूची / बैच website-outlink)
  • अपने प्रत्येक कार्य के लिए क्यू-मानों को फिर से new_websiteलागू करने से बचें

लेकिन ध्यान दें कि वास्तव में दूसरी बचत है प्रत्येक जोड़ी के लिए क्यू-मूल्यों को संग्रहीत करना महत्वपूर्ण है !!!

ध्यान देने वाली अंतिम महत्वपूर्ण बात यह है कि ऐसे परिदृश्य में जहां आप रिप्ले बफर का उपयोग करते हैं (जो मुझे लगता है कि संभावना है कि आपने एक DQN को चुना है), आप RB से सीखने के दौरान प्राथमिकता कतार का उपयोग नहीं कर सकते। यह देखने के लिए कि क्यों (और यह देखने के लिए कि आपकी सीखने की प्रक्रिया वास्तव में कैसी दिखती है), यह याद करके शुरू करें कि आपके क्यू-मूल्य अपडेट यहां सूत्र द्वारा दिए गए हैं ; आपका राज्य जोड़े s_tका एक (अर्ध-आदेशित 1 ) बैच है। Q(s_t, a_t)बस पर अपने DQN प्रतिगमन चलाने का उत्पादन होता है बस (इस बैच में सबसे अच्छा वेबसाइट / जोड़ी आप हैRB में परिवर्तन जोड़ते समय सर्वोत्तम विकल्प को दर्शाने के लिए एक इंडेक्स जोड़ने के लिए, ताकि यह सुनिश्चित किया जा सके कि किस राज्य से कार्रवाई की गई थी)। इष्टतम भविष्य के मूल्य के अनुमान की गणना करने के लिए, आपको अगले राज्य में प्रत्येक एकल वेबसाइट / जोड़ी के क्यू-मूल्य को फिर से प्राप्त करना होगा । RB से प्रशिक्षण के दौरान आप प्राथमिकता कतार का उपयोग नहीं कर सकते।

1 आपके पास उन सभी वेबसाइटों के लिए प्राथमिकता कतार है, जो आपने अंतिम वेबसाइट पर देखते हुए दी थी, लेकिन new_website-outlinkअब जो भी जोड़े आप जोड़ रहे हैं, वे अभी तक ऑर्डर नहीं किए गए हैं। आपको अभी भी उन पर एजेंट चलाना है और फिर आप उन्हें बाकी प्राथमिकता कतार के साथ अगले राज्य को उत्पन्न करने के लिए आदेश दे सकते हैं (जो अभी भी आदेश नहीं दिया जाएगा क्योंकि आपके पास new_new_website-outinkजोड़े होंगे)।