11

मैं अपने अंतिम वर्ष स्नातक परियोजना के रूप में एक तंत्रिका नेटवर्क परियोजना कर रहा हूं। प्रोजेक्ट का विचार: 2 मोटरों के साथ एक बहुत ही सरल रोबोट, और दो आईआर और टक्कर सेंसर एक तंत्रिका नेटवर्क के उपयोग के साथ एक पर्यावरण को पार करेगा जो कंप्यूटर में है। मुख्य आवश्यकता संभवतः उपयुक्त जीयूआई सीखने की प्रक्रिया और तंत्रिका नेटवर्क की विकास प्रक्रिया के साथ निरीक्षण करना है। (मुख्य उद्देश्य तंत्रिका नेटवर्क का निरीक्षण करना है, और रोबोट को चलाने के लिए इसके परिवर्तन नहीं हैं)। रोबोट परियोजना के पहले चरण में सीरियल संचार का उपयोग कर कंप्यूटर के साथ संवाद करेगा और फिर डब्लूएलएएन का उपयोग करेगा ..रोबोट के तंत्रिका नेटवर्क मस्तिष्क के लिए उपयुक्त प्रोग्रामिंग भाषा के लिए राय?

मेरा प्रश्न यह है कि कंप्यूटर में घटकों को लागू करने के लिए उपयोग की जाने वाली सबसे अच्छी भाषा है (तंत्रिका नेटवर्क)। जिन चीजों पर विचार किया जाना चाहिए वे हैं: तंत्रिका नेटवर्क के कार्यान्वयन की आसानी, प्रदर्शन (हालांकि रोबोट कार्य सरल लगता है, तंत्रिका नेटवर्क के विकास को देखते हुए में गणित के कुछ भी शामिल हैं जो GUI को भी बदलते हैं), इंटरफ़ेसिंग की आसानी हार्डवेयर (सीरियल और डब्लूएलएएन)

मैंने अब तक जावा और सी # माना है .. मैं आपकी राय का भी अनुरोध करता हूं ... कृपया एक भाषा चुनते समय परियोजना पर और मेरे विचारों के पहलुओं पर अपनी प्रतिक्रिया दें। (इन दूसरे शब्दों .. निर्णय लेने से पहले मुझे और क्या देखना चाहिए)

धन्यवाद।

उत्तर

15

(मुख्य उद्देश्य तंत्रिका नेटवर्क निरीक्षण करने के लिए है, और उसके परिवर्तन के लिए नहीं रोबोट ड्राइव)।

एक तंत्रिका नेटवर्क उन शिक्षाओं के प्रकारों में से एक है जिनके पास मनुष्यों द्वारा समझने योग्य रूप से आसानी से (यदि नहीं) एक रूप है। नेटवर्क और उसके वजन को विज़ुअलाइज़ करना वास्तव में दिलचस्प नहीं होगा या वह सब फायदेमंद नहीं होगा। आप अपने प्रशिक्षण के दौरान विभिन्न बिंदुओं पर तंत्रिका नेटवर्क की स्थिति को बचाने के बेहतर होंगे - प्रारंभ, मध्य और अंत, कहें - और फिर तीनों के साथ रोबोट के व्यवहार का प्रदर्शन करना बेहतर होगा। उम्मीद है कि, प्रशिक्षण के रूप में प्रगति हुई, प्रदर्शन में सुधार हुआ (जो भी उद्देश्य मीट्रिक आपने चुना है)। आप एन अंतराल के बाद रोबोट की "प्रदर्शन" रेटिंग दिखाते हुए कुछ ग्राफ दिखाना चाहेंगे - अंत में आपको एक एसिम्पटोट तक पहुंचना चाहिए, या यहां तक ​​कि प्रदर्शन का निशान देखना शुरू करना चाहिए, क्योंकि प्रशिक्षण अधिक देयता बन जाता है। (कम से कम, कि क्या मैं अगर मैं एक अकादमिक व्यवस्था में अपनी परियोजना की समीक्षा कर रहे थे को दिखाना चाहते हैं।)

