तंत्रिका नेटवर्क
त्रुटि के प्रसार के साथ सीखने के द्वारा पिछड़े
Colin Fahey

एक जैविक तंत्रिका नेटवर्क
1. सॉफ्टवेयर
2. परिचय
यह दस्तावेज बताते हैं कि किस तरह लागू करने के लिए एक कृत्रिम है कि तंत्रिका नेटवर्क में सक्षम पैटर्न पहचान करने के लिए प्रशिक्षित किया जा रहा है .
यह दस्तावेज़ का एक मॉडल का वर्णन एक सीख है कि तंत्रिका नेटवर्क का उपयोग करता है कि "पिछड़े" कलन विधि द्वारा एक "त्रुटि के प्रसार" है .
यह दस्तावेज़ शामिल हैं बुनियादी शिक्षा के प्रदर्शनों के द्वारा "त्रुटि के प्रसार से पिछड़े" हैं . यह दस्तावेज़ ने एक कड़ी के लिए कंप्यूटर कोड . कंप्यूटर कोड का प्रदर्शन शामिल है . कंप्यूटर कोड का प्रयोग किया जा सकता है तंत्रिका नेटवर्क बनाने के लिए जटिल है . लेकिन , कम्प्यूटर कोड के प्रदर्शन के प्रयोजनों के लिए ही है . एक वैकल्पिक कार्यान्वयन को कम कर सकता है और मेमोरी उपयोग की गति को बढ़ाया जा सकता है .
3. वैकल्पिक को सीखने के द्वारा त्रुटि के प्रसार से पिछड़े
यह दस्तावेज़ का वर्णन एक मॉडल के तंत्रिका नेटवर्क है जो सीख कलन विधि द्वारा एक "त्रुटि के प्रसार" के नाम "से पिछड़े" हैं . कलन विधि कर सकते हैं यह एक बहुत लंबे समय की आवश्यकता को जानने के विभिन्न सबक है . इसके अलावा , इस कलन विधि असफल हो सकते हैं अनियमित सबक सीखने के लिए विभिन्न आरंभिक स्थिति की वजह से यादृच्छिक के तंत्रिका नेटवर्क से पहले प्रशिक्षण .
लर्निंग द्वारा "जोड़ सक्रिय" करने के लिए "निवेश" का एक महत्वपूर्ण वैकल्पिक शिक्षा के द्वारा "त्रुटि के प्रसार से पिछड़े" हैं . लर्निंग द्वारा जोड़ सक्रिय आदानों सहयोगियों बस एक साथ ही निवेश कर रहे हैं कि सक्रिय है . तेजी से किया जा सकता है इस तरह के अध्ययन और विश्वसनीय है . लेकिन , कई व्यावहारिक उद्देश्यों के लिए है , स्पष्ट नहीं है तरीके का उपयोग करने के लिए एक सीख है कि तंत्रिका नेटवर्क द्वारा संघ , जबकि कोई स्पष्ट तरीके से नेटवर्क का उपयोग करने के लिए एक सीख है कि पिछड़े त्रुटि द्वारा प्रसार .
कुछ जैविक तंत्रिका नेटवर्क के लिए जाना जाता है जानने के द्वारा सक्रिय सहयोग के साधनों की है . पिछड़ा त्रुटि में मनाया प्रसार नहीं किया गया है किसी भी जैविक तंत्रिका नेटवर्क है .
यह दस्तावेज़ का उपयोग करता है रोचक वर्णन के लिए एक सीख है कि तंत्रिका नेटवर्क के द्वारा त्रुटि के प्रसार से पिछड़े हैं . लेकिन , सीखने के सहयोग के द्वारा एक बहुत महत्वपूर्ण है सीखने के लिए वैकल्पिक एल्गोरिथ्म . तंत्रिका नेटवर्क तैयार एक सीख है कि संघ द्वारा किसी विशेष समस्या को हल करने में अधिक मुश्किल हो सकता है कि एक वैकल्पिक desgining सीख है कि तंत्रिका नेटवर्क के द्वारा त्रुटि के प्रसार से पिछड़े हैं , लेकिन जानने के जैविक प्रणालियों के द्वारा सहयोग , और सीखने की क्षमता के जैविक प्रणालियों स्पष्ट है .
4. जैविक न्यूरॉन
4.1 सेल न्यूरॉन

एक जैविक न्यूरॉन ( "multipolar" प्रकार , शरीर ~4 um सेल )
एक प्रकार की न्यूरॉन है कि कोशिका को प्राप्त करने की क्षमता है और तंत्रिका संचारित संकेतों .
न्यूरॉन्स के आधार हैं तंत्रिका प्रणाली , जानवरों में पाए , पक्षी , मछली , और कीड़ों .
मस्तिष्क और स्मृति के साथ तर्क है , और सरल प्रतिवर्त प्रणालियों , दोनों पर आधारित व्यवस्था के न्यूरॉन्स .
न्यूरॉन्स हैं संकेतों से अधिक जानकारी के लिए भी इस्तेमाल किया जाता लंबी दूरी के शरीर में एक प्राणी , जैसे कि सेंसर करने से मस्तिष्क , या मस्तिष्क से मांसपेशियों के लिए .
एक जैविक न्यूरॉन का व्यवहार बहुत ही जटिल है , लेकिन निम्नलिखित सरलीकृत चीज़ के बुनियादी सिद्धांत वर्णन :
इस न्यूरॉन न्यूरॉन्स अन्य धीरे से प्राप्त संकेतों , कुल संकेत है और यदि एक सीमा से अधिक संचय , न्यूरॉन संचारित संकेतों को अपनी अन्य न्यूरॉन्स .
4.2 न्यूरॉन भागों

एक जैविक के हिस्से न्यूरॉन
|
सोमा
|
शरीर की कोशिका का न्यूरॉन
|
|
Dendrites
|
तंतु के साथ रासायनिक रिसेप्टर्स ( निवेश ) का विस्तार है कि शरीर की कोशिका से न्यूरॉन . एक न्यूरॉन आमतौर ने कई dendrites , और dendrites अक्सर कई शाखाएँ हैं .
|
|
तंत्रिकाक्ष
|
तंतु के साथ एक रासायनिक emitters ( outputs ) endpoint है कि उसके विस्तार से शरीर की कोशिकाओं के न्यूरॉन . एक न्यूरॉन अक्षतंतु ने एक ही है , और आमतौर पर अक्षतंतु शाखाओं ने बहुत कुछ है .
|
|
Synapse
|
एक विन्यास है कि इस तरह के अक्षतंतु न्यूरॉन और एक दूसरे के dendrites न्यूरॉन हैं एक बहुत छोटे से अंतराल द्वारा अलग है . ऐसी विन्यास , रसायन द्वारा उत्सर्जित की एक अक्षतंतु न्यूरॉन पार synapse हैं और dendrites के द्वारा प्राप्त अन्य न्यूरॉन . यह कैसे प्रभावित न्यूरॉन्स अन्य न्यूरॉन्स .
|
4.3 न्यूरॉन फायरिंग
एक रासायनिक संकेतों से अपनी जमा न्यूरॉन dendrites , रासायनिक और यदि कुल संचय एक सीमा से अधिक की अवधि के भीतर समय , न्यूरॉन "आग" , अपने स्वयं के संकेत भेजने के माध्यम से अपने अक्षतंतु .
कुछ न्यूरॉन्स में सक्षम हैं फायरिंग दालों के आदेश पर 100 Hz .
इन संकेतों से गुजर न्यूरॉन्स शामिल accumulations के (Na) सोडियम , पोटेशियम (K) , और क्लोरीन (Cl) आयनों , जिसके परिणामस्वरूप एक विद्युत रासायनिक और संभावित ( यानी , वोल्टेज ) .
आराम की वोल्टेज (-70 mV) और फायरिंग वोल्टेज (+30 mV) मापा जा सकता है या यहाँ तक कि परंपरागत विद्युत circuitry से प्रभावित है .
निम्नलिखित एक वोल्टेज की रिकॉर्डिंग एक चूहा न्यूरॉन फायरिंग की दर से लगभग एक ही समय 100 Hz गलमुच्छा को स्पर्श किया है और उसके आराम से बाहर आयोजित की स्थिति :

