रोबोट और वर्ल्ड मॉडलमध्यमपाठ 2596 मिनट का पाठ

डेमॉन्स्ट्रेशन से सीखना

रोबोट को सिखाने का सबसे आम तरीका है उसे करके दिखाना कि क्या करना है। जानिए कि डेमॉन्स्ट्रेशन कैसे इकट्ठा किए जाते हैं, behaviour cloning क्या है, और नक़ल करने में गड़बड़ी क्यों हो जाती है।

पाठ वीडियो में

60 सेकंड में

डेमॉन्स्ट्रेशन से सीखना

रोबोट को सिखाने का सबसे आम तरीका है उसे करके दिखाना कि क्या करना है। जानिए कि डेमॉन्स्ट्रेशन कैसे इकट्ठा किए जाते हैं, behaviour cloning क्या है, और नक़ल करने में गड़बड़ी क्यों हो…

1/5
आसान शब्दों में
जब आप रोटी बनाना सीखते हैं, तो पहले किसी को देखते हैं। फिर आप कोशिश करते हैं, और आपकी पहली रोटी अजीब से आकार की बनती है। रोबोट भी देखकर और नक़ल करके सीख सकते हैं। लेकिन आपकी ही तरह, वे भी तब मुश्किल में पड़ जाते हैं जब कुछ ऐसा हो जाए जो उन्होंने पहले कभी नहीं देखा।
Imitation learning का मतलब है किसी लिखित नियम-पुस्तिका के बजाय, किसी को कोई काम करते हुए देखकर वह हुनर सीखना। रोबोटिक्स में, इन उदाहरणों को demonstrations कहा जाता है। इनमें से हर एक इस बात की रिकॉर्डिंग होती है कि रोबोट ने क्या देखा और कदम-दर-कदम क्या एक्शन लिया गया।

डेमॉन्स्ट्रेशन डेटा कैसे इकट्ठा किया जाता है

तरीकायह कैसे काम करता हैफायदे और नुकसान
Teleoperationएक इंसान जॉयस्टिक, हाथ में पकड़ने वाले कंट्रोलर, रोबोट की नकल वाले हाथ या VR हेडसेट से दूर बैठकर रोबोट को कंट्रोल करता हैडेटा रोबोट के अपने शरीर से पूरी तरह मेल खाता है; धीमा है, ट्रेन्ड लोगों की ज़रूरत होती है
Kinesthetic teachingइंसान हाथ से रोबोट की बांह को धीरे-धीरे हिलाता है और रोबोट उसे रिकॉर्ड करता रहता हैसरल और सीधा तरीका; थका देने वाला, और इंसान का हाथ कैमरे के सामने आ सकता है
हाथ से पकड़ने वाले टूल्सइंसान एक ऐसे ग्रिपर टूल से काम करता है जिस पर कैमरा लगा होता हैइसे कई जगहों पर किया जा सकता है; लेकिन रोबोट का शरीर इससे थोड़ा अलग होता है
इंसानों के वीडियोकाम करते हुए इंसानों की रिकॉर्डिंगबहुत सारे उपलब्ध हैं; लेकिन लगने वाले बल का पता नहीं चलता, हाथ और देखने का नज़रिया अलग होता है
Teleoperation बहुत आम है क्योंकि रिकॉर्डिंग रोबोट के अपने हिसाब से होती है: उसके अपने कैमरे और उसके अपने जोड़ों (joints) की हलचल। इसका नुकसान है लागत और मेहनत। हर डेमॉन्स्ट्रेशन में किसी इंसान का समय लगता है, और कोई उपयोगी काम सीखने के लिए कई सारे डेमॉन्स्ट्रेशन की ज़रूरत पड़ सकती है।

Behaviour cloning: एक्सपर्ट की नक़ल करना

Imitation learning का सबसे आसान रूप behaviour cloning है। यह रोबोट के सीखने को साधारण supervised learning जैसा बना देता है, जैसा कि कंप्यूटर उदाहरणों से कैसे सीखता है वाले पाठ में बताया गया था।
  1. 1

    रिकॉर्ड करें

    इसके कई जोड़े इकट्ठा करें: (रोबोट ने क्या देखा, एक्सपर्ट ने आगे क्या किया)।
  2. 2

    ट्रेन करें

    देखी गई स्थिति से एक्सपर्ट के एक्शन का अंदाज़ा लगाने के लिए एक न्यूरल नेटवर्क को ट्रेन करें।
  3. 3

    चलाएं

    असली रोबोट पर: कैमरे से तस्वीर लें, नेटवर्क से पूछें कि क्या एक्शन लेना है, उसे करें, और इसे एक सेकंड में कई बार दोहराएं।
  4. 4

    जांचें

    सिर्फ रिकॉर्डिंग वाली चीज़ों पर ही नहीं, बल्कि नई शुरुआती स्थितियों और नई चीज़ों पर भी टेस्ट करें।
