REINFORCE आखिर काम क्यों करता है?

Aug 15 2020

यहाँ Sutton और बार्टो की किताब से लोकप्रिय नीति-ढाल एल्गोरिथ्म का एक स्क्रीनशॉट है -

मैं अपडेट नियम के गणितीय व्युत्पत्ति को समझता हूं - लेकिन मैं अंतर्ज्ञान का निर्माण करने में सक्षम नहीं हूं कि यह एल्गोरिथ्म पहले स्थान पर क्यों काम करे। क्या वास्तव में मुझे परेशान करता है कि हम एक गलत नीति के साथ शुरू करते हैं (यानी हम मापदंडों को नहीं जानते हैं$\theta$ अभी तक), और हम इस नीति का उपयोग एपिसोड बनाने और परिणामी अपडेट करने के लिए करते हैं।

REINFORCE को आखिर काम क्यों करना चाहिए ? आखिरकार, ग्रेडिएंट अपडेट के लिए इसका उपयोग करने वाले एपिसोड को पैरामीटर द्वारा पैरामीरिज्ड पॉलिसी का उपयोग करके उत्पन्न किया जाता है$\theta$ जिसे अभी तक अपडेट किया जाना है ( इष्टतम नीति का उपयोग करके प्रकरण उत्पन्न नहीं हुआ है - ऐसा कोई तरीका नहीं है कि हम ऐसा कर सकें)।

मुझे उम्मीद है कि मेरी चिंता स्पष्ट है और मैं y'all से अनुरोध करता हूं कि यह काम क्यों करे! मुझे संदेह है कि, किसी तरह , भले ही हम गलत नीति से एक एपिसोड का नमूना ले रहे हों, हम प्रत्येक अपडेट (मोनोटोनिक सुधार) के बाद सही के करीब पहुंच जाते हैं। वैकल्पिक रूप से, हम इष्टतम नीति (मापदंडों के इष्टतम सेट) के करीब जा सकते हैं$\theta$) औसत पर।

तो, वास्तव में यहाँ क्या हो रहा है?

जवाब

4 DavidIreland Aug 15 2020 at 21:16

काम करने की कुंजी है जिस तरह से मापदंडों को स्थानांतरित कर दिया जाता है $G \nabla \log \pi(a|s, \theta)$

ध्यान दें कि $ \nabla \log \pi(a|s, \theta) = \frac{ \nabla \pi(a|s, \theta)}{\pi(a|s, \theta)}$। यह अपडेट को काफी सहज बनाता है - अंश उस दिशा में मापदंडों को बदलता है जो संभावना में उच्चतम वृद्धि देता है कि कार्रवाई दोहराई जाएगी, राज्य को दिया जाता है, रिटर्न के लिए आनुपातिक - यह देखना आसान है क्योंकि यह अनिवार्य रूप से एक ढाल चढ़ाई है कदम। हरकतें उन क्रियाओं पर नियंत्रण करती हैं जिनका अन्य कार्यों पर लाभ होता है, क्योंकि उन्हें अधिक बार चुना जाएगा, कार्रवाई की संभावना के संबंध में व्युत्क्रम स्केलिंग द्वारा; कल्पना कीजिए कि अगर वहाँ उच्च पुरस्कार था, लेकिन समय पर कार्रवाई$t$ चयनित होने की कम संभावना है (उदाहरण 0.1) तो यह 10 से रिटर्न को उस दिशा में एक बड़े अपडेट कदम के लिए गुणा करेगा जो इस कार्रवाई की संभावना को सबसे अधिक चयनित करेगा (जो कि संख्यात्मक नियंत्रण के लिए, जैसा कि उल्लेख किया गया है) ) है।

यह अंतर्ज्ञान के लिए है - यह देखने के लिए कि यह काम क्यों करता है , फिर सोचें कि हमने क्या किया है। हमने एक उद्देश्य समारोह को परिभाषित किया,$v_\pi(s)$, कि हम अपने मापदंडों के प्रति सम्मान के साथ अधिकतम करने में रुचि रखते हैं $\theta$। हम अपने मापदंडों के संबंध में इस उद्देश्य के व्युत्पन्न पाते हैं, और फिर हम अपने उद्देश्यों को अधिकतम करने के लिए अपने मापदंडों पर ढाल चढ़ाई करते हैं, अर्थात अधिकतम करने के लिए$v_\pi(s)$, इस प्रकार अगर हम धीरे-धीरे चढ़ाई करते रहेंगे तो हमारी नीति के मान अधिकतम होने वाले मूल्यों में परिवर्तित हो जाएंगे $v$ और इस प्रकार हमारी नीति इष्टतम होगी।