ड्राइविंग सीखना: शुद्ध नकल से परे

मयंक बंसल और अभिजीत ओगले द्वारा - वेमो रिसर्च

Waymo में, हम दुनिया के सबसे अनुभवी ड्राइवर के निर्माण पर केंद्रित हैं। और किसी भी अच्छे ड्राइवर की तरह, हमारे वाहन को आस-पास की वस्तुओं को पहचानने और यह अनुमान लगाने की आवश्यकता है कि वे ट्रैफ़िक नियमों का पालन करते हुए सुरक्षित रूप से ड्राइव करने का निर्णय लेने से पहले यह अनुमान लगा लें कि वे आगे क्या कर सकते हैं।

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

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

ChauffeurNet बनाना: ड्राइविंग के लिए एक आवर्तक तंत्रिका नेटवर्क

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

ChauffeurNet प्रत्येक यात्रा के दौरान भविष्य के ड्राइविंग प्रक्षेपवक्र के साथ एक बिंदु को आउटपुट करता है, जबकि एक मेमोरी के लिए पूर्वानुमानित बिंदु को लिखता है जो इसके अगले पुनरावृत्ति के दौरान उपयोग किया जाता है। इस अर्थ में, RNN पारंपरिक नहीं है, क्योंकि मेमोरी मॉडल स्पष्ट रूप से तैयार किया गया है। ChauffeurNet द्वारा प्रक्षेपवक्र आउटपुट, जिसमें भविष्य के दस बिंदु शामिल हैं, तब निम्न-स्तरीय नियंत्रक को दिया जाता है जो इसे स्टीयरिंग और त्वरण जैसे कमांड को नियंत्रित करने के लिए परिवर्तित करता है जो इसे कार चलाने की अनुमति देता है।

इसके अलावा, हमने एक अलग "PerceptionRNN" हेड नियुक्त किया है जो कि पर्यावरण में अन्य गतिशील वस्तुओं के भविष्य की भविष्यवाणी करता है और यह नेटवर्क RNN के साथ ऐसे फीचर्स साझा करता है जो हमारी खुद की ड्राइविंग की भविष्यवाणी करता है। एक भविष्य की संभावना हमारे स्वयं के ड्राइविंग प्रक्षेपवक्र का चयन करते समय अन्य एजेंटों की प्रतिक्रियाओं की भविष्यवाणी करने की प्रक्रिया का एक गहरा इंटरलेविंग है।

ड्राइविंग मॉडल के लिए निविष्ट इनपुट और आउटपुट। शीर्ष पंक्ति बाएं से दाएं: रोडमैप, ट्रैफ़िक लाइट, गति-सीमा और मार्ग। बॉटम-पंक्ति लेफ्ट-टू-राइट: करंट एजेंट बॉक्स, डायनामिक बॉक्स, पास्ट एजेंट पॉज़ और आउटपुट फ्यूचर एजेंट पॉज़।ChauffeurNet में दो आंतरिक भाग होते हैं, FeatureNet और AgentRNN। AgentRNN पिछले एजेंट पोज़ के प्रतिपादन के साथ एक छवि का उपभोग करता है, रेंडर किए गए इनपुट से एक दृढ़ नेटवर्क

भलाई का अनुकरण करना

हमने लगभग 60 दिनों के विशेषज्ञ ड्राइविंग डेटा के समकक्ष से उदाहरण के साथ मॉडल को प्रशिक्षित किया, जबकि प्रशिक्षण तकनीक जैसे कि पिछले गति ड्रॉपआउट जैसे कि यह सुनिश्चित करने के लिए कि नेटवर्क केवल अपने पिछले गति से एक्सट्रपलेशन जारी नहीं रखता है और वास्तव में पर्यावरण के लिए सही ढंग से प्रतिक्रिया करता है। । जैसा कि हमारे सामने कई बार पाया गया है, जिसमें 1980 के दशक में ALVINN प्रोजेक्ट भी शामिल है, विशुद्ध रूप से विशेषज्ञ की नकल करने से एक ऐसा मॉडल मिलता है जो तब तक सुचारू रूप से कार्य करता है जब तक कि प्रशिक्षण में देखी गई स्थिति से बहुत अधिक विचलित न हो। मॉडल ट्रैफ़िक नियंत्रण जैसे स्टॉप साइन्स और ट्रैफ़िक लाइट का ठीक से जवाब देना सीखता है। हालाँकि, विचलन जैसे कि प्रक्षेपवक्र को शुरू करने या निकट-टकराव की स्थितियों में डालने से यह खराब व्यवहार करता है, क्योंकि बड़ी मात्रा में डेटा के साथ प्रशिक्षित होने पर भी, प्रशिक्षण के दौरान इन सटीक स्थितियों को कभी नहीं देखा जा सकता है।

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