फायरिंग में एक चूहा न्यूरॉन (100 Hz) जोत के कारण एक गलमुच्छा .
यद्यपि निरंतर उत्तेजना है , तेजी से स्पंदन न्यूरॉन संकेत है .
4.4 तंत्रिका नेटवर्क
मानव मस्तिष्क ने लगभग 10^11 ( 100 अरब ) न्यूरॉन्स .
प्रत्येक न्यूरॉन में cerebellum के रूप में प्राप्त इनपुट से कई के रूप में 10^4 (10000) synapses .
यद्यपि अक्षतंतु और dendrites न्यूरॉन के एक ही बार में कुछ विस्तार से दूर micrometers शरीर की कोशिकाओं , कुछ axons हैं आदेश पर एक मीटर की लंबाई में .
मस्तिष्क का एक न्यूरॉन्स के साथ अपेक्षाकृत छोटे समूहों या क्षेत्रों में axons समूहीकृत .
मस्तिष्क ने भी एक न्यूरॉन्स के बंडल के साथ लंबे समय से अपेक्षाकृत axons से जोड़ने के द्वारा अलग क्षेत्रों सेंटीमीटर है .
इस प्रकार एक पदानुक्रमित के नेटवर्क के गठन की प्रक्रिया तत्व है .
4.5 तंत्रिका नेटवर्क स्थिति
इस स्थिति के नेटवर्क के न्यूरॉन्स की तरह है , दोनों के न्यूरॉन्स से जुड़े हुए हैं और सभी के संकेतों पर synapses .
यह कितना अस्पष्ट स्थिति की जानकारी होगी यदि एक मस्तिष्क को खो दिया था tranquilized में कुल राशि की निष्क्रियता के लिए किसी भी समय है .
एक निरंतर जानकारी ही कल्पना कर सकते हैं संकेतों के नेटवर्क के माध्यम से चलती है , और नेटवर्क के द्वारा संपर्क ही नहीं , जैसे जैसे सेलुलर ऑटोमेटा सिमुलेशन Conway's "Game of Life" , चिप्स Dynamic Random Access Memory (DRAM) सरल है , और तारिक एक कक्ष में है .
4.6 तंत्रिका नेटवर्क लर्निंग
तब होती है जब परम्परागत सीखने की संपत्तियों की dendrites परिवर्तन पर एक synapse बनने के लिए कम या अधिक रासायनिक संकेतों को प्राप्त करने में सक्षम अक्षतंतु से एक है .
इस तरह के परिवर्तन के कारण जटिल हैं , लेकिन नतीजा यह है कि एक न्यूरॉन की आवश्यकता होती है एक अलग संयोजन synapse निवेश निर्गम को ट्रिगर करने के लिए एक संकेत है .
5. कृत्रिम न्यूरॉन
5.1 परिभाषा
एक "कृत्रिम न्यूरॉन" है एल्गोरिथ्म उपकरण है , जो शारीरिक या एक औजार एक गणितीय मॉडल की मूलभूत व्यवहार से प्रेरित एक जैविक न्यूरॉन .
एक न्यूरॉन न्यूरॉन्स अन्य धीरे से प्राप्त संकेतों या निवेश ( eg , सेंसर ) , कुल संकेत है और यदि एक सीमा से अधिक संचय , न्यूरॉन स्थानांतरित करने के लिए एक संकेत या अन्य न्यूरॉन्स outputs ( eg , effectors ) .
गणितीय मॉडल है कि कोई भी शामिल करने के विचार के गायब एक ही उपज है और कई निवेश निर्गम ( accentuates के सापेक्ष है कि तीव्रता के स्तर पर निवेश के सापेक्ष कुछ नाममात्र ) पैटर्न पहचान के लिए प्रयोग किया जा सकता है .
इस तरह के मॉडल के आधार पर किया जा सकता है एक कृत्रिम न्यूरॉन .
यदि प्रत्येक इनपुट के प्रभाव में संशोधित किया जा सकता है , तो इस मॉडल को सीखने का समर्थन कर सकते हैं .
5.2 सक्रियकरण समारोह
"समारोह में" एक "सक्रियकरण" है कि समारोह में धर्मान्तरित गणितीय मान इनपुट करने के लिए नीचे दिए गए एक विशेष मूल्य अपेक्षाकृत कम उत्पादन मूल्य , और धर्मान्तरित इनपुट मूल्यों को एक के ऊपर एक विशेष मूल्य अपेक्षाकृत उच्च निर्गम मूल्य है .
एक "सक्रियकरण समारोह" में बदलने का प्रयोग किया जाता है भारित मूल्यों की राशि का निवेश करने के लिए एक मान न्यूरॉन प्रतिनिधित्व करता है कि उत्पादन के न्यूरॉन .
एक समारोह में "sigmoid" है कि सामान्य वर्ग के सुचारु रूप से कार्य asymptotically दृष्टिकोण के लिए निवेश सीमा से कम एक नकारात्मक अनन्तता मूल्यों के निकट है , और एक ऊपरी सीमा asymptotically दृष्टिकोण इनपुट के लिए सकारात्मक मूल्यों के निकट अनन्तता .
एक विशेष समारोह में sigmoid है "logistic sigmoid" समारोह :

इस समारोह में "Logistic Sigmoid" : 1 / ( 1 + Exp( -x ) )
"logistic sigmoid" इस समारोह के रूप में इस्तेमाल किया जा सकता है एक "सक्रियकरण समारोह" के लिए एक मॉडल के एक गणितीय न्यूरॉन .
गणितीय के व्युत्पन्न का अभिकलन किया जा सकता है "logistic sigmoid" के एक सूत्र के रूप में , यह आसान बनाने के लिए सीखने की गणना जुड़े एक सूत्र है .
5.3 तंत्रिका नेटवर्क इनपुट
"तंत्रिका" एक "नेटवर्क" का प्रतिनिधित्व करता है "इनपुट" एक इनपुट के लिए एक तंत्रिका नेटवर्क है .

तंत्रिका नेटवर्क इनपुट
"Input" है आंकिक मान इनपुट की है .
5.4 तंत्रिका नेटवर्क निर्गम
"तंत्रिका" एक "नेटवर्क" का प्रतिनिधित्व करता है "उत्पादन" उत्पादन का एक नेटवर्क तंत्रिका .

तंत्रिका नेटवर्क निर्गम
"Output" है आंकिक मान का उत्पादन .
"Error" है कि संख्यात्मक मूल्य का प्रतिनिधित्व करता है के बीच के अन्तर निर्गम मूल्य और एक "Desired" मूल्य :
Error = (Output - Desired); // Derived from: Output = Desired + Error;
यह एक अपेक्षित मूल्य "Desired" मूल्य का प्रतिनिधित्व करता है , या एक आदर्श मूल्य है , या एक सही मूल्य , कि तंत्रिका नेटवर्क चाहिए उपज की प्रतिक्रिया के रूप में उत्पादन के विशेष इनपुट्स .
इस त्रुटि के मूल्य का अभिकलन है और "Error" द्वारा आवंटित करने के लिए एक प्रशिक्षण एल्गोरिथ्म .
इस त्रुटि के मूल्य को तंत्रिका नेटवर्क राय है .
अनुकूलित कर सकते हैं और तंत्रिका नेटवर्क के बीच अंतर को कम करने के लिए अपनी इच्छित outputs और मूल्यों ; यानी , तंत्रिका नेटवर्क की सीख सकते हैं , इस प्रकार कम कर सकते हैं और भविष्य में त्रुटियाँ हैं .
5.5 शरीर न्यूरॉन
एक "न्यूरॉन शरीर" के शरीर में एक न्यूरॉन का प्रतिनिधित्व करता है , जो धीरे इनपुट योगदान है , और एक पूर्वाग्रह कहते हैं , जिसके परिणामस्वरूप और रूपांतरण के मान के द्वारा "सक्रियकरण" के उत्पादन के लिए एक "समारोह में" निर्गम मूल्य है .

शरीर न्यूरॉन
"InputAccumulator" है कि मूल्य का प्रतिनिधित्व करता है संचित इनपुट से न्यूरॉन लिंक outputs से जुड़े हुए हैं जिनके शरीर के न्यूरॉन .
"Bias" है समायोज्य मूल्य है कि संयुक्त मान इनपुट के साथ संचित है .
"Output" है सङ्ख्या , निर्गम मूल्य के प्रतिनिधित्व के न्यूरॉन .
इस निर्गम मूल्य का अभिकलन है फार्मूला का प्रयोग करते हुए निम्नलिखित हैं :
Output = ActivationFunction( Bias + InputAccumulator );
"ErrorAccumulator" है आंकिक मान का प्रतिनिधित्व संचित त्रुटि .
निर्गम मूल्य को देखते एक विशिष्ट न्यूरॉन के शरीर , और दिए गए एक विशिष्ट त्रुटि निर्गम मूल्य , संचित है त्रुटि मूल्य के अनुसार समायोजित करने के लिए निम्नलिखित सूत्र :
ErrorAccumulator += Output * (1 - Output) * OutputError;
"Rate" है कि एक मूल्य को प्रभावित करता है कि किस तरह की प्रतिक्रिया "Bias" मूल्य में परिवर्तन के "ErrorAccumulator" मूल्य :
Bias += (-1) * Rate * ErrorAccumulator;
5.6 न्यूरॉन कड़ी
"न्यूरॉन" एक "कड़ी" के बीच एक कड़ी का प्रतिनिधित्व करता है :
( 1 ) किसी इनपुट के तंत्रिका नेटवर्क का एक और एक इनपुट न्यूरॉन शरीर ;
या ,
( 2 ) एक उत्पादन की एक इनपुट न्यूरॉन शरीर और शरीर के अन्य न्यूरॉन ;
या ,
( 3 ) के उत्पादन का एक और एक एक न्यूरॉन शरीर के उत्पादन के तंत्रिका नेटवर्क है .

न्यूरॉन कड़ी
"Input" है कैश करने के लिए निवेश की कड़ी है .
"Weight" है कि किस तरह प्रभावित करता है कि समायोज्य मूल्य त्रुटि संकेत मूल्यों और मूल्यों के प्रचार के माध्यम से लिंक है .
"Output" है कैश के उत्पादन की कड़ी है .
अभिकलन का मूल्य है फार्मूला का प्रयोग करते हुए निम्नलिखित हैं :
Output = Weight * Input;
"Error" एक त्रुटि का कैश की कड़ी है .
"WeightedError" है कैश की त्रुटि के लिंक , भारित द्वारा वजन का पहलू :
WeightedError = Weight * Error;
"Rate" है कि एक मूल्य को प्रभावित करता है कि किस तरह की प्रतिक्रिया "Weight" मूल्य में परिवर्तन के "Error" मूल्य और "Input" मूल्य है .
अध्ययन के दौरान तंत्रिका नेटवर्क , "Weight" मूल्य समायोजित से इस प्रकार है :
Weight += (-1) * Rate * Input * Error;
5.7 तंत्रिका नेटवर्क
"तंत्रिका" में निवेश का एक "नेटवर्क" , outputs , न्यूरॉन निकायों , और लिंक .
निम्नलिखित छवि को दर्शाता तंत्रिका एक सरल नेटवर्क , आदानों के साथ दो , और एक दो न्यूरॉन निकायों में पहली परत है , और एक दूसरे परत न्यूरॉन में एक , और एक आउटपुट है .

