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