मैं 2048 गेम खेलने के लिए तंत्रिका नेटवर्क को प्रशिक्षित करना चाहता हूं। मुझे पता है कि एनएन 2048 की तरह राज्य के खेल के लिए एक अच्छा विकल्प नहीं है, लेकिन मैं यह हासिल करना चाहता हूं कि एनएन एक अनुभवी इंसान की तरह खेल खेलेंगे, यानी केवल तीन दिशाओं में टाइल चलाना।मैं 2048 गेम खेलने के लिए तंत्रिका नेटवर्क को कैसे प्रशिक्षित कर सकता हूं?
लेकिन मैं यह नहीं समझ सकता कि एनएन को स्वयं प्रशिक्षित कैसे करें क्योंकि हम वैध आउटपुट नहीं जानते हैं। आम तौर पर, उदा। प्रतिगमन में, आप सही आउटपुट जानते हैं और आप नुकसान की गणना कर सकते हैं (उदा। माध्य वर्ग त्रुटि) और वजन को अपडेट करें। लेकिन 2048 में वैध आउटपुट मूल रूप से अज्ञात है (बेशक आप प्रत्येक दिशा के लिए स्कोर की गणना कर सकते हैं, उदाहरण के लिए, उच्चतम अंतर score_after_move - previous_score
वाला दिशा हमारा मान्य आउटपुट होगा, लेकिन मुझे लगता है कि स्वयं को सीखने का तरीका नहीं है एनएन)। तो क्या 2048 गेम के लिए हानि समारोह को परिभाषित करना संभव है? सबसे अच्छा एक अलग होगा।
अगला प्रश्न यह है कि वजन को अपडेट करने के लिए: प्रत्येक चाल के बाद या एक पूर्ण गेम (गेम ओवर) के बाद?
तो यह महत्वपूर्ण है: मेरे एनएन टोपोलॉजी अब साधारण के लिए होगा:
2D matrix of gaming board -> 2D matrix of input neurons -> 2D fully-connected hidden layer -> 1D 4-neuron layer
तो प्रत्येक टाइल पहली परत में न्यूरॉन इसी (करने के लिए इनपुट होगा वहाँ पूरी तरह से जुड़ा हुआ 2 डी के लिए कोई विशेष नाम है परत?)। अंतिम परत से अपेक्षित आउटपुट लंबाई 4 का एक वेक्टर है, उदा। [1, 0, 0, 0] "ऊपर" आंदोलन दिशा होगी।
अब के लिए मैंने 2048 गेम के लिए हेडलेस क्लास (पायथन/न्यूमपी में) लागू किया है, क्योंकि दृश्य इनपुट का उपयोग धीमा है और यह भी करने के लिए और अधिक काम करता है।
पीएस शायद मैं इस खेल (या आम तौर पर खेल) के लिए एनएन सीखने के बारे में गलत तरीके से सोच रहा हूं। मुझे एक बेहतर तरीका दिखाने के लिए स्वतंत्र महसूस करें, मैं इसकी सराहना करता हूं। धन्यवाद :)
संपादित करें: मजबूती सीखने का तरीका प्रतीत होता है। यहाँ कुछ उपयोगी लिंक कर रहे हैं:
Demystifying Deep Reinforcement Learning
Action-Value Methods and n-armed bandit problems
Deep Reinforcement Learning for Keras
आप इस दिलचस्प हो सकता है: https://www.youtube.com/watch ? वी = qv6UVOQ0F44 – Tim
यह अच्छा है :) मैं कुछ आनुवांशिक एल्गोरिदम भी लागू करना चाहता हूं। दुर्भाग्य से लेखक ने कोई स्पष्टीकरण नहीं लिखा है, इसलिए केवल उनके विकल्प को पढ़ने का विकल्प है। – jirinovo
हालांकि इस सवाल को एसओ में माइग्रेट करना संभव है, जैसा कि आपने अनुरोध किया है, ऐसा लगता है कि यह विषय पर होगा, इसलिए माइग्रेशन को अस्वीकार कर दिया जाएगा। – whuber