उदाहरण के तंत्रिका नेटवर्क
अनुकरण के दौरान एक के तंत्रिका नेटवर्क , निवेश और मूल्यों के प्रचार आगे न्यूरॉन निकायों के माध्यम से लिंक है , और अंततः पर पहुँच outputs .

उदाहरण के आगे प्रसार नेटवर्क में तंत्रिका
प्रशिक्षण के दौरान , त्रुटि मूल्यों पर outputs प्रदान की जाती हैं , और इन त्रुटियों को प्रचार के माध्यम से पीछे तंत्रिका नेटवर्क है , जिसके परिणामस्वरूप में संशोधन के वजन और biases न्यूरॉन में निकायों और लिंक .

उदाहरण के प्रसार में एक त्रुटि पिछड़े तंत्रिका नेटवर्क
5.8 तंत्रिका नेटवर्क अनुकार
परिभाषा :
"नेटवर्क" की प्रक्रिया का इस्तेमाल किया है "अनुकरण" करने के लिए प्रचार के नेटवर्क के माध्यम से निवेश और लिंक न्यूरॉन निकायों तक पहुंचने के नेटवर्क outputs .
अनुकरण के अनुकरण के नेटवर्क शामिल अपनी सभी घटक और लिंक न्यूरॉन निकायों .
सिमुलेशन छोरों के बिना या समय :
ऐसे कई संभव नेटवर्क configurations छोरों शामिल है .
ऐसे कई न्यूरॉन मॉडल पर निर्भर करते हैं कि समय है .
लेकिन कुछ आम अनुप्रयोगों के कृत्रिम न्यूरॉन्स छोरों और न ही समय न तो शामिल है .
निम्नलिखित एक गणितीय एक मॉडल के शरीर न्यूरॉन :
Output = ActivationFunction( Bias + InputAccumulator );
इस न्यूरॉन मॉडल , और एक नेटवर्क "छोरों" के बिना , हम बस से शुरू बाहरी निवेश , outputs के पहले गणना की परत न्यूरॉन्स , और उन की आपूर्ति के रूप में निवेश करने के लिए अगले outputs परत , परत कि गणना outputs के लिए , और जारी रखने के माध्यम से की परत न्यूरॉन्स तक के अंतिम outputs का अभिकलन हैं .
छोरों :
एक नेटवर्क कनेक्शन कर सकते हैं छोरों के रूप में ( या "चक्र" ) .
उदाहरण के लिए , एक न्यूरॉन के उत्पादन में किया जा सकता है सीधे जुड़े एक इनपुट की है कि एक ही न्यूरॉन , जिससे "राय" है .
एक अन्य उदाहरण है न्यूरॉन के उत्पादन में किया जा रहा # 1 से जुड़े इनपुट के न्यूरॉन # 2 , और न्यूरॉन # 2 के उत्पादन में जोड़ा जा रहा को इनपुट के न्यूरॉन # 1 .
यदि आप आरंभ कर सकते हैं बिन्दु में से कुछ का पता लगाना और एक नेटवर्क के माध्यम से एक रास्ता न्यूरॉन्स और कनेक्शन है , एक तरह का पालन के प्रवाह का संकेत है , और अंततः एक ही शुरू कि पहुंचने पर बात है , तो पाश का रास्ता है .
छोरों शुरू की संभावना की रोचक संकेतों के चारों ओर बहने नेटवर्क के लिए अनिश्चित समय है .
कुछ साधारण मॉडल मान लेता है कि यह एक विशिष्ट समय के लिए राशि का संकेत करने के लिए अलग से होकर न्यूरॉन्स .
ऐसे मॉडल , संकेतों के माध्यम से परिचालित छोरों के साथ कुछ न्यूरॉन्स संकेतों की तुलना में तेजी से परिचालित छोरों के माध्यम से कई न्यूरॉन्स .
न्यूरॉन से जुड़े एक ही होगा प्रचलन दर तेजी से संकेत है .
यदि किसी ने एक इनपुट न्यूरॉन X , वजन W , एक पूर्वाग्रह B , और एक गैर Y उत्पादन नकारात्मक ( eg , 0.0 -> 1.0 ) , तो हम कर सकते हैं फार्म का एक बस के द्वारा स्थापित दोलक W = (-8) और B = +4 और Y को जोड़ने के लिए X ;
हर बार हम सिमुलेट के न्यूरॉन के संकेत जाएगा toggled करने के लिए राज्य के विपरीत है .
एक नेटवर्क के साथ छोरों गतिविधि के साथ व्यस्त हो सकता है जब यह भी स्वीकार नहीं करता बाह्य संकेत ( सुनने ) के रूप में आदानों .
सेलुलर ऑटोमेटा नियमों के Conway's "Game of Life" में कार्यान्वित किया जा सकता है तंत्रिका एक नेटवर्क है , जो आपको एक छोटा की विविधता का संकेत मिलता है कि हो सकता है गतिविधि में तंत्रिका छोरों नेटवर्क के साथ है .
परिमित राज्य के (FSM) मशीनों , oscillators , वाष्पशील स्मृति ( पैटर्न के विपरीत शिक्षा के माध्यम से बदल वजन ) के द्वारा ही संभव बनाया पाशन हैं .
यदि छोरों ने एक नेटवर्क है , हम किसी भी outputs अद्यतन नहीं कर सकते जब तक हम सभी गणना outputs ; इस प्रकार , हमें एक अस्थायी बफर अभिकलन outputs स्टोर करने के लिए जब तक हम सभी outputs गणना है , और सुपुर्द कर सकते हैं तो हम नया निर्गम मूल्यों को न्यूरॉन्स नेटवर्क में है .
कोई भी तरीका है कि अद्यतन outputs में वास्तविक नेटवर्क में एक प्रगतिशील तरह के बजाय एक बार में सभी तरह से परिचय एक आदेश में मनमानी का नेतृत्व करने के लिए समय है कि अराजकता है .
भौतिकी सिमुलेशन युग्मित संस्थाओं को शामिल हैं , जैसे ग्रहों की परिक्रमा एक स्टार के साथ पारस्परिक गुरुत्वाकर्षण बलों के बीच सभी निकायों में एक ही तरह के दृष्टिकोण की आवश्यकता है : गणना के शुद्ध बलों पर अद्यतन करने से पहले सभी निकायों वेग और किसी भी स्थिति है .
समय निर्भरता :
एक सरल नेटवर्क के अनुकरण के कारण आमतौर शामिल निवेश इच्छित outputs के बाद एक ही समय अनुकार कदम है .
ऐसी अनुकरण , हमें लगता है कि "संख्या" की दृष्टि से "समय" के बजाय "iterations सेकंड में" है .
इसमें किसी भी पत्राचार की आवश्यकता नहीं होती है और एक समय के पैमाने के बीच iterations .
एक सिस्टम से तैयार हो सकता है अनुकरण करने के लिए एक नेटवर्क ( iteration ) ही उपलब्ध है जब नए निवेश है , जो शायद होने के समय के अंतराल पर अनियमित है .
लेकिन , एक गणितीय विचार न्यूरॉन है कि एक मॉडल के प्रयासों को सिमुलेट स्पंदन के उत्पादन का एक पहलू जैविक न्यूरॉन .
स्पंदन हो सकता है इस विशेषता के रूप में समय , जैसे स्पंदन पर एक विशेष आवृत्ति वक्र या जिनके पास दालों की राशि विस्तार के लिए किसी विशेष समय है .
हम कर सकते हैं समय निर्भर अन्य तत्वों में एक गणितीय न्यूरॉन के एक मॉडल है , जैसे एक इनपुट संचायक जिसका मूल्य योगदान जाता है लेकिन लीक से निवेश करने के लिए अपने वर्तमान मूल्य आनुपातिक है .
सामान्य तौर पर , हम पा सकते हैं सादृश्य के लिए एक विद्युत परिपथ के कुछ तत्वों का पालन कि गणितीय समीकरण है , और ऐसा कर सकते हैं संबंध में से एक के रूप में सर्किट के साथ एक न्यूरॉन प्रतिरोधों , capacitors , और एक अरैखिक प्रवर्धक .
बस के रूप में प्रदर्शित कर सकते हैं जटिल सर्किट समय निर्भर व्यवहार , एक न्यूरॉन के उत्पादन में किया जा सकता है एक समारोह माना जाता है कि अपने निवेश पर निर्भर करता है और समय में एक जटिल तरीके से .
5.9 पिछड़ा त्रुटि प्रसार
परिभाषा :
"पिछड़ा" गणितीय प्रक्रिया में एक "त्रुटि" है कि "प्रसार" के साथ शुरू में त्रुटि के उत्पादन में एक नेटवर्क और तंत्रिका propagates नेटवर्क के माध्यम से इस त्रुटि को पीछे की उपज त्रुटि निर्गम मूल्यों के लिए सभी न्यूरॉन्स नेटवर्क में है .
पिछड़ा प्रसार सूत्रों त्रुटि :
इस त्रुटि के मूल्यों में तंत्रिका outputs नेटवर्क का उपयोग कर रहे हैं अभिकलन सूत्र निम्नलिखित हैं :
Error = (Output - Desired); // Derived from: Output = Desired + Error;
संचय में एक त्रुटि है न्यूरॉन शरीर के अनुसार समायोजित के उत्पादन में न्यूरॉन के शरीर और निर्गम त्रुटि ( निर्दिष्ट द्वारा न्यूरॉन के शरीर से जुड़े लिंक्स ) .
निर्गम मूल्य का योगदान करने के लिए प्रत्येक त्रुटि त्रुटि संचायक से इस प्रकार है :
ErrorAccumulator += Output * (1 - Output) * OutputError;
एक मायने में उत्पादन के सभी त्रुटियों के पीछे की लीक पर अगले परत के माध्यम से निवेश पर संचित है और वजन के उत्पादन में पिछले एक न्यूरॉन में एक परत .
मूल्य से गुणा द्वारा संचित है , यह एक महान मूल्य है कि जब वर्तमान उत्पादन का सबसे तटस्थ न्यूरॉन है ( सबसे "अनिर्णीत" ) और कम से कम होता है जब उत्पादन के सबसे चरम न्यूरॉन है ( बहुत "कुछ" है ) .
वज़न में परिवर्तन और बदलाव पूर्वाग्रह सूत्र :
सीखने के आधार है और पक्षपात के समायोजन के भार को कम करने के प्रयास में मूल्यों के भविष्य के उत्पादन त्रुटियाँ हैं .
सीखना है संख्यात्मक मूल्य "दर" का संकेत है कि कितनी जल्दी एक अनिवार्य रूप से समायोजित न्यूरॉन वजन और पूर्वाग्रह मूल्यों के अनुसार मूल्यों त्रुटि .
निम्न से संकेत फार्मूले को कैसे बदल न्यूरॉन एक का वजन के साथ एक विशेष सेट के मूल्यों और इसके इनपुट त्रुटि निर्गम मूल्य :
Weight += (-1) * Rate * Input * Error;
निम्न से संकेत फार्मूले को कैसे बदल दिया न्यूरॉन पूर्वाग्रह के वर्तमान उत्पादन के लिए न्यूरॉन त्रुटि :
Bias += (-1) * Rate * Error;
6. प्रशिक्षण का एक नेटवर्क तंत्रिका
6.1 प्रशिक्षण प्रक्रिया
एक के साथ एक प्रशिक्षित नेटवर्क शुरू कर सकते हैं और जारी रखने के उत्पादन को कम करने के लिए प्रशिक्षण त्रुटि के साथ आगे हैं , लेकिन एक बार शुरू नेटवर्क के साथ एक अप्रशिक्षित .
इससे पहले प्रशिक्षण , यादृच्छिक चयन के लिए सभी मूल्यों का वजन सभी न्यूरॉन्स नेटवर्क में है .
मैं समस्याओं को देखा , जब मैं अनियमित रूप में चुना मूल्यों अंतराल [ -1.0, +1.0 ] , और मैं नहीं है जब मैं समस्याओं का चयन यादृच्छिक मूल्यों के अंतराल से [ +0.1, +1.0 ] .
मैं इन टिप्पणियों का उल्लेख है , लेकिन वे मेरी गलतियों की वजह से हो सकता है .
यादृच्छिक का उद्देश्य है वजन कम करने की संभावना की स्थिति में किसी भी रोग का एक नेटवर्क है .
यदि सभी न्यूरॉन्स में एक नेटवर्क भार उसी के साथ शुरू में , नेटवर्क में नहीं होगा आधार बढ़ाने के लिए न्यूरॉन्स के बीच भिन्नता है .
मैं ने कहा कि सभी सेटिंग पूर्वाग्रह मूल्यों को शून्य (0.0) स्वीकार्य है .
एक प्रशिक्षण सत्र में शामिल रहे एक प्रशिक्षण के माध्यम से कई बार सेट है , शायद सैकड़ों या हजारों बार .
पास के प्रशिक्षण के माध्यम से प्रत्येक के लिए निर्धारित है , हम प्रत्येक वस्तु पर विचार के प्रशिक्षण में सेट है .
प्रशिक्षण का एक सेट है मद निवेश का एक सेट है , और वांछित outputs का एक सेट है .
हम सिमुलेट नेटवर्क का उपयोग करते हुए निर्धारित आदानों द्वारा निर्दिष्ट प्रशिक्षण मद है .
अनुकार निर्गम मूल्यों की पैदावार है .
हम त्रुटियों के प्रचार के पीछे विचार करने के लिए नेटवर्क के तंत्रिका गणना के उत्पादन के लिए सभी त्रुटियों के न्यूरॉन्स .
हम सभी का अद्यतन और वजन biases .
सतर्कता : एक शैक्षिक पाठ पर चर्चा की है कि तंत्रिका नेटवर्क के माध्यम से पूरी की वकालत की जा रही है और केवल प्रशिक्षण के सेट अप summing परिवर्तन और वजन biases .
प्रशिक्षण के माध्यम से जाने के बाद पूरे सेट हमने रकम का वजन का एक सेट में परिवर्तन और बदलाव का रुझान है .
रकम लेने और हम इन सभी का अद्यतन और वजन biases .
भारी रकम के लिए किया जा सकता है इस तरह के प्रशिक्षण की बड़ी सेट -- कूद और जिसके परिणामस्वरूप वजन में बड़े मियाँ की जगह होगी .
इसलिए मुझे लगता है कि विभाजन की संख्या के द्वारा प्रशिक्षण आइटम , औसत वजन प्राप्त करने के मूल्यों में परिवर्तन और बदलाव पूर्वाग्रह औसत मान , उचित होगा .
अपील के बारे में भी कुछ होता है अभिकलन एक ही वजन सदिश बदल लेता है कि किसी तरह का प्रशिक्षण पूरा करने के लिए सेट में विचार करें .
मैं नहीं जानता कि मैं तो बस गलती को लागू करने में विचार है , लेकिन मैं ने लगभग पूरी तरह से तंत्रिका पर नेटवर्क के कारण कैसे खराब चीजों की ओर से बाहर थे .
तब , जब मैं निष्कपट वैकल्पिक की कोशिश की है , जिनके नाम पर हर अद्यतन बनाने के प्रशिक्षण के मद में , बातें बिल्कुल काम किया है .
प्रशिक्षण को ध्यान में पूरी कर रहे एक अद्यतन स्थापित करने से पहले कुछ फायदे और नुकसान :
लाभ :
प्रशिक्षण के एकल सेट के साथ आइटम के प्रशिक्षण में त्रुटि अतिवादी ( यानी , खराब प्रशिक्षण आइटम ) नहीं होगा बनाने के लिए अद्यतन एक बड़ा योगदान है , क्योंकि यह होगा अधिक डेटा के प्रभाव का "अच्छा" है ;
नुकसान :
यदि N है मदों की संख्या में अपने प्रशिक्षण के सेट हैं , तो आपका प्रगति की दर को इष्टतम वजन सदिश N विभाजित किया जाएगा .
या , आप के लिए एक निश्चित दूरी का एक हिस्सा होगा केवल दिशा संकेत के साथ जिस तरह से तुलना की निष्कपट दृष्टिकोण ;
शायद आप इस तकनीक के लिए काम करेंगे , लेकिन कोशिश की निष्कपट दृष्टिकोण से पहले आप दे तंत्रिका नेटवर्क पर हताशा में बोलना है !
6.2 विफलता को कम करने में त्रुटि
मई को कम करने में विफल रहता है प्रशिक्षण के समग्र त्रुटि के प्रशिक्षण के लिए निर्धारित है .
यह महत्वपूर्ण है विफलता को कम करने का पता लगाने के लिए एक त्रुटि .
निम्न सूची का वर्णन त्रुटि को कम करने के लिए विफलता का कारण बनता है , और समाधान संभव है .
मदों की सूची में अनुमानित क्रम में सूचीबद्ध हैं संभावना है , के साथ संभावित सबसे पहला मद की जा रही है .
( 1 ) के संयोजन वजन तक पहुँच गया है एक स्थानीय न्यूनतम त्रुटि की सतह , और "अटक" जाता है ;
समाधान : आरंभ अनुकरण के साथ एक नई नई यादृच्छिक भार है .
( 2 ) ने भी इस नेटवर्क न्यूरॉन्स कुछ या सभी परतों को encode के पैटर्न में अपने प्रशिक्षण के सेट ;
समाधान : सावधानी से जोड़ने का मनोरंजन की संभावना की परत या न्यूरॉन्स .
( 3 ) में एक या अधिक आइटम अपने निर्धारित contradicts या प्रशिक्षण के साथ असंगत है भारी अपने अन्य मदों के प्रशिक्षण ;
समाधान : अनियमितताओं की जाँच के लिए अपने आंकड़ा समुच्चय है .
परीक्षण के परिणाम वस्तुओं का पता लगाएं , जो आपके लिए सबसे अधिक प्रशिक्षित नेटवर्क त्रुटि .
देखो में परिवर्तन करने की तकनीकों के औसत वजन पूरे आंकड़ा समुच्चय के प्रभाव को कम करने के लिए किसी भी खराब है .
( 4 ) सीखने की दर बहुत अधिक है ( शायद जरूरत से ज्यादा कुछ भी अधिक 1.0 है ) , और हमेशा अद्यतन overshoot लक्ष्य ;
समाधान : सीखने की दर में कमी है .
( 5 ) सीखने की दर बहुत कम है ( नीचे 0.01 कुछ भी हो सकता है बहुत छोटा ) , और वास्तव में है converging नेटवर्क पर आदर्श वजन संयोजन -- लेकिन बहुत धीमी है ;
समाधान : सीखने की दर बढ़ाएँ .
परत प्रशिक्षण दो , तीन न्यूरॉन के नेटवर्क से मेल खाने के लिए विशेष समारोह या (xor) , कर सकते हैं , के बावजूद इस समारोह का साधारण , अभिसरण करने में विफल रहता है .
यह आश्चर्य की बात की जा सकती है और frustrating .
लेकिन , इसका समाधान करने के लिए बस सेट करने के लिए सभी न्यूरॉन कड़ी वजन और फिर नए यादृच्छिक मूल्यों के नेटवर्क को प्रशिक्षित करने के लिए प्रयास करें .
प्रशिक्षण के मामले में एक नेटवर्क से मेल खाने के लिए समारोह के विशिष्ट या (xor) , यादृच्छिक सकारात्मक वजन लगता है सफल सीखने के लिए हर समय , जबकि कुछ संयोजन के सकारात्मक और नकारात्मक वजन के प्रशिक्षण के विफल होने का कारण कभी कभी नाटकीय है .
इस आवश्यकता को चुनने के लिए नए यादृच्छिक वसूल करने के लिए प्रारंभिक भार से एक है अभिसरण विफलता के लिए एक दुर्भाग्यपूर्ण परिणाम के संयोजन के सीखने की प्रक्रिया है .
इस खोज के लिए अनिवार्य रूप से सीखने की प्रक्रिया के द्वारा steepest मूल के कम से कम एक विश्व की सतह पर , और क्षमता के लिए एक "स्थानीय न्यूनतम" की मौजूदगी में हो सकते हैं जो खोज को फँसा है .
6.3 कुल मिलाकर प्रशिक्षण त्रुटि
समग्र त्रुटि के एक नेटवर्क के द्वारा किया जा सकता है विशेषता वर्ग के रूट के औसत squared त्रुटियों , या "वर्ग के रूट का मतलब है" (RMS) .
इस त्रुटि को किसी भी विशिष्ट उत्पादन नेटवर्क के द्वारा दी जाती है सूत्र निम्नलिखित हैं :
Error = (Output - Desired);
इस राशि के squared त्रुटियों के लिए एक ही प्रशिक्षण दिया जाता है मद द्वारा निम्नलिखित सूत्र :
double squaredError = 0.0;
foreach (NeuralNetworkOutput output in ListOfOutputs)
{
squaredError += (output.Error * output.Error);
}
इस राशि के पूरे सेट squared त्रुटियों के लिए मदों की एक प्रशिक्षण में सेट का योग है squared त्रुटियों के व्यक्तिगत आइटम हैं . निम्नलिखित कोड से पता चलता है कि किस तरह squared त्रुटियों के लिए प्रशिक्षण पूरा सेट मदों का अभिकलन किया जा सकता है :
double squaredError = 0.0;
for
(
int trainingItemIndex = 0;
trainingItemIndex < totalTrainingItems;
trainingItemIndex++
)
{
trainingSet.SetAllInputNodeValues( trainingItemIndex );
Simulate( propagationIterations );
trainingSet.SetAllOutputNodeErrorValues( trainingItemIndex );
PropagateErrors( propagationIterations );
UpdateWeightsAndBiases();
foreach (NeuralNetworkOutput output in ListOfOutputs)
{
squaredError += (output.Error * output.Error);
}
}
समग्र रूट के अर्थ में त्रुटि वर्ग (RMS) के द्वारा दी जाती है वर्गमूल के औसत के squared त्रुटियाँ हैं :
double rmsError = Math.Sqrt( squaredError / (double)totalTrainingItems );
मूल्य से एक है यह तरीका characterize के समग्र त्रुटि के प्रशिक्षण के एक नेटवर्क के सभी मामलों पर विचार .
7. सीखना
तब होती है जब अध्ययन के वजन और पूर्वाग्रह न्यूरॉन मूल्यों के संबंध में समायोजित कर रहे हैं और न्यूरॉन निकायों के अनुसार निर्दिष्ट नेटवर्क और निवेश निर्गम मूल्यों त्रुटि .
जरा एक तंत्रिका नेटवर्क के साथ दो निवेश ( x1 और x2 ) , और दो लिंक ( w1 और वजन के साथ w2 ) , और एक न्यूरॉन शरीर , और एक आउटपुट (y) .