ट्रेन किए गए नेटवर्क को policy कहा जाता है: एक ऐसा फंक्शन जो रोबोट के देखने को उसके एक्शन से जोड़ता है। यह तरीका आसान है और जब काफी अच्छे डेमॉन्स्ट्रेशन हों, तो अक्सर हैरान करने वाली हद तक अच्छा काम करता है।

नक़ल करते हुए रोबोट क्यों भटकता है: distribution shift

एक्सपर्ट ने लगभग कभी कोई बड़ी गलती नहीं की, इसलिए डेटा में गलतियों से संभलने के लगभग कोई उदाहरण नहीं होते। अब रोबोट अपनी policy चलाता है। वह एक छोटी सी गलती करता है: उसका ग्रिपर थोड़ा बाईं ओर रह जाता है। इससे वह ऐसी स्थिति में पहुंच जाता है जो डेटा में मौजूद किसी भी स्थिति से थोड़ी अलग दिखती है। इसलिए उसका अगला एक्शन और थोड़ा खराब होता है, जिससे स्थिति और अजीब हो जाती है, और यह सिलसिला चलता रहता है। गलतियां बढ़ती चली जाती हैं।
इसे distribution shift (या गलतियों का बढ़ता जाना / compounding errors) कहा जाता है: काम करते समय रोबोट के सामने आने वाली स्थितियां उसके ट्रेनिंग डेटा की स्थितियों से अलग होती हैं, क्योंकि उसकी अपनी गलतियां उसे वहां तक ले जाती हैं।
असली उदाहरण
गाड़ी चलाना सीख रहा कोई व्यक्ति अपने इंस्ट्रक्टर की नक़ल करता है जो हमेशा लेन के बीच में चलता है। सीखने वाला थोड़ा सा किनारे की तरफ भटक जाता है। इंस्ट्रक्टर कभी नहीं भटका था, इसलिए सीखने वाले ने कभी देखा ही नहीं कि वापस बीच में कैसे आना है। एक छोटी सी डगमगाहट बहुत बड़ी गड़बड़ी बन जाती है।

लोग इस समस्या को कैसे कम करते हैं

  • रिकवरी डेमॉन्स्ट्रेशन (Recovery demonstrations): जानबूझकर रोबोट को गलत स्थिति से शुरू करके दिखाना और उसे ठीक करना सिखाना।
  • DAgger (dataset aggregation): रोबोट को काम करने दें, जिन स्थितियों में वह पहुंचता है उन्हें रिकॉर्ड करें, एक्सपर्ट से पूछें कि वहां क्या करना चाहिए था, उसे डेटा में जोड़ें, और फिर से ट्रेन करें।
  • ज़्यादा विविधता: अलग-अलग चीज़ों, स्थितियों, रोशनी और लोगों के साथ डेमॉन्स्ट्रेशन इकट्ठा करें।
  • एक बार में एक छोटा सा कदम उठाने के बजाय एक्शन के छोटे टुकड़ों (chunks) का अंदाज़ा लगाना। कुछ तरीके मूवमेंट को ज़्यादा सहज और सुसंगत बनाने के लिए ऐसा करते हैं।

डेमॉन्स्ट्रेशन से जुड़ी अन्य समस्याएं

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

और देखें और पढ़ें

लैब

एक कागज़ी प्रयोग जो distribution shift को दर्शाता है, साथ ही एक बेहतर डेमॉन्स्ट्रेशन डेटासेट की योजना।

~25 min

समस्या

कागज़ पर एक 6 x 6 का ग्रिड बनाएँ। नीचे-बाएँ एक स्टार्ट (शुरुआती) स्क्वायर और ऊपर-दाएँ एक गोल (मंज़िल) स्क्वायर बनाएँ। बीच में एक छोटी दीवार खींच दें।

  1. एक्सपर्ट बनें। स्टार्ट से गोल तक का एक साफ़-सुथरा रास्ता बनाएँ। इसे एक टेबल के रूप में लिखें: स्क्वायर → चाल (ऊपर, नीचे, बाएँ, दाएँ)। यह आपका डेमो (demonstration) है।
  2. रोबोट बनें। रोबोट को सिर्फ़ आपकी टेबल वाले स्क्वेयर्स की चालें ही पता हैं। स्टार्ट से एक स्क्वायर दाएँ की ओर शुरुआत करें। रोबोट क्या करता है? जो होता है उसे लिख लें।
  3. अब मान लें कि हर चाल में एक स्क्वायर बग़ल में फिसल जाने का थोड़ा सा चांस है। हर चाल के लिए एक पासा फेंकें: 1 आने पर, दाएँ फिसलें। अपनी टेबल का पालन करें। आप कितनी बार ऐसे स्क्वायर पर पहुँचते हैं जहाँ कोई नियम ही नहीं है?
  4. इसे ठीक करें। अपने रास्ते के बगल वाले स्क्वेयर्स के लिए टेबल में रो (पंक्तियाँ) जोड़ें, जिसमें दिखाया गया हो कि वापस रास्ते पर कैसे आना है। यह रिकवरी डेमोंस्ट्रेशन या DAgger की तरह है।
  5. ऐसे तीन नियम लिखें जिनका आप पालन करेंगे यदि आप कप उठाने वाले रोबोट के लिए असली डेमोंस्ट्रेशन इकट्ठा कर रहे हों।