बैड को सिंथेसाइज़ करना

वास्तविक दुनिया ड्राइविंग से प्राप्त विशेषज्ञ ड्राइविंग प्रदर्शनों में आम तौर पर अच्छी स्थितियों में ड्राइविंग के केवल उदाहरण होते हैं, क्योंकि स्पष्ट कारणों के लिए, हम नहीं चाहते कि हमारे विशेषज्ञ ड्राइवर निकट-टक्करों में चढ़ें या केवल एक तंत्रिका नेटवर्क दिखाने के लिए वक्रों पर चढ़ें कि कैसे पुनर्प्राप्त किया जाए। ऐसे मामलों में। कठिन स्थानों से बाहर निकलने के लिए नेटवर्क को प्रशिक्षित करने के लिए, यह उपयुक्त प्रशिक्षण डेटा को अनुकरण या संश्लेषित करने के लिए समझ में आता है। ऐसा करने का एक सरल तरीका उन मामलों को जोड़कर है, जहां हम ड्राइविंग प्रक्षेप पथ को विशेषज्ञ से वास्तव में किया था। गड़बड़ी ऐसी है कि प्रक्षेपवक्र के प्रारंभ और अंत बिंदु समान रहते हैं, विचलन ज्यादातर मध्य में होता है। यह तंत्रिका नेटवर्क को सिखाता है कि गड़बड़ी से कैसे उबरना है। इतना ही नहीं, ये गड़बड़ी अन्य वस्तुओं या सड़क के साथ सिंथेटिक टकराव के उदाहरण उत्पन्न करते हैं, और हम नेटवर्क को सिखाते हैं कि इस तरह के टकराव को हतोत्साहित करने वाले स्पष्ट नुकसानों को जोड़कर उनसे बचें। ये नुकसान हमें उपन्यास के हालात में बेहतर सामान्यीकरण की दिशा में सीखने के लिए डोमेन ज्ञान का लाभ उठाने की अनुमति देते हैं।

लेन केंद्र से दूर वर्तमान एजेंट स्थान (लाल बिंदु) पर खींचकर प्रक्षेपवक्र गड़बड़ी और फिर एक नया चिकनी प्रक्षेपवक्र फिटिंग करना जो एजेंट को लेन केंद्र के साथ मूल लक्ष्य स्थान पर वापस लाता है।

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

प्रयोगात्मक परिणाम

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

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

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

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

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

नीचे दिए गए उदाहरण एक उदाहरण पर PerceptionRNN से भविष्यवाणियों को दर्शाता है। याद रखें कि PerceptionRNN अन्य गतिशील वस्तुओं के भविष्य की गति की भविष्यवाणी करता है। लाल निशान दृश्य में गतिशील वस्तुओं के पिछले प्रक्षेपवक्र को इंगित करते हैं; हरे रंग की पगडण्डी भविष्य के अनुमानों को प्रत्येक वस्तु के लिए भविष्य में दो सेकंड का संकेत देती है।

द लॉन्ग टेल, कॉजेलिटी एंड लाइफलॉन्ग लर्निंग

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

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

लंबी पूंछ की स्थितियों से निपटना, कार्य-कारण की समझ, और निरंतर आजीवन सीखना, वेमो में सक्रिय अनुसंधान के विषय हैं, साथ ही साथ व्यापक मशीन सीखने वाले समुदाय में भी। मशीन सीखने में आने वाली इन चुनौतीपूर्ण समस्याओं से निपटने के लिए हम हमेशा प्रतिभावान शोधकर्ताओं की तलाश में रहते हैं, इसलिए वे waymo.com/joinus पर संपर्क करें।

इस काम के बारे में अधिक जानकारी के लिए, कृपया हमारा पेपर देखें:

* चाफ़्यूरनेट: लर्निंग टू ड्राइव द इमिटिंग द बेस्ट एंड सिंथेसाइज़िंग द वर्स्ट
मयंक बंसल, एलेक्स क्रेजेव्स्की, अभिजीत ओगले
(पूरक सामग्री)