तंत्रिका आदानों नेटवर्क के साथ दो , और एक न्यूरॉन शरीर , और एक आउटपुट
हम इस ट्रेन द्वारा न्यूरॉन आदानों की आपूर्ति , कंप्यूटिंग के उत्पादन , कंप्यूटिंग के त्रुटि , वजन और पूर्वाग्रह कंप्यूटिंग में परिवर्तन , और अद्यतन करने के वजन और पूर्वाग्रह , पहुंचने पर नए वजन ( w1', w2' ) .
यह एक बहुत ही रोचक तरीके से इस प्रक्रिया को visualize .
हम इस संबंध स्थापित कर सकते हैं भार के रूप में वेक्टर में एक बहुआयामी स्थान है . उदाहरण के लिए , वजन के लिए हमारे पास दो सदिश W = (w1, w2) में दो आयामी "वजन स्थान है" .
जब वजन समायोजित कर रहे हैं , हमने एक नया वजन सदिश W' = (w1',w2') .
हम कर सकते हैं visualize इस बिंदु के रूप में चलती W करने के लिए एक नई बात W' के हिस्से के रूप में कम से कम करने के उत्पादन की प्रक्रिया में एक त्रुटि .
आम तौर पर एक गणना नहीं की उत्पादन के लिए सभी संभव त्रुटि वजन संयोजन है , क्योंकि इस आशा यह है कि वजन होगा कुशलतापूर्वक समायोजन प्रक्रिया की ओर सिर के सर्वश्रेष्ठ संयोजन है .
तथापि , हमें साजिश की सतह को कितनी अच्छी तरह से पता चलता है कि अनिवार्य रूप से एक न्यूरॉन satisfies सभी आइटम में एक प्रशिक्षण के रूप में स्थापित एक समारोह में अपने दो वजन :