आपका काम तब पूरा होगा जब

कठिन सवाल

उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।

Q1टास्क जितना लंबा होता है, डिस्ट्रीब्यूशन शिफ्ट (distribution shift) उतना ही बदतर क्यों होता जाता है?दिखाएं

हर कदम पर गलती होने का थोड़ा चांस होता है। किसी लंबे टास्क में बहुत सारे कदम होते हैं, इसलिए गलतियाँ होने और एक के ऊपर एक जुड़ते जाने के ज़्यादा मौके होते हैं। एक बार जब रोबोट रास्ते से भटक जाता है, तो बाद की कार्रवाइयाँ ऐसी स्थितियों से की जाती हैं जिन पर पॉलिसी ने कभी ट्रेनिंग ही नहीं ली थी, इसलिए वे कम भरोसेमंद होती हैं। यही वजह है कि विशुद्ध behaviour cloning के लिए लंबे, कई-स्टेप वाले टास्क खास तौर पर मुश्किल होते हैं।

Q2एक behaviour cloning पॉलिसी रिकॉर्ड किए गए डेमोज़ के अलग रखे गए (held-out) टेस्ट सेट पर अच्छा स्कोर करती है, लेकिन असली रोबोट पर फेल हो जाती है। ये दोनों बातें सच कैसे हो सकती हैं?दिखाएं

हेल्ड-आउट टेस्ट यह जाँचता है: "एक्सपर्ट ने जो देखा, क्या उसे देखकर पॉलिसी एक्सपर्ट के एक्शन का सही अनुमान लगाती है?" इसमें केवल वही स्थितियाँ इस्तेमाल होती हैं जहाँ तक एक्सपर्ट पहुँचा था। असली रोबोट पर, पॉलिसी की अपनी छोटी-मोटी गलतियाँ नई स्थितियों की ओर ले जाती हैं जो किसी भी रिकॉर्डिंग में नहीं हैं। इसलिए रिकॉर्ड किए गए डेटा पर सटीकता यह नहीं नापती कि रोबोट गलतियों से कितनी अच्छी तरह उबरता (रिकवर करता) है। आपको वास्तव में पॉलिसी को चलाकर ही टेस्ट करना होगा।

जारी रखने के लिए कृपया साइन इन करें।

अक्सर पूछे जाने वाले सवाल

एक रोबोट को कितने डेमॉन्स्ट्रेशन की ज़रूरत होती है?

यह काफी हद तक काम, रोबोट और तरीके पर निर्भर करता है। तय माहौल में आसान कामों के लिए बहुत कम की ज़रूरत हो सकती है। कई चीज़ों और अलग-अलग स्थितियों वाले कामों के लिए बहुत ज़्यादा की ज़रूरत होती है। किसी तय संख्या पर भरोसा करने के बजाय, policy को नई स्थितियों में टेस्ट करें और देखें कि यह कहां असफल होती है।

क्या behaviour cloning और reinforcement learning एक ही हैं?

नहीं। Behaviour cloning किसी एक्सपर्ट के एक्शन की नक़ल करती है और इसमें किसी reward की ज़रूरत नहीं होती। Reinforcement learning, जिसके बारे में अगले पाठ में बताया जाएगा, कोशिश करके और मिलने वाले इनामों (rewards) से सीखती है। इन दोनों को अक्सर एक साथ इस्तेमाल किया जाता है: नक़ल करके शुरुआत करें, फिर अभ्यास से बेहतर बनें।

इसकी जगह सिर्फ नियम ही क्यों न लिख दिए जाएं?

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

डेटा के अलावा teleoperation का इस्तेमाल किसलिए होता है?

लोग सीधे काम करने के लिए भी रोबोट को teleoperate करते हैं, उदाहरण के लिए वहां जहां किसी इंसान का मौजूद होना सुरक्षित नहीं है। डेमो देखते समय याद रखें कि हो सकता है रोबोट खुद काम करने के बजाय किसी इंसान द्वारा teleoperate किया जा रहा हो।

पाठ का टेस्ट

5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।

टेस्ट देने और अपनी प्रोग्रेस सेव करने के लिए साइन इन करें