रीइन्फ़ोर्समेंट लर्निंग

एक एजेंट के खिलाफ एक बोर्ड गेम खेलें, जिसे सुदृढीकरण सीखने का उपयोग करके प्रशिक्षित किया जाता है और TensorFlow Lite के साथ तैनात किया जाता है।

शुरू हो जाओ

यदि आप TensorFlow Lite में नए हैं और Android के साथ काम कर रहे हैं, तो हम निम्नलिखित उदाहरण एप्लिकेशन की खोज करने की सलाह देते हैं जो आपको आरंभ करने में मदद कर सकता है।

एंड्रॉइड उदाहरण

यदि आप Android के अलावा किसी अन्य प्लेटफ़ॉर्म का उपयोग कर रहे हैं, या आप पहले से ही TensorFlow Lite API से परिचित हैं, तो आप हमारे प्रशिक्षित मॉडल को डाउनलोड कर सकते हैं।

मॉडल डाउनलोड करें

यह काम किस प्रकार करता है

यह मॉडल एक गेम एजेंट के लिए 'प्लेन स्ट्राइक' नामक एक छोटा बोर्ड गेम खेलने के लिए बनाया गया है। इस गेम और इसके नियमों के त्वरित परिचय के लिए, कृपया इस README को देखें।

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

एंड्रॉइड ऐप में वास्तविक गेम खेलने के दौरान, जब एजेंट की कार्रवाई करने की बारी आती है, तो एजेंट मानव खिलाड़ी की बोर्ड स्थिति (नीचे बोर्ड) को देखता है, जिसमें पिछले सफल और असफल स्ट्राइक (हिट और मिस) के बारे में जानकारी होती है। , और प्रशिक्षित मॉडल का उपयोग यह अनुमान लगाने के लिए करता है कि अगला हमला कहां करना है, ताकि यह मानव खिलाड़ी के पहले ही खेल खत्म कर सके।

प्रदर्शन मानदंड

प्रदर्शन बेंचमार्क नंबर यहां वर्णित टूल से तैयार किए जाते हैं।

मॉडल नाम मॉडल का आकार उपकरण CPU
नीति स्नातक 84 केबी पिक्सेल 3 (एंड्रॉइड 10) 0.01ms*
पिक्सेल 4 (एंड्रॉइड 10) 0.01ms*

* 1 धागे का उपयोग किया गया।

इनपुट

मॉडल बोर्ड स्थिति के रूप में (1, 8, 8) के 3-डी float32 टेंसर को स्वीकार करता है।

आउटपुट

मॉडल 64 संभावित स्ट्राइक पोजीशनों में से प्रत्येक के लिए अनुमानित स्कोर के रूप में आकार (1,64) का 2-डी float32 टेंसर लौटाता है।

अपने स्वयं के मॉडल को प्रशिक्षित करें

आप प्रशिक्षण कोड में BOARD_SIZE पैरामीटर को बदलकर बड़े/छोटे बोर्ड के लिए अपने मॉडल को प्रशिक्षित कर सकते हैं।