एक साधारण सेल्फ ड्राइविंग आरसी कार के लिए अधिगम अधिगम बनाम सुदृढीकरण अधिगम


12

मैं मजे के लिए रिमोट सेल्फ सेल्फ ड्राइविंग कार बना रहा हूं। मैं ऑनबोर्ड कंप्यूटर के रूप में रास्पबेरी पाई का उपयोग कर रहा हूं; और मैं कार के परिवेश पर प्रतिक्रिया के लिए विभिन्न प्लग-इन, जैसे रास्पबेरी पाई कैमरा और दूरी सेंसर का उपयोग कर रहा हूं। मैं OpenCV का उपयोग वीडियो फ्रेम को टेंसर्स में बदलने के लिए कर रहा हूं, और सड़क सीमाओं और बाधाओं को जानने के लिए एक जटिल तंत्रिका नेटवर्क बनाने के लिए Google के TensorFlow का उपयोग कर रहा हूं। मेरा मुख्य प्रश्न यह है कि, क्या मुझे कार चलाने के लिए सिखाने के लिए पर्यवेक्षित शिक्षण का उपयोग करना चाहिए या क्या मुझे उद्देश्य और दंड प्रदान करना चाहिए और सुदृढीकरण सीखना (यानी, बी को जितनी जल्दी हो सके, जबकि कुछ भी नहीं मारना और सड़क की सीमाओं के भीतर रहना चाहिए)? नीचे उन पेशेवरों और विपक्षों की सूची दी गई है, जिनके साथ मैं आया हूं।

पर्यवेक्षित शिक्षण नियम:

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

सुपरवाइज्ड लर्निंग विपक्ष:

  • यह स्पष्ट नहीं है कि गति कैसे सिखाई जाए, और सही गति बहुत मनमानी है जब तक कि कार इतनी तेजी से नहीं जाती है कि यह सड़क से दूर हो जाए। मुझे लगता है कि मैं प्रशिक्षण के दौरान तेजी से ड्राइव कर सकता था, लेकिन यह एक कच्चे दृष्टिकोण की तरह लगता है। शायद मैं मैन्युअल रूप से प्रशिक्षण के दौरान एक निरंतर चर में जोड़ सकता हूं जो उस प्रशिक्षण सत्र के लिए गति से मेल खाती है, और फिर जब सीखने के एल्गोरिथ्म को तैनात किया जाता है, तो मैं इस चर को उस गति के अनुसार सेट करता हूं जो मुझे चाहिए?

सुदृढीकरण सीखने के नियम:

  • अगर मैं अपनी कार को दूसरे लोगों की सेल्फ ड्राइविंग कार चलाने के विशिष्ट उद्देश्य के साथ बनाता हूं, तो सुदृढीकरण सीखने को मेरी कार को "वहां जितनी जल्दी हो सके" बताने का स्वाभाविक तरीका लगता है।
  • मैंने पढ़ा है कि आरएल को कभी-कभी स्वायत्त ड्रोन के लिए उपयोग किया जाता है, इसलिए सिद्धांत रूप में इसे कारों में आसान होना चाहिए क्योंकि मुझे ऊपर और नीचे चिंता करने की ज़रूरत नहीं है

सुदृढीकरण सीखने विपक्ष:

  • मुझे लगता है कि सुदृढीकरण सीखने के लिए बहुत अधिक अतिरिक्त सेंसर की आवश्यकता होगी, और स्पष्ट रूप से मेरे पैर-लंबी कार में इतना स्थान नहीं है कि यह विचार करने के लिए अंदर एक बैटरी, रास्पबेरी पाई और एक ब्रेडबोर्ड फिट करने की आवश्यकता हो।

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

  • मैं बाद में स्पष्ट नियमों को नहीं अपना सकता, जैसे, एक खिलौना लाल बत्ती पर रोक। पर्यवेक्षित सीखने के साथ, मैं कई एसएल एल्गोरिदम (जैसे, स्टॉपलाइट्स की पहचान करने के लिए एक Haar Cascade क्लासिफायरियर) को एक विन्यास योग्य नियम इंजन में शामिल कर सकता है जो प्रत्येक वीडियो फ्रेम के बीच मूल्यांकन करता है। इस प्रकार नियम इंजन ड्राइविंग एसएल एल्गोरिथ्म को ओवरराइड करने में सक्षम होगा यदि यह एक लाल स्टॉपलाइट देखा, भले ही स्टॉपलाइट ड्राइविंग एल्गोरिथ्म के प्रशिक्षण का हिस्सा न हो। RL ऐसा करने के लिए बहुत अधिक स्थिर लगता है (अर्थात, केवल टर्मिनल स्थिति पर रुकें)
  • मुझे लागू सुदृढीकरण सीखने के साथ बहुत अनुभव नहीं है, हालांकि मैं निश्चित रूप से इसे सीखना चाहता हूं