squared त्रुटियों की राशि के लिए एक निर्धारित प्रशिक्षण के रूप में एक समारोह के दो सेट वजन (w1, w2)
मूल रूप से , इस लक्ष्य को सीखने के लिए उतरना है सबसे कम करने के लिए इस स्तर की सतह , जहां कम से कम त्रुटि है .
एक बार जब हम देखते हैं कि W = (w1, w2) बात की पैदावार की न्यूनतम मूल्य पर इस सतह , सीखने की समाप्त हो गया और बस का उपयोग कर सकते हैं तो हम प्रशिक्षित न्यूरॉन .
निम्न से पता चलता है ग्राफ के उत्पादन में एक प्रशिक्षित न्यूरॉन के रूप में एक समारोह के सभी संभव आदानों X = (x1, x2) :

न्यूरॉन निर्गम के रूप में एक समारोह में दो (x1, x2) निवेश के लिए एक संयोग है कि वजन कम squared त्रुटि
भारित हालांकि इस राशि के लिए दो बस (w1*x1 + w2*x2) इनपुट न्यूरॉन है , एक साधारण घुमाया मुड़ता सक्रियण समारोह में एक विमान चट्ठान है .
यह सही है सतह सभी के लिए निवेश निर्गम मूल्यों के संयोजन के द्वारा निर्दिष्ट (x1, x2) हमारे प्रशिक्षण सेट है .
लेकिन आप कल्पना कर सकते हैं कि कैसे वैक्टर X = (x1, x2) इनपुट के समान मूल्यों को भी प्रशिक्षण के लिए उत्पादन के उचित मूल्यों ; इस सुविधा के तंत्रिका नेटवर्क है और कहा जाता है "सामान्यीकरण" की मुख्य मूल्य के तंत्रिका नेटवर्क है .
जैसा कि हम "उतरना" करने की कोशिश की सतह squared त्रुटि है , तो हमें "छलांग लगाने से पहले हम देखते हैं" !
हम अद्यतन के वजन और सदिश पूर्वाग्रह , और फिर हम मूल्यांकन की "ऊँचाई" की सतह पर हमारी नई स्थान है .
एक परिणाम यह है कि हम शायद इस कदम को एक बिंदु के साथ एक अधिक चरम त्रुटि .
एक अन्य परिणाम यह है कि यह समय ले सकती है उतरना को वापस की गहराई हमारे पिछले स्थान है .
"leaping" की संभावना को और अधिक कठोर और घाटियों की चोटियों पर त्रुटि सतह से संबंधित है सीधे "सीखने" की "दर" , क्योंकि सीखने की दर निर्धारित करता है कितना प्रभाव त्रुटि के मूल्यों पर हमारे पास वजन और पूर्वाग्रह परिवर्तन करें .
निम्न से पता चलता है कि किस तरह ग्राफ सीखने की दर बढ़ाने के आगमन पर उतावली हमारे निचले स्थानों पर सतह squared त्रुटि है , जहां कम से कम त्रुटि है .
इस ग्राफ भी पता चलता है कि सीखने की दर बढ़ाने की भी परिचय बनाने की संभावना की खराब कदम उठाएँ :

अल्पावधि के रूट की प्रवृत्ति का अर्थ - squared (RMS) त्रुटि के लिए प्रशिक्षण पूरा सेट पर कई प्रशिक्षण iterations , सीखने की दरों के लिए 0.1 , 0.5 , 1.0 , और 2.0 .
यहां एक ग्राफ के रूट - - squared निर्गम त्रुटि का अर्थ है एक बहु परत नेटवर्क के साथ एक सेट के साथ प्रशिक्षण 19386 आइटम है कि बुरे अनुभव के कई चरणों के रास्ते पर भार के सर्वश्रेष्ठ वैक्टर :