मेरा प्रश्न है जो सबसे अच्छा भाषा कि में घटकों को लागू करने के लिए किया जा सकता है कंप्यूटर (तंत्रिका नेटवर्क

ANNs किसी भी भाषा में लिखा जा सकता है। भाषा आप के साथ सबसे अधिक सहज महसूस करते हैं का उपयोग करें, या कम से कम जो भी भाषा अपने वर्तमान सेट अप के साथ 'उपयुक्त' है। (उदाहरण के लिए आप पहले से ही है, तो एक रोबोट सी # का उपयोग कर एक सीरियल कनेक्शन पर एक विंडोज मशीन से बात कर रहा है, तो क्यों उस मौजूदा सेटअप का उपयोग अपने प्रोजेक्ट के आधार के रूप में नहीं करते? आप चाहते हैं पहले से ही आधा तैयार हो!)। यदि वह जावा या सी # है, तो इसके लिए जाएं। कोई नई वजह नहीं है कि आपको एक नई भाषा सीखने की आवश्यकता हो। वास्तव में, मैं आपकी परियोजना के लिए एक नई भाषा सीखने की सलाह दूंगा। कुछ नई भाषा के धूलदार कोनों को समझने की कोशिश करने से, आप अपनी दिलचस्प समस्या पर काम करने में अपना समय बिताना पसंद करेंगे।

2

मैं शगी के साथ सहमत हूं कि रोबोट चलाने के लिए पर्याप्त नेटवर्क परिसर का दृश्य प्रतिनिधित्व संभवतः एक दिलचस्प दृष्टि नहीं होगा।

क्या आपने इसी तरह की मौजूदा परियोजनाओं को देखा है? कुछ त्वरित googling The Zero Dimension दिखाया - 3 डी में एएनएन सीखने के कुछ पहलुओं को देखने का प्रयास। यहां उनके video demo हैं। शायद इस तरह और अधिक हैं - वे शायद आपको कुछ पहलुओं पर बताएंगे कि आप किन पहलुओं को करते हैं और क्या नहीं करना चाहते हैं।

एएनएन संरचना दृश्यता पर एक article है (फिर से, केवल पहले मैंने ठोकर खाई)। जैसा कि आप देखते हैं, विज़ुअलाइजेशन बहुत अंतर्दृष्टि नहीं है।

भाषा बोलना - बस उस व्यक्ति को चुनें जिसे आप सबसे अधिक आरामदायक हैं। या उस व्यक्ति को चुनें जिसमें आप अपने अनुभव को बेहतर बनाना चाहते हैं - यदि आपके पास इस परियोजना के दौरान सीखने का रवैया और समय है।
ध्यान में रखना एक बात है, हालांकि: एएनएन लर्निंग एक कम्प्यूटेशनल गहन कार्य है, और सी # या जावा जैसी "उच्च स्तरीय" भाषाओं में उचित प्रदर्शन प्राप्त करना शायद सी ++ जैसे "निचले स्तर" वाले लोगों की तुलना में कठिन होगा।

मैं आपको एनएन के साथ काम करने के लिए मौजूदा पुस्तकालयों का उपयोग करने पर विचार करने का भी सुझाव दूंगा। मैंने कुछ साल पहले स्टेटिस्टिका तंत्रिका नेटवर्क पैकेज (कुछ पैसे खर्च किए हैं) का उपयोग किया है, मुझे विश्वास है कि कुछ खुले स्रोत पुस्तकालय भी हैं।
एक अच्छा एएनएन लर्निंग एल्गोरिदम लागू करना सही और कुशलता से कठिन है, इसलिए आप मौजूदा कार्यान्वयन और जीयूआई/विज़ुअलाइज़ेशन भाग पर ध्यान केंद्रित करना चाह सकते हैं।

1

मैं नि: शुल्क न्यूरॉन्डोनेट तंत्रिका नेटवर्क लाइब्रेरी के साथ सी # का उपयोग करने की सिफारिश करता हूं। मुझे लगता है कि यह आपको वह सब कुछ देगा जो आपको चाहिए

1

Matlab/Labview पर विचार करें। संयोजन आपके कार्यक्रम के संचालन और आंतरिक राज्यों को साजिश करने के लिए बहुत आसान बनाता है।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^