यह वास्तव में एक जवाब नहीं है, मैं वास्तव में एक ही परियोजना कर रहा हूं, क्यू-लर्निंग (आरएल) (अभी भी शुरुआत में) के साथ एक सेल्फ ड्राइविंग कार, और मैं पूछना चाहता हूं कि क्या आपका प्रोजेक्ट कोड कुछ ऑनलाइन उपलब्ध है, यह मेरे लिए बहुत मददगार होगा। यह वह प्रोजेक्ट है जिसका मैं अभी अनुसरण कर रहा हूं: मध्यम.com / @harvitronix/… वह एनएल के साथ आरएल का उपयोग करता है जैसे कि गूगल डीप क्यू लर्निंग (अटारी पेपर), लेकिन वह सुपरवाइज्ड लर्निंग का उपयोग नहीं करता है। उसका कोड यहां उपलब्ध है: github.com/harvitronix/reinfo
महमूद होसाम

@MahmoudHossam क्या आपके पास कोड के लिए कोई वैकल्पिक स्थान है? आपके द्वारा दिया गया लिंक मृत है।
होम्युनकुलस रेटिकुलि

@MahmoudHossam रेपो की तरह दिखता है: github.com/harvitronix/rl-rc-car
Ryan Zotti

जवाबों:


12

मैं आपको हाइब्रिड दृष्टिकोण आज़माने का सुझाव देता हूँ:

  • सबसे पहले, अपनी कार को प्रदर्शन द्वारा सुपरवाइज्ड फैशन में प्रशिक्षित करें । बस इसे नियंत्रित करें और लेबल के रूप में अपने आदेशों का उपयोग करें। यह आपको SL के सभी पेशेवरों को प्राप्त करने देगा।
  • फिर, सुदृढीकरण सीखने का उपयोग करके अपने तंत्रिका जाल को ठीक करें। आपको इसके लिए अतिरिक्त सेंसर की आवश्यकता नहीं है: पुरस्कार दूरी सेंसर (बड़ी दूरी = बेहतर) और गति से ही प्राप्त किया जा सकता है। यह आपको आरएल के पेशेवरों को देगा और आपके एनएन को आपके अनुकरण के लक्ष्य के बजाय बाधाओं से बचने के दौरान तेजी से ड्राइविंग के सही लक्ष्य को प्रशिक्षित करेगा।
  • दोनों दृष्टिकोणों को संयोजित करने से आपको अपने विपक्ष से बचते हुए SL और RL दोनों के लाभ मिलेंगे। आरएल यादृच्छिक व्यवहार से शुरू नहीं होगा, जो आपने एनएन से संघर्ष किया था उससे केवल छोटे क्रमिक विचलन। एक समान दृष्टिकोण के साथ गूगल DeepMind द्वारा सफलतापूर्वक लागू किया गया था AlphaGo
  • आप हमेशा इसके ऊपर स्पष्ट नियम शामिल कर सकते हैं। उन्हें उच्च प्राथमिकता के साथ लागू करें और NN को केवल तभी कॉल करें जब वर्तमान स्थिति के लिए कोई स्पष्ट नियम नहीं है। यह सबमिशन आर्किटेक्चर की याद दिलाता है ।

दीपमिन्द ने मैथ्यू लाई को भी पछाड़ दिया, उनके रोमांचक जिराफ शतरंज NN के परिणाम को ताजा कर दिया: motherboard.vice.com/en_us/article/…
DukeZhou
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.