कभी कभी मुठभेड़ों में प्रशिक्षण spikes रूट - - squared (RMS) त्रुटि का अर्थ है , जब कुछ त्रुटि के लिए बढ़ता है iterations शुरू करने से पहले कम एक प्रवृत्ति है .
कभी कभी बस की प्रवृत्ति है चिकनी अभिसरण सेट करने के लिए अपेक्षित वजन :

प्रवृत्ति की जड़ से मतलब - squared (RMS) त्रुटि के लिए प्रशिक्षण पूरा सेट पर कई प्रशिक्षण iterations , सीखने की दरों के लिए 0.1 , 0.5 , 1.0 , और 2.0 .
8. उदाहरण : विशिष्ट या (xor)
"विशेष या" (xor) है कि एक समारोह में दो स्वीकार बूलियन निवेश निर्गम बूलियन एक और पैदावार में निम्नलिखित सारणी के अनुसार :
|
X1
|
X2
|
Y = xor ( X1 , X2 )
|
|
0
|
0
|
0
|
|
0
|
1
|
1
|
|
1
|
0
|
1
|
|
1
|
1
|
0
|
सामान्य तौर पर , एक ही है न्यूरॉन आदानों {x1, x2, ...} , वजन के साथ संपर्क के माध्यम से प्रवेश {w1, w2, ...} .
इस न्यूरॉन computes एक मध्यवर्ती d = bias + (w1*x1 + w2*x2 + ...) मात्रा है , जो किया जा सकता है जो विमान की पहचान माना जाता है , में एक अनन्त सेट के समानांतर विमानों , निर्दिष्ट में एक बिंदु के साथ समन्वय {x1, x2, ...} .
यह एक न्यूरॉन computes निर्गम मूल्य , y = ActivationFunction( d ) , जो विभाजन के प्रभाव का अनन्त के समानांतर सेट करने के लिए दो विमानों में सेट है , उत्पादन कम उत्पादन के साथ एक सेट मान , और दूसरे सेट का उत्पादन उत्पादन उच्च मूल्यों .
इस प्रकार , एक बहुआयामी न्यूरॉन विभाजित करने के लिए अंतरिक्ष में दो क्षेत्रों में अलग विमान द्वारा bias + w1*x1 + w2*x2 + ... = 0 , उत्पादन कम है और इस क्षेत्र में मूल्यों के अंक को एक ओर के विमान , आउटपुट है और उच्च मूल्यों को इस क्षेत्र में बिंदुओं पर सामने की ओर विमान की है .
इसलिए , यदि सेट दो अंकों में बहुआयामी विशिष्ट स्थान है वर्गीकरण किया जा सकता है और एक विमान द्वारा पूरी तरह से अलग है , तो एक भी इस्तेमाल किया जा सकता है न्यूरॉन को सही ढंग से वर्गीकृत से उन अंकों के रूप में सेट जो एक या दूसरे सेट है .
इस विशेष समारोह में वर्गीकृत किया या (xor) अंक में दो आयामी स्थान ( निर्देशांक (x1, x2) के साथ ) में कहते हैं कि इस तरह के सेट हैं { (0,0), (1,1) } आउटपुट के रूप में वर्गीकृत उत्पादन एक "0" , और कहते हैं { (0,1), (1,0) } सेट में एक उत्पादन के उत्पादन के रूप में वर्गीकृत "1" .
"विमान" ही नहीं है ( इस मामले में , एक पंक्ति ) अलग कर सकते हैं कि उन चार बिंदुओं में से दो सेट है .
इसलिए , किसी एक न्यूरॉन को वर्गीकृत करने के लिए प्रयोग नहीं किया जा सकता अंक के अनुसार समारोह के विशिष्ट या (xor) .
एक एकल विभाजन न्यूरॉन कर सकते हैं केवल एक अंतरिक्ष के क्षेत्र में दो अंकों में .
इस विशेष समारोह में वर्गीकृत किया या (xor) अंक में एक तरीके से अनिवार्य रूप से विभाजित है कि एक दो आयामी अंतरिक्ष में से तीन क्षेत्रों ( या , वैकल्पिक रूप से , चार क्षेत्रों ) .
विभाजित कर सकते हैं न्यूरॉन्स दो आयामी अंतरिक्ष में दो से तीन क्षेत्रों ( eg , दो अलग लाइनों के समानांतर ) , और इस प्रकार प्रयोग किया जा सकता है अंकों को वर्गीकृत करने के लिए विशेष के अनुसार कार्य या (xor) .
एक तिहाई न्यूरॉन करने के लिए प्रयोग किया जा सकता है outputs के गठबंधन के अन्य दो में से एक भी न्यूरॉन्स निर्गम .
निम्नलिखित तंत्रिका नेटवर्क , आदानों के साथ दो , और एक दो न्यूरॉन निकायों में पहली परत है , और एक दूसरे परत न्यूरॉन में एक , और एक ही उत्पादन , को वर्गीकृत करने के लिए प्रयोग किया जा सकता है अंकों के अनुसार समारोह के विशिष्ट या (xor) .
निम्नलिखित तंत्रिका नेटवर्क करने के लिए प्रशिक्षित किया जा सकता है या तो गणना के अनन्य या (xor) समारोह में , नेटवर्क बना सकते हैं या तांत्रिक ने अपने वजन और पूर्वाग्रह मूल्यों में एक नियत तरीके से उत्पन्न करते हैं कि वांछित व्यवहार है .

एक नेटवर्क में सक्षम तंत्रिका वर्गीकरण के अनुसार विशेष अंक या (xor)
इस कोड के साथ जुड़े कम्प्यूटर प्रशिक्षण के इस दस्तावेज़ को दर्शाता तंत्रिका नेटवर्क में दिखाया गया चित्र के ऊपर से मेल खाने के लिए विशेष समारोह या (xor) .
इस नेटवर्क तंत्रिका जानने के लिए कभी कभी विफल इस समारोह है , लेकिन फिर सॉफ्टवेयर करने का प्रयास किया जा सकता है बस सीखने के साथ एक नया सेट के शुरुआती भार है .
यदि सॉफ्टवेयर सफलतापूर्वक सीख के अनन्य या (xor) समारोह , तो निम्न जुलता आउटपुट है :
x1 = 0.0000 x2 = 0.0000 y = 0.0172 error = 0.0172
x1 = 1.0000 x2 = 0.0000 y = 0.9802 error = -0.0198
x1 = 0.0000 x2 = 1.0000 y = 0.9839 error = -0.0161
x1 = 1.0000 x2 = 1.0000 y = 0.0154 error = 0.0154
इस उत्पादन के भीतर (y) है % 2 के प्रत्येक के लिए वांछित मूल्य के चार संयोजन के (x1, x2) चर .
यद्यपि इस नेटवर्क को प्रशिक्षित किया गया था जानने के उत्पादन के लिए केवल चार मूल्यों के संयोजन के लिए विभिन्न ( 0.0 और मूल्यों के साथ 1.0 का प्रतिनिधित्व बूलियन मान ) , आदानों के तंत्रिका नेटवर्क सेट किया जा सकता है मनमानी करने के लिए किसी भी चल बिन्दु मान .
निम्न से पता चलता है छवि के उत्पादन में प्रशिक्षित तंत्रिका के नेटवर्क के लिए कई मूल्यों के संयोजन के इनपुट :

एक नेटवर्क में सक्षम तंत्रिका वर्गीकरण के अनुसार विशेष अंक या (xor)
सतह का प्रतिनिधित्व करता है उत्पादन के तंत्रिका नेटवर्क के लिए सभी संभव इनपुट (x1, x2) संयोजन में [ -2.0, +2.0 ] पर्वतमाला है .
इस उत्पादन में करीब 0.0 पर सतह के क्षेत्रों में कम है , और उत्पादन में करीब 1.0 को उच्चतम क्षेत्रों की सतह .
ध्यान दें कि सतह पर अंक कम है { (0,0), (1,1) } के लिए , और उच्च की सतह पर अंक { (0,1), (1,0) } है .
इस नेटवर्क का निर्माण करने के लिए प्रशिक्षित किया गया था केवल वांछित outputs के संयोजन के लिए चार विशिष्ट इनपुट चर , लेकिन तंत्रिका नेटवर्क भी उत्पन्न outputs के लिए अन्य सभी इनपुट मूल्यों के संयोजन संभव है .
इस क्षमता का निर्माण करने के लिए उचित तंत्रिका नेटवर्क के लिए सामान्य प्रतिक्रिया के बाद मामलों के लिए प्रशिक्षित किया जा रहा विशिष्ट मामलों "सामान्यीकरण" माना जा सकता है .
कोई भी इस प्रक्रिया में रखना बिन्दुओं को एक मॉडल है , जैसे ढाले अंकों या अन्य किसी वक्र रेखा से , एक भी उत्पन्न "generalizing" प्रभाव है , इसलिए इस तथ्य है कि एक ढाले तंत्रिका outputs नेटवर्क के उत्पादन के लिए वांछित परिणाम में एक सबक के लिए विशेष प्रकार का सामान्यीकरण नहीं है असाधारण है , लेकिन फिर भी दिलचस्प यह देखने के लिए व्यापक क्षमता को विशिष्ट मामलों में से है .
9. उदाहरण : Tic-tac-toe ( "Naughts और पार" )
9.1 परिचय
Tic-tac-toe ( "Naughts और पार" ) एक सरल खेल पर खेला 3 * 3 ग्रिड की कोशिकाओं से चिह्नित किया जा सकता है कि "O" या "X" .
एकांतर "O" और खिलाड़ी स्थान खाली "X" अंक में कोशिकाओं तक एक के खिलाड़ियों ने एक पंक्ति , कॉलम , या विकर्ण .
3 पंक्तियों के कारण होते हैं , और 3 कॉलम , और 2 विकर्णों हैं पैटर्न आठ जीतने के लिए हर खिलाड़ी है .

Tic-Tac-Toe बोर्ड और जीतने के पैटर्न
यह लिखने के लिए एक तुच्छ पुनरावर्ती explores समारोह में सभी संभव है कि Tic-Tac-Toe खेल है , क्योंकि इस खेल की अधिकतम अवधि नौ कदम है .
प्रत्येक बिन्दु पर हम इस खेल में जांच के परिणाम चलती बस में प्रत्येक के शेष खाली कोशिकाओं .
इस तरह के एक समारोह की पुष्टि कर सकते हैं कि एक Tic-Tac-Toe के साथ खेल खेला "सिद्ध" नहीं विजेता "खिलाड़ियों" के साथ समाप्त होगा .
9.2 प्रशिक्षण का एक नेटवर्क तंत्रिका करने के लिए सबसे अच्छा कदम
पुनरावर्ती एक समारोह में सभी संभव हो सकता है तलाशने का सबसे अच्छा खेल और निर्धारित प्रत्येक बोर्ड के विन्यास के लिए कदम है .
हम प्रत्येक जोड़ने के विन्यास बोर्ड ( निवेश ) , और सबसे अच्छा कदम ( वांछित outputs ) , प्रशिक्षण के लिए मदों की एक सूची है .
हम तो ट्रेन नेटवर्क के उत्पादन के लिए वांछित outputs प्रत्येक के लिए निर्धारित आदानों .
यह नेटवर्क होगा 9 निवेश करने के लिए इसी प्रत्येक कोशिका के ग्रिड , और मूल्यों का निवेश किया जाएगा सीमित करने के लिए निम्न मान :
0 : खाली कोशिका
+1 : पात्र खिलाड़ी
-1 : विरोधी खिलाड़ी
यह नेटवर्क होगा 9 outputs इसी प्रत्येक कोशिका के ग्रिड , और निर्गम मूल्यों तक ही सीमित रहेगा निम्न मान :
0 : क्या कदम नहीं यहाँ
1 : यहाँ स्थानांतरित
आठ outputs जाएगा "0" पर सेट , और एक सेट करने के लिए "1" उत्पादन किया जाएगा .
इस प्रकार , तंत्रिका नेटवर्क के प्रशिक्षण के बाद , एक बोर्ड विन्यास निवेश के रूप में निर्दिष्ट किया जा सकता है , और तंत्रिका नेटवर्क का संकेत का सबसे अच्छा कदम होगा .
इस उत्पादन के लिए निकटतम "1" कदम का सबसे अच्छा संकेत जाएगा , और अन्य सभी outputs करीब "0" होना चाहिए .
सामान्य तौर पर , किसी भी काम परिमाणों बूलियन के साथ किया जा सकता है और बूलियन outputs प्रतिनिधित्व तंत्रिका नेटवर्क के साथ एक दो परतों के न्यूरॉन्स .
पहला परत के न्यूरॉन्स की बहुआयामी अंतरिक्ष में विभाजित कर सकते हैं क्षेत्रों के लिए है , और इस क्षेत्र की दूसरी परत का मेल वर्गीकरण के उत्पादन के लिए उचित मूल्यों निर्गम .
इस नेटवर्क का उत्पादन Tic-Tac-Toe तंत्रिका बूलियन outputs , और यद्यपि आदानों ने तीन राज्यों ( -1, 0, +1 ) , हम कर सकते हैं , princple में , ये कुछ असतत परिवर्तित करने के लिए निवेश का एक सेट बूलियन मान आदानों .
इसलिए , दो परतों के न्यूरॉन्स की जानी चाहिए Tic-Tac-Toe जानने के लिए पर्याप्त है .
क्योंकि outputs नेटवर्क ने 9 , 9 हैं न्यूरॉन निकायों में अंतिम ( द्वितीय ) परत .
केवल शेष है तंत्रिका नेटवर्क के डिजाइन का निर्णय लेने के फैसले की संख्या को न्यूरॉन निकायों के पहले परत के तंत्रिका नेटवर्क है .
इस निर्णय बनाने के लिए , कंप्यूटर कोड उत्पन्न कर सकते हैं और एक रेल नेटवर्क के साथ तंत्रिका N न्यूरॉन्स में पहली परत .
इस क्षमता के तंत्रिका नेटवर्क जानने के लिए प्रशिक्षण के लिए निर्धारित की पूरी Tic-Tac-Toe का रेखांकन किया जा सकता है .
निम्न से पता चलता है ग्राफ के समग्र प्रशिक्षण के लिए प्रशिक्षण के दौरान त्रुटि सेट प्रत्येक 48 तंत्रिका अलग नेटवर्क के साथ N = 1,2,...,48 न्यूरॉन्स में पहली परत .

कुल मिलाकर प्रशिक्षण के दौरान त्रुटि सेट प्रशिक्षण , N = 1,2,...,48 के लिए न्यूरॉन्स में पहली परत ( N = 1 में सबसे ऊपर है , और N = 48 के नीचे स्थित है , और सबसे कम हैं मध्यवर्ती curves के लिए उच्च मूल्यों के N )
एक और तरीका है visualize इस प्रवृत्ति के रूप में की सतह से curves अनुक्रम :

कुल मिलाकर प्रशिक्षण के दौरान त्रुटि सेट प्रशिक्षण , N = 1,2,...,48 के लिए न्यूरॉन्स में पहली परत ( N = 1 के पीछे है , और N = 48 के मोर्चे पर है )
इस प्रकार हम देखते हैं कि हम दृष्टिकोण के रूप में पहली N = 48 न्यूरॉन्स परत में , नेटवर्क में लगता है प्रशिक्षण के सभी मामलों को स्वीकार करने में सक्षम है .
48 न्यूरॉन्स का स्तर कुछ कम लगता है यह जानने के लिए अपर्याप्त पूरा सेट के मामले हैं .
कम संख्या में न्यूरॉन्स के लिए , प्रत्येक अतिरिक्त काफी कम न्यूरॉन के समग्र त्रुटि .
लेकिन , जब की संख्या करीब है न्यूरॉन्स की संख्या जानने की आवश्यकता पूरी करने के लिए सेट सबक है , प्रत्येक अतिरिक्त न्यूरॉन ही कम एक त्रुटि के अपेक्षाकृत छोटी राशि है .
निम्नलिखित छवि से पता चलता है तंत्रिका नेटवर्क के साथ एक आदानों 9 , 48 और न्यूरॉन निकायों के पहले परत , और 9 न्यूरॉन निकायों में एक दूसरे परत , और 9 outputs .

एक नेटवर्क में सक्षम तंत्रिका सीखने खेलने के लिए tic-tac-toe
इस कंप्यूटर कोड के साथ जुड़े इस दस्तावेज़ बनाने के लिए कोड शामिल हैं और तंत्रिका रेल नेटवर्क के ऊपर दिखाए गए .
4520 में स्थापित इस प्रशिक्षण के प्रशिक्षण के आइटम हैं .
iterations प्रशिक्षण में 200 ( 3 प्रसार कदमों को शामिल है , के लिए कुल 200 * 4520 * 3 = 2712000 चरणों का अनुकरण और एक ही कदम प्रसार संख्या में त्रुटि ) , समग्र त्रुटि 1.520 करने के लिए कम से 0.153 .
( भिन्न हो सकती हैं जो संख्या के अनुसार प्रारंभिक स्थितियों यादृच्छिक . )
कई मिनट के प्रशिक्षण की आवश्यकता है .
निम्नलिखित में निर्दिष्ट दो उदाहरण हैं और निवेश का उत्पादन के प्रशिक्षित outputs तंत्रिका नेटवर्क :
Scenario #1:
Input:
1.0000 -1.0000 0.0000
0.0000 1.0000 -1.0000
-1.0000 0.0000 0.0000
Best move:
0.0001 0.0000 0.0676
0.0001 0.0000 0.0000
0.0000 0.0000 0.9870
Scenario #2:
Input:
-1.0000 -1.0000 0.0000
1.0000 1.0000 0.0000
0.0000 0.0000 0.0000
Best move:
0.0000 0.0000 0.0859
0.0000 0.0000 0.9819
0.0000 0.0000 0.0000
इस नेटवर्क का निर्माण करने के लिए प्रशिक्षित किया गया था कदमों के लिए सबसे अच्छा खिलाड़ी है , जिसका निशान "+1" से मेल खाता है .
इस कदम के लिए सर्वश्रेष्ठ खिलाड़ी के विरोधी हैं , जिसके मार्क "-1" से मेल खाता है , के द्वारा पाया जा सकता है (-1) द्वारा निवेश करने से पहले सभी बहु स्टिमुलेट के तंत्रिका नेटवर्क है .
10. प्रशिक्षण तंत्रिका नेटवर्क
निम्नलिखित एक उद्धरण से "Artificial Intelligence" (3rd edition; Addison Wesley; 1993) , Patrick Henry Winston , अध्याय 22 , Learning by Training Neural Nets , p. 468 .
तंत्रिका के प्रशिक्षण का एक नेट आर्ट
अब आप जानते हैं कि आप चेहरे के बाद आप तय करने के लिए कई विकल्पों पर काम एक समस्या द्वारा एक प्रशिक्षण तंत्रिका प्रसार नेट का प्रयोग करते हुए वापस :
* आप कैसे कर सकते हैं तंत्रिका शुद्ध शब्दों में जानकारी का प्रतिनिधित्व करते हैं ?
तंत्रिका का उपयोग कैसे कर सकते हैं आप शुद्ध निवेश व्यक्त करने का क्या आप जानते हैं ?
तंत्रिका का उपयोग कैसे कर सकते हैं आप शुद्ध outputs को निर्धारित करने के लिए आप क्या जानना चाहते हैं ?
* आपने कितने न्यूरॉन्स चाहिए तंत्रिका में अपने शुद्ध ?
कितने आदानों ?
कितने outputs ?
कितने वजन ?
कितने परत छिपी है ?
* क्या आप प्रयोग करना चाहिए दर परिमाण में पीछे प्रसार फार्मूला है ?
* यदि आप अपनी गाड़ी तंत्रिका शुद्ध चरणों में या एक साथ ?
इस विकल्प का नेतृत्व में बुरा प्रदर्शन करने के गलत है .
एक छोटे तंत्रिका शुद्ध नहीं कर सकते कि आप क्या चाहते हैं , यह जानने के जानने के लिए है .
धीरे धीरे जानने के एक बड़े शुद्ध करेगा , स्थानीय मॅक्सिमा पर अटक प्राप्त हो सकता है , और overfitting प्रदर्शित हो सकता है .
एक छोटे दर पैरामीटर अस्थिरता हो सकता है या बढ़ावा देने के पूर्वानुमान उपलब्ध कराने के गरीब है .
दुर्भाग्यवश , इस पर निर्भर करते हैं उचित विकल्प की प्रकृति के नमूने हैं .
गणितीय है , तो आप देख सकते हैं glimpses के प्रतिनिधि के नमूने के रूप में एक समारोह में छिपा हुआ है , प्रत्येक के लिए निवेश के साथ एक आयाम है .
यदि कई आदानों , इस समारोह की बहुआयामी चरित्र को कठिन बना देता है इस समारोह के बारे में सोचने और visualize करने के लिए असंभव है .
तदनुसार , आपके मार्गदर्शन में बेहतरीन विकल्प है और परीक्षण में त्रुटि , बनाम , यदि संभव हो , द्वारा विकल्पों के संदर्भ में अच्छा काम किया है कि इसी तरह की समस्याएं हैं .
इस प्रकार , तंत्रिका के सफल तैनाती के समय शुद्ध तकनीक और अनुभव की आवश्यकता होती है .
शुद्ध कलाकारों के तंत्रिका विशेषज्ञ हैं , वे नहीं हैं केवल उपयोगकर्ता पुस्तिका .
11. निवेश निर्गम मूल्यों और मूल्यों को बनाने के लिए उपयुक्त एक तंत्रिका नेटवर्क
इस मॉडल का एक गणितीय न्यूरॉन शरीर में पेश इस दस्तावेज़ का उत्पादन उत्पादन मूल्य का उपयोग करते हुए एक "समारोह में रसद अवग्रह" ( यानी , ( 1 / (1 + Exp(-x)) ) ) .
इसलिए , outputs तक ही सीमित है 0.0 करने से लेकर 1.0 .
इसलिए , एक गणितीय मॉडल के तंत्रिका नेटवर्क में पेश इस दस्तावेज़ को सीधे जानने के लिए प्रयोग किया जा सकता है और उत्पादन से लेकर outputs में 0.0 को 1.0 , जैसे बूलियन outputs के लिए , या outputs के लिए निरंतर का हिस्सा है कि सीमा तक ही सीमित है .
लेकिन , इस नेटवर्क का इस्तेमाल भी किया जा सकता है और उपज outputs में जानने के लिए किसी भी सीमा तक सीमित हैं तो outputs से परिवर्तित करने के लिए और सीमा से 0.0 को 1.0 .
उदाहरण के लिए , मान के अंतिम उत्पादन मूल्यों तक ही सीमित है Q से लेकर P करने के लिए , और एक अनुमान Z का प्रतिनिधित्व करता है मनमानी अंतिम उत्पादन मूल्य से लेकर P को सीमित करने के लिए Q , मान Y का प्रतिनिधित्व करता है और इसी के अनुरूप तंत्रिका नेटवर्क की सीमा तक सीमित निर्गम से 0.0 को 1.0 .
इस प्रकार प्रयोग किया जा सकता है फार्मूले को बदलने के बीच दो प्रकार के निर्गम मूल्य :
Y = (Z - P) / (Q - P); // Q > P; Q != P
Z = P + (Q - P) * Y; // Q > P
अंतिम उत्पादन में परिवर्तित करने के लिए एक नेटवर्क तंत्रिका उत्पादन के दौरान प्रशिक्षण आवश्यक है .
तंत्रिका नेटवर्क के उत्पादन में परिवर्तित करने के लिए एक अंतिम उत्पाद के दौरान सामान्य अनुकार आवश्यक है .
निवेश के लिए नहीं हैं तंत्रिका नेटवर्क के रूप में सीमित रूप में outputs , क्योंकि लिंक्स हैं कि वजन मूल्यों attenuate कर सकते हैं या इनपुट amplify मनमाने ढंग से मूल्यों की है .
लेकिन , निवेश की सीमा से बाहर तक मूल्यों -1.0 को 1.0 समस्याओं के कारण हो सकता है , क्योंकि पहले के भार को समायोजित करने के लिए एक मौका है , मूल्यों की चरम सबसे पहले पहुँचने के रूप में एक पैरामीटर को "रसद अवग्रह समारोह" ( 1 / (1 + Exp(-x)) ) .
चरम समारोह होगा कि मूल्यों को बनाने के उत्पादन के न्यूरॉन 0.0 या 1.0 के बहुत करीब है , और जब त्रुटियों के नेटवर्क के माध्यम से प्रचार करने के लिए कि पिछड़े न्यूरॉन के द्वारा त्रुटि जाएगा भारित (Output * (1 - Output)) है , जो अत्यंत छोटे जाएगा .
इसलिए , मूल में परिवर्तित करने के लिए निवेश की सीमा से 0.0 मूल्यों को 1.0 प्रदान करने से पहले उन मूल्यों को निवेश के तंत्रिका नेटवर्क शायद एक अच्छा विचार है .
मान लीजिए के मूल मूल्यों के निवेश की सीमा तक सीमित हैं B से A करने के लिए , और एक अनुमान W का प्रतिनिधित्व करता है मनमानी मूल मूल्य सीमित करने के लिए निवेश की सीमा से A को B , और एक अनुमान X इसी तंत्रिका नेटवर्क का प्रतिनिधित्व करता है कि हम मूल्य का चयन करने के लिए निवेश की सीमा को से लेकर 0.0 को 1.0 .
निम्नलिखित फार्मूला का प्रयोग किया जा सकता है परिवर्तित करने के लिए मूल निवेश करने के लिए एक मूल्य की आपूर्ति के लिए उचित मूल्य के तंत्रिका नेटवर्क है .
( कोई जरूरत नहीं है तंत्रिका में बदलने का एक नेटवर्क को एक मान इनपुट मूल्य के मूल में निवेश सीमा है . )
X = (W - A) / (B - A); // B > A; B != A
12. संदर्भ
निम्नलिखित पुस्तकों को समझने में उपयोगी हो सकती है और उनके अनुप्रयोगों के तंत्रिका नेटवर्क है .
[ 1 ] Artificial Intelligence (3rd ed) (Patrick Henry Winston; Addison-Wesley; 1993)
यह पुस्तक बहुत ही रोचक और उपयोगी है .
इस लेखक के कई आकर्षक विषयों का वर्णन है , उदाहरण के साथ साथ , आप सक्षम करने के लिए पर्याप्त विस्तार की अवधारणाओं का उपयोग करने के लिए व्यावहारिक स्थितियों में है .
इस लेखक का वर्णन नेटवर्क और तंत्रिका "वापस प्रसार" में उल्लेखनीय विस्तार से सीखने , जिनमें गणितीय अंग्रेज़ी .
[ 2 ] Artificial Intelligence: A New Synthesis (Nils J Nilsson; Morgan Kaufmann; 1998)
यह पुस्तक , जैसे संदर्भ [1] है , यह एक आकर्षक और व्यावहारिक आर्टिफिशियल इंटेलिजेंस की शुरूआत करने के लिए .
लेकिन , इस पुस्तक की तुलना में थोड़ी सी अधिक संक्षिप्त संदर्भ [1] .
मुझे लगता है कि किसी व्यक्ति को लाभ होगा पढ़ने से दोनों [1] और [2] .
मैं केवल इस पुस्तक की अनुशंसा यदि आपके पास एक मजबूत सभी के हित में आर्टिफिशियल इंटेलिजेंस , जबकि मैं सुझाव है [1] संदर्भ भी हैं जो उन लोगों को विशेष रूप तंत्रिका नेटवर्क के बारे में सीखने में रुचि है .
[ 3 ] Focus on AI (Prima Tech / Prima Publishing)
खेल का हिस्सा विकास की श्रृंखला Andre LaMothe द्वारा संपादित किया है .
इस पुस्तक के लिए उपयोगी है प्रोग्रामर खेल है , और कंप्यूटर कोड के उदाहरण से भर जाता है कि तंत्रिका प्रदर्शित नेटवर्क , आनुवंशिक एल्गोरिदम , और तर्क fuzzy , सभी पर लागू खेल चरित्र व्यवहार है .