François Chollet एक AI और डीप लर्निंग शोधकर्ता हैं, Python के लिए अग्रणी डीप लर्निंग फ्रेमवर्क Keras के लेखक हैं, और उनकी नई किताब Deep Learning with Python अभी आई है। इस किताब की रिलीज़ के साथ, मुझे ईमेल के माध्यम से François का साक्षात्कार लेने का आनंद मिला। हमसे @fchollet और @hugobowne पर बेझिझक संपर्क करें।
François, आप Google में एक सॉफ्टवेयर इंजीनियर और कृत्रिम बुद्धिमत्ता शोधकर्ता हैं। मैं जानना चाहूंगा कि आप क्या करते हैं। लेकिन पहले, लोग वास्तव में क्या करते हैं और उनके बारे में आम धारणा क्या है, इन दोनों में अक्सर फर्क होता है। लोग क्या सोचते हैं कि आप क्या करते हैं?
यह एक तीक्ष्ण अवलोकन है, आमतौर पर इस बात में असंगति होती है कि लोग किसके लिए जाने जाते हैं, वे किसके लिए जाने जाना चाहेंगे, और वे वास्तव में किस पर काम कर रहे हैं। मेरे मामले में, मैं संभवतः Keras, डीप लर्निंग फ्रेमवर्क, बनाने के लिए सबसे अधिक जाना जाता हूं।
आप वास्तव में क्या करते हैं?
मैं Google के माउंटेन व्यू स्थित Brain टीम में काम करता हूं, जहां मैं अपना अधिकांश समय Keras विकसित करने में बिताता हूं। तो मुझे लगता है कि जो मैं करता हूं और लोग जो समझते हैं कि मैं करता हूं, उनमें काफी अच्छी समानता है।
मैं TensorFlow, जो Google का मशीन लर्निंग फ्रेमवर्क है और जिसके साथ Keras एकीकृत है, में भी योगदान देता हूं। इसके अलावा, मैं कई विषयों पर शोध करता हूं। हाल ही में मैंने मशीन अनुवाद, कंप्यूटर विज़न, और प्रमेय सिद्ध करने में डीप लर्निंग लागू करने पर शोधपत्रों पर काम किया है। मेरा मुख्य शोध रुचि AI में अमूर्तन और तर्क के प्रश्न को समझना है—कैसे संवेदना से अमूर्त, अत्यधिक-सामान्यीकृत मॉडलों तक पहुंचा जाए।
आप Keras पैकेज के लेखक के रूप में सुविख्यात हैं, जो Python में डीप लर्निंग के लिए एक ओपन सोर्स न्यूरल नेटवर्क है: डीप लर्निंग क्या है?
डीप लर्निंग मशीन लर्निंग का एक विशिष्ट दृष्टिकोण है, जो पहले के तरीकों की तुलना में कहीं अधिक शक्तिशाली और लचीला साबित हुआ है। अधिकांश अनुप्रयोगों में, जिसे हम "डीप लर्निंग" कहते हैं, उसे इस रूप में समझा जा सकता है कि यह बड़ी मात्रा में मानव द्वारा एनोटेट किए गए डेटा को एक ऐसे सॉफ्टवेयर में बदलने का तरीका है जो नए डेटा को स्वचालित रूप से वैसे ही एनोटेट कर सके जैसा मनुष्य करते हैं। आप इस तरह से कई अलग-अलग कार्यों का स्वचालन कर सकते हैं। डीप लर्निंग विशेष रूप से "सेंसरी" डेटा, जैसे छवियां, वीडियो या ध्वनि, को समझने में अच्छा है।
यहां एक ठोस उदाहरण है। तस्वीरों का एक बड़ा संग्रह लें, जिसमें प्रत्येक तस्वीर से जुड़े कुछ टैग हों ("कुत्ता", "बिल्ली", आदि)। डीप लर्निंग आपको अपने डेटा को स्वचालित रूप से एक ऐसे सिस्टम में बदलने देता है जो उदाहरणों से ही सीखते हुए, बिना किसी मैनुअल ट्यूनिंग या कस्टम इंजीनियरिंग के, तस्वीरों को टैग्स से मैप करना "समझ" सके। ऐसा सिस्टम फिर नए डेटा पर लागू किया जा सकता है, और तस्वीरों को टैग करने के कार्य का प्रभावी स्वचालन कर सकता है।
इसी तरह, आप डीप लर्निंग को मशीन अनुवाद, वाक् पहचान, टेक्स्ट-टू-स्पीच, ऑपटिकल कैरेक्टर रिकग्निशन आदि जैसी विस्तृत समस्याओं पर लागू कर सकते हैं।
आपकी नई किताब Deep Learning with Python के लिए बधाई। आपने यह किताब क्यों लिखी?
यह किताब किसी ऐसे व्यक्ति को डीप लर्निंग सिखाने के लिए पाठ्यक्रम तैयार करने का मेरा प्रयास है जिसके पास Python कोडिंग की क्षमता है लेकिन मशीन लर्निंग की कोई पृष्ठभूमि नहीं है। मैं बिना किसी बात को हल्का किए, डीप लर्निंग को यथासंभव सुलभ बनाना चाहता हूं। और यह संभव भी है, क्योंकि ज्यादातर मामलों में डीप लर्निंग में बहुत कठिन विचार नहीं होते।
Python संभवतः सबसे तेज़ी से बढ़ने वाली प्रोग्रामिंग भाषा है, कम से कम उच्च-आय वाले देशों में। आपके लिए और व्यापक प्रोग्रामिंग समुदाय के लिए Python क्यों?
मुझे Python पसंद है। इसे सीखना आसान है और आप इसका जितना अधिक उपयोग करते हैं, यह उतना ही अधिक उत्पादक बनता जाता है, चाहे आप इसे कितने भी समय से उपयोग कर रहे हों। मेरी उपयोग की गई अधिकांश अन्य भाषाओं की तुलना में यह बहुत सहज और सुरुचिपूर्ण लगती है। लेकिन Python की असली खासियत भाषा में नहीं, बल्कि उसके आसपास के इकोसिस्टम और समुदाय में है। आपको जो भी करना हो—किसी विशेष फाइल फॉर्मेट को पार्स करना, किसी विशेष सिस्टम के साथ इंटरफेस करना—लगभग निश्चित रूप से उसके लिए एक Python लाइब्रेरी मौजूद है, इसलिए आपको उसे खुद लागू करने में समय नहीं लगाना पड़ता। डेटा साइंस और मशीन लर्निंग के मामले में तो यह और भी सच है—numpy, pandas, scikit-learn, plotting लाइब्रेरीज़ आदि जैसे बहुत से बेहतरीन टूल्स हैं। इससे Python एक बहुत ही उत्पादक भाषा बन जाती है।
इसके अलावा, मुझे यह भी पसंद है कि Python कोई डोमेन-विशिष्ट भाषा नहीं है, बल्कि यह वेब डेवलपमेंट से लेकर डेटा साइंस और सिस्टम एडमिनिस्ट्रेशन तक, कई डोमेनों के संगम पर स्थित है। इसका मतलब यह है कि उदाहरण के लिए, अपने Keras मॉडलों को वेब API के रूप में तैनात करने के लिए आपको किसी नई भाषा पर स्विच नहीं करना पड़ता। आपको जो भी करना हो—वेबऐप लॉन्च करना, किसी REST API को क्वेरी करना, कुछ फाइलें पार्स करना, अत्याधुनिक डीप लर्निंग मॉडल ट्रेन करना—Python आम तौर पर एक ठोस विकल्प है।
ऐसा माना जाता है कि जो लोग मशीन लर्निंग और कृत्रिम बुद्धिमत्ता विकसित करने के क्षेत्र में आना चाहते हैं, उनके लिए प्रवेश में बाधाएं हैं। आवश्यक कौशल और तकनीकों के लोकतंत्रीकरण पर आपका क्या दृष्टिकोण है?
मुझे नहीं लगता कि यह सच है। पिछले 5 वर्षों में मशीन लर्निंग में आना अत्यंत आसान हो गया है। हां, 5-7 साल पहले यह कठिन था। आपको शायद स्नातकोत्तर शिक्षा की जरूरत पड़ती। आपको अपने दम पर बहुत से लो-लेवल एल्गोरिद्म लिखने पड़ते, आम तौर पर C++ या Matlab में। मैंने यह सब झेला है। आजकल बात अलग है। आपको बस Python चाहिए, जिसे सीखना कहीं आसान है, और आपके पास Keras जैसे हाई-लेवल और आसान-से-उपयोग टूल्स हैं। ऊपर से, आप ऑनलाइन बहुत उच्च-गुणवत्ता वाले संसाधनों से सीख सकते हैं, और Kaggle पर वास्तविक दुनिया की समस्याओं पर अभ्यास कर सकते हैं। सीखना कभी इतना आसान नहीं रहा।
तो इस समय, आप बस मेरी किताब उठाएं, Keras इंस्टॉल करें, कुछ Kaggle चुनौतियां हल करें, और कुछ महीनों में आप व्यावहारिक समस्याओं पर मशीन लर्निंग और डीप लर्निंग के साथ काफी उत्पादक हो जाएंगे।
Keras और आपकी नई किताब इस दर्शन में कैसे फिट बैठती हैं?
जब मैंने शुरू में Keras जारी किया था, तो मेरा विशेष रूप से डीप लर्निंग को लोकतांत्रिक बनाने का इरादा नहीं था। लेकिन समय के साथ, मैंने अनगिनत लोगों को Keras के जरिए डीप लर्निंग अपनाते और उसे ऐसे-ऐसे तरीकों से विभिन्न प्रकार की समस्याओं पर लागू करते देखा, जिसकी मैंने उम्मीद नहीं की थी, और यह मेरे लिए बेहद रोचक रहा है। मुझे एहसास हुआ है कि डीप लर्निंग को रूपांतरकारी तरीकों से, सिलिकॉन वैली के लोगों की कल्पना से कहीं अधिक क्षेत्रों में तैनात किया जा सकता है। बहुत से लोग हैं जो अपने काम में डीप लर्निंग का उपयोग करके लाभान्वित हो सकते हैं। परिणामस्वरूप, मैंने इन तकनीकों को संभवतः अधिक से अधिक लोगों तक पहुंचाने के बारे में गहरी परवाह करना शुरू किया है, और यह Keras का प्राथमिक डिजाइन लक्ष्य बन गया है। AI को उसकी पूरी क्षमता तक तैनात करने का यही एक तरीका है—इसे व्यापक रूप से उपलब्ध बनाकर।
मेरी किताब इसी दिशा में एक और कदम उठाने का प्रयास है: मैं यथासंभव अधिक से अधिक लोगों को सही तरीके से डीप लर्निंग में ऑनबोर्ड करना चाहता हूं, ताकि वे इसका उपयोग उन समस्याओं को सुलझाने में कर सकें जिनसे वे परिचित हैं और जिनके अस्तित्व का मुझे अंदाज़ा भी नहीं। केवल आसान-से-उपयोग टूल्स उपलब्ध कराना पर्याप्त नहीं है, आपको लोगों को सिखाने के लिए सीखने की सामग्री भी देनी चाहिए कि इन टूल्स का उपयोग कैसे करें।
शुरुआती लोगों के लिए सीखने की सबसे महत्वपूर्ण बातें क्या हैं? वे यह कैसे कर सकते हैं?
सबसे महत्वपूर्ण बात शायद यह समझ विकसित करना है कि डीप लर्निंग क्या कर सकता है और क्या नहीं कर सकता। इसके साथ ही, कुछ प्रमुख सर्वोत्तम प्रथाओं का अनुभव विकसित करना, जैसे मॉडलों का सही मूल्यांकन कैसे करें और ओवरफिटिंग से कैसे लड़ें। इसके लिए औपचारिक व्याख्याओं और वास्तविक दुनिया की समस्याओं पर व्यापक अभ्यास—दोनों का संयोजन आवश्यक है।
कृत्रिम बुद्धिमत्ता शब्द सुनकर बहुत से लोगों के मन में संवेदनशील रोबोट की छवि आ जाती है। हम ऐसे सुर्खियां देखते हैं जैसे 'Google AI ने अपना 'चाइल्ड' AI बना लिया जो मनुष्यों द्वारा बनाए सिस्टम से अधिक उन्नत है'। मुझे आपकी मदद चाहिए कि AI वास्तव में क्या है, इसे समझाया जाए। कृत्रिम बुद्धिमत्ता किस चीज़ में सक्षम है?
निस्संदेह, इस क्षेत्र में बहुत हाइप है। AI और डीप लर्निंग की मीडिया कवरेज का एक बड़ा हिस्सा वास्तविकता से नाटकीय रूप से कटा हुआ है—चाहे डराने वाली कहानियां हों या वे कथाएं कि AI सब कुछ अद्भुत बना देगा।
जहां तक बात है कि AI आज क्या कर सकता है, यह एक कठिन प्रश्न है। मैं कहूंगा कि AI जिन कामों को कर सकता है, वे तीन श्रेणियों में आते हैं:
- ऐसे कार्य करना जहां हम उन नियमों को पूरी तरह और स्पष्ट रूप से निर्दिष्ट कर सकें जिनका AI को पालन करना है। इसे मूलतः "प्रतीकात्मक AI" कहा जाता है, या व्यावहारिक रूप से, "सॉफ्टवेयर विकास"। जैसा कि कोई भी प्रोग्रामर जानता है, यह दृष्टिकोण भंगुर होता है और केवल उन्हीं सेटअप में काम करता है जहां सब कुछ नियंत्रण में हो—जो कि वास्तविक दुनिया की समस्याओं में शायद ही होता है।
- सरल संवेदना और अंतर्ज्ञान से जुड़े कार्य, जहां हम नियमों को स्पष्ट रूप से निर्दिष्ट नहीं कर सकते, लेकिन कार्य के बहुत से उदाहरण दे सकते हैं। इसमें डीप लर्निंग की सारी चीजें आती हैं: तस्वीरों का वर्गीकरण, वाक् का ट्रांसक्रिप्शन, आदि। इस मोर्चे पर हमारी क्षमताओं की एक महत्वपूर्ण सीमा यह है कि हमारे मॉडल केवल उन इनपुट्स को संभाल सकते हैं जो उन चीजों के बेहद करीब हों जो उन्होंने पहले देखी हैं—आप अपने प्रशिक्षण डेटा से बहुत दूर नहीं जा सकते। जो हम यहां करते हैं वह मूलतः उच्च-आयामी कर्व फिटिंग का उन्नत रूप है।
- उपरोक्त दोनों का काफी साधारण संयोजन। उदाहरण के लिए, आप एक ऐसे रोबोट की कल्पना कर सकते हैं जिसमें एक डीप लर्निंग मॉड्यूल हो जो उसके आसपास की कई वस्तुओं के प्रकार और स्थिति को निकाल सके, जिसे बहुत से उदाहरणों पर प्रशिक्षित किया गया हो, और इसके साथ एक मॉड्यूल जुड़ा हो जो इन वस्तुओं के हेरफेर के लिए उच्च-स्तरीय नियमों को हार्डकोड करता हो। एक और उदाहरण AlphaGo/AlphaZero होगा, जो मूलतः ब्रूट फोर्स सर्च (स्पष्ट प्रोग्रामिंग) और बहुत से खेलों पर प्रशिक्षित एक डीप लर्निंग मॉड्यूल का संयोजन है, जो किसी बोर्ड स्थिति के मूल्य का "सहज" आकलन कर सकता है।
हुआ यूं है कि जब आप वर्तमान तकनीकों को उनकी पूरी क्षमता तक उपयोग करते हैं, तो आप कई महत्वपूर्ण कार्यों पर अतिमानवीय प्रदर्शन प्राप्त कर सकते हैं, और कई अन्य पर ठीक-ठाक प्रदर्शन। लेकिन यह केवल बहुत संकीर्ण सेटिंग्स में संभव है। और शायद प्रतिकूल-स्वाभाविक रूप से, कई अलग-अलग वर्टिकल कार्यों में बहुत अच्छा होने से उस सामान्य बुद्धिमत्ता और कॉमन सेंस तक पहुंचने का कोई वास्तविक मार्ग नहीं बनता जो एक नन्हे बच्चे में भी होता है—उसकी सीखने और अनुकूलन करने की क्षमताओं की तो बात ही छोड़ दें।
इसके बावजूद, बहुत सारे अत्यंत संकीर्ण कार्यों में वास्तव में अच्छा होना अधिकांश उद्योगों के लिए रूपांतरकारी है। इसलिए आप उम्मीद कर सकते हैं कि अगले 20 वर्षों में AI भारी आर्थिक प्रभाव देगा। आप AI को हमारे युग के स्टीम इंजन की तरह समझ सकते हैं—मानव के हाथों में एक बहुत शक्तिशाली औज़ार, जो कुछ दशकों में आर्थिक परिदृश्य को फिर से आकार देगा। लेकिन संवेदनशील रोबोट कहीं नजर नहीं आते।
कृत्रिम बुद्धिमत्ता किस चीज़ में सक्षम नहीं है?
जिन सभी चीजों को हम स्वचालित करना चाह सकते हैं, उनके समूचे स्पेक्ट्रम में से, AI आज केवल एक बहुत छोटे उपसमुच्चय को ही संभाल सकता है। जिन चीजों को हम नहीं कर सकते, वे उन चीजों से कहीं अधिक हैं जिन्हें हम कर सकते हैं।
सामान्य रूप से, हम विशेष रूप से इन मामलों में कमजोर हैं:
- कोई भी चीज़ जो "ग्राउंडिंग" या "समझ" की मांग करती हो। उदाहरण के लिए, AI प्राकृतिक भाषा का अर्थ नहीं समझ सकता, बल्कि वह भाषा को सांख्यिकीय निर्भरताओं या हार्ड-कोडेड प्रोसेसिंग नियमों के संदर्भ में लेता है। जैसा कि मानव मस्तिष्क में "अर्थ" मौजूद होता है, वह देहधारी मानव अनुभव से उत्पन्न होता है, जिसकी पहुंच हमारे AI मॉडलों को नहीं है—कम से कम फिलहाल। तो आज कोई भी AI सिस्टम अपने कार्य को इस तरह "समझ" नहीं सकता जो किसी मनुष्य के लिए समझ में आए। मॉडल केवल अपने प्रशिक्षण डेटा के सांख्यिकीय मेनीफोल्ड का मानचित्रण करते हैं।
- कोई भी चीज़ जिसमें ऐसे डेटा से निपटना शामिल हो जो उस चीज़ से अलग हो जो AI ने पहले देखी है। AI केवल वे नियम लागू कर सकता है जिन्हें आपने स्पष्ट रूप से कोड किया है, या उन चीज़ों को पहचान सकता है जो उस चीज़ के बहुत, बहुत करीब हों जिस पर उसे प्रशिक्षित किया गया है। आप किसी कार्य में जितनी अनिश्चितता या विविधता जोड़ते हैं, हमारी क्षमताएं घातीय रूप से घटती हैं।
- कोई भी चीज़ जिसमें तर्क और अमूर्तन शामिल हो। या तो हम मशीन में स्पष्ट तर्क के नियम हार्डकोड कर सकते हैं, या फिर हम तर्क कर ही नहीं सकते। वर्तमान AI किसी स्थिति के अमूर्त मॉडल स्वयं नहीं निकाल सकता। तर्क किया जा सकता है कि यही आज AI विकास की मुख्य बाधा है। यदि आप इसे हल कर लें, तो आप जल्दी ही पिछली दोनों बाधाओं को पार कर सकेंगे।
मैंने इस और संबंधित मुद्दों पर एक ब्लॉग पोस्ट लिखा है, जिसका शीर्षक है The limitations of deep learning।
डीप लर्निंग समुदाय के सामने प्रमुख चुनौतियां क्या हैं?
हाइप से लड़ना, नैतिक जागरूकता विकसित करना, और वैज्ञानिक कठोरता अर्जित करना।
हाइप: यह हमारे क्षेत्र को परेशान कर रही है। कुछ लोग हालिया प्रगति को हास्यास्पद तरीकों से बढ़ा-चढ़ाकर पेश कर रहे हैं, हमारी वर्तमान क्षमताओं को बहुत अधिक बेच रहे हैं, और अक्सर मानव-स्तरीय बुद्धिमत्ता को बस कोने के पीछे बताते हैं—जो कि सच नहीं है। यदि हम आसमान-छूती अपेक्षाएं स्थापित करें और फिर उन्हें पूरा करने में विफल रहें, तो हम लोगों को अपने खिलाफ कर रहे हैं। और वैसे भी, यह बौद्धिक रूप से बेईमानी है, और सार्वजनिक बहस के लिए जहरीला है।
नैतिकता: आज जो लोग AI सिस्टम तैनात कर रहे हैं, वे आम तौर पर विशेष रूप से विविध पृष्ठभूमि से नहीं आते, और अक्सर वे उन सिस्टमों के नैतिक निहितार्थों और हानिकारक दुष्प्रभावों से अनभिज्ञ रहते हैं जिन्हें वे बनाते हैं। यह एक बड़ी समस्या है क्योंकि इन लोगों के पास दूसरों पर बढ़ती हुई शक्ति होगी। हमें इन मुद्दों पर अधिक चर्चा करने और AI के संभावित अनैतिक अनुप्रयोगों के प्रति जागरूकता बढ़ाने की जरूरत है—चाहे वह पक्षपाती भविष्यवाणी मॉडल हों जो लोगों के जीवन को प्रभावित करते हैं, AI का बहुत संदिग्ध जगहों पर लागू होना, या हमारे व्यवहार और विचारों को खतरनाक तरीकों से प्रभावित करने के लिए AI का उपयोग।
विज्ञान: हर दिन ढेरों डीप लर्निंग पेपर जारी हो रहे हैं, और उनमें से अधिकांश वास्तव में कोई सार्थक नया ज्ञान उत्पन्न नहीं करते, क्योंकि वे वैज्ञानिक पद्धति का पालन नहीं करते। वे मॉडलों का "मूल्यांकन" धुंधले तरीकों से करते हैं, या अपने प्रशिक्षण डेटा पर ओवरफिट मॉडलों का परीक्षण करते हैं (यह विशेष रूप से जेनरेटिव मॉडल्स और रिइनफोर्समेंट लर्निंग के लिए सही है, जो डीप लर्निंग रिसर्च के सबसे तेजी से बढ़ने वाले विषयों में से हैं), चेरी-पिक्ड परिणामों का उपयोग करते हैं, कृत्रिम रूप से कमजोर बेसलाइनों का उपयोग करते हैं, हाइपरपैरामीटर्स को इस तरह ट्यून करते हैं कि वे किसी विशिष्ट कार्य पर ओवरफिटिंग का कारण बनें, केवल MNIST पर मॉडलों का मूल्यांकन करते हैं, आदि। डीप लर्निंग एक वैज्ञानिक आपदा क्षेत्र है। पीयर रिव्यू अक्सर इन मुद्दों को किसी सार्थक तरीके से संबोधित नहीं करता, शायद आंशिक रूप से इसलिए कि अधिकांश समीक्षक अधिकतम एक-दो साल से ही इस क्षेत्र में हैं (क्योंकि यह क्षेत्र घातीय रूप से बढ़ रहा है)। यदि हम तेज़ी से प्रगति करना चाहते हैं, तो हमें इस क्षेत्र में अनुसंधान पुनरुत्पादकता, बेसलाइन्स, मॉडल मूल्यांकन और सांख्यिकीय महत्व के संबंध में अधिक कठोर अपेक्षाएं डालनी होंगी। अफसोस की बात है कि हमारा वर्तमान प्रोत्साहन तंत्र विज्ञान के खिलाफ झुका हुआ है—हम प्रकाशन को प्रोत्साहित करते हैं, और दुर्भाग्य से प्रकाशित करना आसान तब हो जाता है जब आप अपने शोध को जटिल और रहस्यमय बनाकर पेश करें, जबकि उसकी वास्तविक महत्ता का सही मूल्यांकन असंभव बना दें।
आपके अनुसार डीप लर्निंग का भविष्य कैसा दिखता है?
मैंने इस पर वास्तव में एक ब्लॉग पोस्ट लिखा है। संक्षेप में, मुझे उम्मीद है कि AI बढ़ते हुए "सहज" पैटर्न मान्यता मॉड्यूल्स को औपचारिक तर्क मॉड्यूल्स के साथ मिलाएगा। मुझे यह भी उम्मीद है कि AI विकसित होकर कुछ हद तक स्वचालित सॉफ्टवेयर विकास जैसा बन जाएगा, और आज सॉफ्टवेयर इंजीनियरिंग में पाए जाने वाले अनेक पैटर्न और प्रथाओं को अपनाएगा।
आप केवल एक डेवलपर ही नहीं हैं। Keras ब्लॉग पर, निबंधों में, अपनी किताब में और ट्विटर पर, आप डीप लर्निंग, AI और समग्र रूप से टेक से जुड़े नैतिक मुद्दों पर विचारशील और स्पष्टवादिता से बोलते हैं। क्या आपको लगता है कि डेवलपर्स के ऊपर उस काम के नैतिक पहलुओं पर विचार करने की जिम्मेदारी है जो वे करते हैं?
निश्चित रूप से। मुझे लगता है हाल के वर्षों में व्यापक टेक परिदृश्य में यह कमी रही है। उदाहरण के लिए Facebook को देखें। या अधिकांश स्मार्टफोन गेम्स को। टेक्नोलॉजी कभी निरपेक्ष नहीं होती—क्योंकि यह शक्तिशाली है, क्योंकि यह हमारे जीवन को प्रभावित करती है। जिस तरह आप उत्पादों और तकनीक को डिजाइन करते हैं, आप उसमें सक्रिय रूप से मूल्य डाल रहे होते हैं—चाहे आप इसके प्रति सचेत हों या नहीं। तो बेहतर है कि आप इसे जानबूझकर करें। यदि आप एक सोशल मीडिया प्लेटफ़ॉर्म बनाते हैं और "एंगेजमेंट" को अधिकतम करने की कोशिश करते हैं, तो यह एक नैतिक तौर पर संवेदनशील निर्णय है, जिसके महत्वपूर्ण निहितार्थ हैं। या तो हम परवाह करें और उस तकनीक और शक्ति संरचनाओं के स्पष्ट डिजाइन लक्ष्य के रूप में नैतिकता को शामिल करें जिन्हें हम बनाते हैं, या हम अपने मूल्यों को त्याग दें। यदि आप टेक में हैं, तो आप "किनारे पर" रहने का चुनाव नहीं कर सकते, यह एक भ्रम है।
François Chollet एक AI और डीप लर्निंग शोधकर्ता हैं, Python के लिए अग्रणी डीप लर्निंग फ्रेमवर्क Keras के लेखक हैं, और उनकी नई किताब Deep Learning with Python अभी आई है। इस किताब की रिलीज़ के साथ, मुझे ईमेल के माध्यम से François का साक्षात्कार लेने का आनंद मिला। हमसे @fchollet और @hugobowne पर बेझिझक संपर्क करें।
François, आप Google में एक सॉफ्टवेयर इंजीनियर और कृत्रिम बुद्धिमत्ता शोधकर्ता हैं। मैं जानना चाहूंगा कि आप क्या करते हैं। लेकिन पहले, लोग वास्तव में क्या करते हैं और उनके बारे में आम धारणा क्या है, इन दोनों में अक्सर फर्क होता है। लोग क्या सोचते हैं कि आप क्या करते हैं?
यह एक तीक्ष्ण अवलोकन है, आमतौर पर इस बात में असंगति होती है कि लोग किसके लिए जाने जाते हैं, वे किसके लिए जाने जाना चाहेंगे, और वे वास्तव में किस पर काम कर रहे हैं। मेरे मामले में, मैं संभवतः Keras, डीप लर्निंग फ्रेमवर्क, बनाने के लिए सबसे अधिक जाना जाता हूं।
आप वास्तव में क्या करते हैं?
मैं Google के माउंटेन व्यू स्थित Brain टीम में काम करता हूं, जहां मैं अपना अधिकांश समय Keras विकसित करने में बिताता हूं। तो मुझे लगता है कि जो मैं करता हूं और लोग जो समझते हैं कि मैं करता हूं, उनमें काफी अच्छी समानता है।
मैं TensorFlow, जो Google का मशीन लर्निंग फ्रेमवर्क है और जिसके साथ Keras एकीकृत है, में भी योगदान देता हूं। इसके अलावा, मैं कई विषयों पर शोध करता हूं। हाल ही में मैंने मशीन अनुवाद, कंप्यूटर विज़न, और प्रमेय सिद्ध करने में डीप लर्निंग लागू करने पर शोधपत्रों पर काम किया है। मेरा मुख्य शोध रुचि AI में अमूर्तन और तर्क के प्रश्न को समझना है—कैसे संवेदना से अमूर्त, अत्यधिक-सामान्यीकृत मॉडलों तक पहुंचा जाए।
आप Keras पैकेज के लेखक के रूप में सुविख्यात हैं, जो Python में डीप लर्निंग के लिए एक ओपन सोर्स न्यूरल नेटवर्क है: डीप लर्निंग क्या है?
डीप लर्निंग मशीन लर्निंग का एक विशिष्ट दृष्टिकोण है, जो पहले के तरीकों की तुलना में कहीं अधिक शक्तिशाली और लचीला साबित हुआ है। अधिकांश अनुप्रयोगों में, जिसे हम "डीप लर्निंग" कहते हैं, उसे इस रूप में समझा जा सकता है कि यह बड़ी मात्रा में मानव द्वारा एनोटेट किए गए डेटा को एक ऐसे सॉफ्टवेयर में बदलने का तरीका है जो नए डेटा को स्वचालित रूप से वैसे ही एनोटेट कर सके जैसा मनुष्य करते हैं। आप इस तरह से कई अलग-अलग कार्यों का स्वचालन कर सकते हैं। डीप लर्निंग विशेष रूप से "सेंसरी" डेटा, जैसे छवियां, वीडियो या ध्वनि, को समझने में अच्छा है।
यहां एक ठोस उदाहरण है। तस्वीरों का एक बड़ा संग्रह लें, जिसमें प्रत्येक तस्वीर से जुड़े कुछ टैग हों ("कुत्ता", "बिल्ली", आदि)। डीप लर्निंग आपको अपने डेटा को स्वचालित रूप से एक ऐसे सिस्टम में बदलने देता है जो उदाहरणों से ही सीखते हुए, बिना किसी मैनुअल ट्यूनिंग या कस्टम इंजीनियरिंग के, तस्वीरों को टैग्स से मैप करना "समझ" सके। ऐसा सिस्टम फिर नए डेटा पर लागू किया जा सकता है, और तस्वीरों को टैग करने के कार्य का प्रभावी स्वचालन कर सकता है।
इसी तरह, आप डीप लर्निंग को मशीन अनुवाद, वाक् पहचान, टेक्स्ट-टू-स्पीच, ऑपटिकल कैरेक्टर रिकग्निशन आदि जैसी विस्तृत समस्याओं पर लागू कर सकते हैं।
आपकी नई किताब Deep Learning with Python के लिए बधाई। आपने यह किताब क्यों लिखी?
यह किताब किसी ऐसे व्यक्ति को डीप लर्निंग सिखाने के लिए पाठ्यक्रम तैयार करने का मेरा प्रयास है जिसके पास Python कोडिंग की क्षमता है लेकिन मशीन लर्निंग की कोई पृष्ठभूमि नहीं है। मैं बिना किसी बात को हल्का किए, डीप लर्निंग को यथासंभव सुलभ बनाना चाहता हूं। और यह संभव भी है, क्योंकि ज्यादातर मामलों में डीप लर्निंग में बहुत कठिन विचार नहीं होते।
Python संभवतः सबसे तेज़ी से बढ़ने वाली प्रोग्रामिंग भाषा है, कम से कम उच्च-आय वाले देशों में। आपके लिए और व्यापक प्रोग्रामिंग समुदाय के लिए Python क्यों?
मुझे Python पसंद है। इसे सीखना आसान है और आप इसका जितना अधिक उपयोग करते हैं, यह उतना ही अधिक उत्पादक बनता जाता है, चाहे आप इसे कितने भी समय से उपयोग कर रहे हों। मेरी उपयोग की गई अधिकांश अन्य भाषाओं की तुलना में यह बहुत सहज और सुरुचिपूर्ण लगती है। लेकिन Python की असली खासियत भाषा में नहीं, बल्कि उसके आसपास के इकोसिस्टम और समुदाय में है। आपको जो भी करना हो—किसी विशेष फाइल फॉर्मेट को पार्स करना, किसी विशेष सिस्टम के साथ इंटरफेस करना—लगभग निश्चित रूप से उसके लिए एक Python लाइब्रेरी मौजूद है, इसलिए आपको उसे खुद लागू करने में समय नहीं लगाना पड़ता। डेटा साइंस और मशीन लर्निंग के मामले में तो यह और भी सच है—numpy, pandas, scikit-learn, plotting लाइब्रेरीज़ आदि जैसे बहुत से बेहतरीन टूल्स हैं। इससे Python एक बहुत ही उत्पादक भाषा बन जाती है।
इसके अलावा, मुझे यह भी पसंद है कि Python कोई डोमेन-विशिष्ट भाषा नहीं है, बल्कि यह वेब डेवलपमेंट से लेकर डेटा साइंस और सिस्टम एडमिनिस्ट्रेशन तक, कई डोमेनों के संगम पर स्थित है। इसका मतलब यह है कि उदाहरण के लिए, अपने Keras मॉडलों को वेब API के रूप में तैनात करने के लिए आपको किसी नई भाषा पर स्विच नहीं करना पड़ता। आपको जो भी करना हो—वेबऐप लॉन्च करना, किसी REST API को क्वेरी करना, कुछ फाइलें पार्स करना, अत्याधुनिक डीप लर्निंग मॉडल ट्रेन करना—Python आम तौर पर एक ठोस विकल्प है।
ऐसा माना जाता है कि जो लोग मशीन लर्निंग और कृत्रिम बुद्धिमत्ता विकसित करने के क्षेत्र में आना चाहते हैं, उनके लिए प्रवेश में बाधाएं हैं। आवश्यक कौशल और तकनीकों के लोकतंत्रीकरण पर आपका क्या दृष्टिकोण है?
मुझे नहीं लगता कि यह सच है। पिछले 5 वर्षों में मशीन लर्निंग में आना अत्यंत आसान हो गया है। हां, 5-7 साल पहले यह कठिन था। आपको शायद स्नातकोत्तर शिक्षा की जरूरत पड़ती। आपको अपने दम पर बहुत से लो-लेवल एल्गोरिद्म लिखने पड़ते, आम तौर पर C++ या Matlab में। मैंने यह सब झेला है। आजकल बात अलग है। आपको बस Python चाहिए, जिसे सीखना कहीं आसान है, और आपके पास Keras जैसे हाई-लेवल और आसान-से-उपयोग टूल्स हैं। ऊपर से, आप ऑनलाइन बहुत उच्च-गुणवत्ता वाले संसाधनों से सीख सकते हैं, और Kaggle पर वास्तविक दुनिया की समस्याओं पर अभ्यास कर सकते हैं। सीखना कभी इतना आसान नहीं रहा।
तो इस समय, आप बस मेरी किताब उठाएं, Keras इंस्टॉल करें, कुछ Kaggle चुनौतियां हल करें, और कुछ महीनों में आप व्यावहारिक समस्याओं पर मशीन लर्निंग और डीप लर्निंग के साथ काफी उत्पादक हो जाएंगे।
Keras और आपकी नई किताब इस दर्शन में कैसे फिट बैठती हैं?
जब मैंने शुरू में Keras जारी किया था, तो मेरा विशेष रूप से डीप लर्निंग को लोकतांत्रिक बनाने का इरादा नहीं था। लेकिन समय के साथ, मैंने अनगिनत लोगों को Keras के जरिए डीप लर्निंग अपनाते और उसे ऐसे-ऐसे तरीकों से विभिन्न प्रकार की समस्याओं पर लागू करते देखा, जिसकी मैंने उम्मीद नहीं की थी, और यह मेरे लिए बेहद रोचक रहा है। मुझे एहसास हुआ है कि डीप लर्निंग को रूपांतरकारी तरीकों से, सिलिकॉन वैली के लोगों की कल्पना से कहीं अधिक क्षेत्रों में तैनात किया जा सकता है। बहुत से लोग हैं जो अपने काम में डीप लर्निंग का उपयोग करके लाभान्वित हो सकते हैं। परिणामस्वरूप, मैंने इन तकनीकों को संभवतः अधिक से अधिक लोगों तक पहुंचाने के बारे में गहरी परवाह करना शुरू किया है, और यह Keras का प्राथमिक डिजाइन लक्ष्य बन गया है। AI को उसकी पूरी क्षमता तक तैनात करने का यही एक तरीका है—इसे व्यापक रूप से उपलब्ध बनाकर।
मेरी किताब इसी दिशा में एक और कदम उठाने का प्रयास है: मैं यथासंभव अधिक से अधिक लोगों को सही तरीके से डीप लर्निंग में ऑनबोर्ड करना चाहता हूं, ताकि वे इसका उपयोग उन समस्याओं को सुलझाने में कर सकें जिनसे वे परिचित हैं और जिनके अस्तित्व का मुझे अंदाज़ा भी नहीं। केवल आसान-से-उपयोग टूल्स उपलब्ध कराना पर्याप्त नहीं है, आपको लोगों को सिखाने के लिए सीखने की सामग्री भी देनी चाहिए कि इन टूल्स का उपयोग कैसे करें।
शुरुआती लोगों के लिए सीखने की सबसे महत्वपूर्ण बातें क्या हैं? वे यह कैसे कर सकते हैं?
सबसे महत्वपूर्ण बात शायद यह समझ विकसित करना है कि डीप लर्निंग क्या कर सकता है और क्या नहीं कर सकता। इसके साथ ही, कुछ प्रमुख सर्वोत्तम प्रथाओं का अनुभव विकसित करना, जैसे मॉडलों का सही मूल्यांकन कैसे करें और ओवरफिटिंग से कैसे लड़ें। इसके लिए औपचारिक व्याख्याओं और वास्तविक दुनिया की समस्याओं पर व्यापक अभ्यास—दोनों का संयोजन आवश्यक है।
कृत्रिम बुद्धिमत्ता शब्द सुनकर बहुत से लोगों के मन में संवेदनशील रोबोट की छवि आ जाती है। हम ऐसे सुर्खियां देखते हैं जैसे 'Google AI ने अपना 'चाइल्ड' AI बना लिया जो मनुष्यों द्वारा बनाए सिस्टम से अधिक उन्नत है'। मुझे आपकी मदद चाहिए कि AI वास्तव में क्या है, इसे समझाया जाए। कृत्रिम बुद्धिमत्ता किस चीज़ में सक्षम है?
निस्संदेह, इस क्षेत्र में बहुत हाइप है। AI और डीप लर्निंग की मीडिया कवरेज का एक बड़ा हिस्सा वास्तविकता से नाटकीय रूप से कटा हुआ है—चाहे डराने वाली कहानियां हों या वे कथाएं कि AI सब कुछ अद्भुत बना देगा।
जहां तक बात है कि AI आज क्या कर सकता है, यह एक कठिन प्रश्न है। मैं कहूंगा कि AI जिन कामों को कर सकता है, वे तीन श्रेणियों में आते हैं:
हुआ यूं है कि जब आप वर्तमान तकनीकों को उनकी पूरी क्षमता तक उपयोग करते हैं, तो आप कई महत्वपूर्ण कार्यों पर अतिमानवीय प्रदर्शन प्राप्त कर सकते हैं, और कई अन्य पर ठीक-ठाक प्रदर्शन। लेकिन यह केवल बहुत संकीर्ण सेटिंग्स में संभव है। और शायद प्रतिकूल-स्वाभाविक रूप से, कई अलग-अलग वर्टिकल कार्यों में बहुत अच्छा होने से उस सामान्य बुद्धिमत्ता और कॉमन सेंस तक पहुंचने का कोई वास्तविक मार्ग नहीं बनता जो एक नन्हे बच्चे में भी होता है—उसकी सीखने और अनुकूलन करने की क्षमताओं की तो बात ही छोड़ दें।
इसके बावजूद, बहुत सारे अत्यंत संकीर्ण कार्यों में वास्तव में अच्छा होना अधिकांश उद्योगों के लिए रूपांतरकारी है। इसलिए आप उम्मीद कर सकते हैं कि अगले 20 वर्षों में AI भारी आर्थिक प्रभाव देगा। आप AI को हमारे युग के स्टीम इंजन की तरह समझ सकते हैं—मानव के हाथों में एक बहुत शक्तिशाली औज़ार, जो कुछ दशकों में आर्थिक परिदृश्य को फिर से आकार देगा। लेकिन संवेदनशील रोबोट कहीं नजर नहीं आते।
कृत्रिम बुद्धिमत्ता किस चीज़ में सक्षम नहीं है?
जिन सभी चीजों को हम स्वचालित करना चाह सकते हैं, उनके समूचे स्पेक्ट्रम में से, AI आज केवल एक बहुत छोटे उपसमुच्चय को ही संभाल सकता है। जिन चीजों को हम नहीं कर सकते, वे उन चीजों से कहीं अधिक हैं जिन्हें हम कर सकते हैं।
सामान्य रूप से, हम विशेष रूप से इन मामलों में कमजोर हैं:
मैंने इस और संबंधित मुद्दों पर एक ब्लॉग पोस्ट लिखा है, जिसका शीर्षक है The limitations of deep learning।
डीप लर्निंग समुदाय के सामने प्रमुख चुनौतियां क्या हैं?
हाइप से लड़ना, नैतिक जागरूकता विकसित करना, और वैज्ञानिक कठोरता अर्जित करना।
हाइप: यह हमारे क्षेत्र को परेशान कर रही है। कुछ लोग हालिया प्रगति को हास्यास्पद तरीकों से बढ़ा-चढ़ाकर पेश कर रहे हैं, हमारी वर्तमान क्षमताओं को बहुत अधिक बेच रहे हैं, और अक्सर मानव-स्तरीय बुद्धिमत्ता को बस कोने के पीछे बताते हैं—जो कि सच नहीं है। यदि हम आसमान-छूती अपेक्षाएं स्थापित करें और फिर उन्हें पूरा करने में विफल रहें, तो हम लोगों को अपने खिलाफ कर रहे हैं। और वैसे भी, यह बौद्धिक रूप से बेईमानी है, और सार्वजनिक बहस के लिए जहरीला है।
नैतिकता: आज जो लोग AI सिस्टम तैनात कर रहे हैं, वे आम तौर पर विशेष रूप से विविध पृष्ठभूमि से नहीं आते, और अक्सर वे उन सिस्टमों के नैतिक निहितार्थों और हानिकारक दुष्प्रभावों से अनभिज्ञ रहते हैं जिन्हें वे बनाते हैं। यह एक बड़ी समस्या है क्योंकि इन लोगों के पास दूसरों पर बढ़ती हुई शक्ति होगी। हमें इन मुद्दों पर अधिक चर्चा करने और AI के संभावित अनैतिक अनुप्रयोगों के प्रति जागरूकता बढ़ाने की जरूरत है—चाहे वह पक्षपाती भविष्यवाणी मॉडल हों जो लोगों के जीवन को प्रभावित करते हैं, AI का बहुत संदिग्ध जगहों पर लागू होना, या हमारे व्यवहार और विचारों को खतरनाक तरीकों से प्रभावित करने के लिए AI का उपयोग।
विज्ञान: हर दिन ढेरों डीप लर्निंग पेपर जारी हो रहे हैं, और उनमें से अधिकांश वास्तव में कोई सार्थक नया ज्ञान उत्पन्न नहीं करते, क्योंकि वे वैज्ञानिक पद्धति का पालन नहीं करते। वे मॉडलों का "मूल्यांकन" धुंधले तरीकों से करते हैं, या अपने प्रशिक्षण डेटा पर ओवरफिट मॉडलों का परीक्षण करते हैं (यह विशेष रूप से जेनरेटिव मॉडल्स और रिइनफोर्समेंट लर्निंग के लिए सही है, जो डीप लर्निंग रिसर्च के सबसे तेजी से बढ़ने वाले विषयों में से हैं), चेरी-पिक्ड परिणामों का उपयोग करते हैं, कृत्रिम रूप से कमजोर बेसलाइनों का उपयोग करते हैं, हाइपरपैरामीटर्स को इस तरह ट्यून करते हैं कि वे किसी विशिष्ट कार्य पर ओवरफिटिंग का कारण बनें, केवल MNIST पर मॉडलों का मूल्यांकन करते हैं, आदि। डीप लर्निंग एक वैज्ञानिक आपदा क्षेत्र है। पीयर रिव्यू अक्सर इन मुद्दों को किसी सार्थक तरीके से संबोधित नहीं करता, शायद आंशिक रूप से इसलिए कि अधिकांश समीक्षक अधिकतम एक-दो साल से ही इस क्षेत्र में हैं (क्योंकि यह क्षेत्र घातीय रूप से बढ़ रहा है)। यदि हम तेज़ी से प्रगति करना चाहते हैं, तो हमें इस क्षेत्र में अनुसंधान पुनरुत्पादकता, बेसलाइन्स, मॉडल मूल्यांकन और सांख्यिकीय महत्व के संबंध में अधिक कठोर अपेक्षाएं डालनी होंगी। अफसोस की बात है कि हमारा वर्तमान प्रोत्साहन तंत्र विज्ञान के खिलाफ झुका हुआ है—हम प्रकाशन को प्रोत्साहित करते हैं, और दुर्भाग्य से प्रकाशित करना आसान तब हो जाता है जब आप अपने शोध को जटिल और रहस्यमय बनाकर पेश करें, जबकि उसकी वास्तविक महत्ता का सही मूल्यांकन असंभव बना दें।
आपके अनुसार डीप लर्निंग का भविष्य कैसा दिखता है?
मैंने इस पर वास्तव में एक ब्लॉग पोस्ट लिखा है। संक्षेप में, मुझे उम्मीद है कि AI बढ़ते हुए "सहज" पैटर्न मान्यता मॉड्यूल्स को औपचारिक तर्क मॉड्यूल्स के साथ मिलाएगा। मुझे यह भी उम्मीद है कि AI विकसित होकर कुछ हद तक स्वचालित सॉफ्टवेयर विकास जैसा बन जाएगा, और आज सॉफ्टवेयर इंजीनियरिंग में पाए जाने वाले अनेक पैटर्न और प्रथाओं को अपनाएगा।
आप केवल एक डेवलपर ही नहीं हैं। Keras ब्लॉग पर, निबंधों में, अपनी किताब में और ट्विटर पर, आप डीप लर्निंग, AI और समग्र रूप से टेक से जुड़े नैतिक मुद्दों पर विचारशील और स्पष्टवादिता से बोलते हैं। क्या आपको लगता है कि डेवलपर्स के ऊपर उस काम के नैतिक पहलुओं पर विचार करने की जिम्मेदारी है जो वे करते हैं?
निश्चित रूप से। मुझे लगता है हाल के वर्षों में व्यापक टेक परिदृश्य में यह कमी रही है। उदाहरण के लिए Facebook को देखें। या अधिकांश स्मार्टफोन गेम्स को। टेक्नोलॉजी कभी निरपेक्ष नहीं होती—क्योंकि यह शक्तिशाली है, क्योंकि यह हमारे जीवन को प्रभावित करती है। जिस तरह आप उत्पादों और तकनीक को डिजाइन करते हैं, आप उसमें सक्रिय रूप से मूल्य डाल रहे होते हैं—चाहे आप इसके प्रति सचेत हों या नहीं। तो बेहतर है कि आप इसे जानबूझकर करें। यदि आप एक सोशल मीडिया प्लेटफ़ॉर्म बनाते हैं और "एंगेजमेंट" को अधिकतम करने की कोशिश करते हैं, तो यह एक नैतिक तौर पर संवेदनशील निर्णय है, जिसके महत्वपूर्ण निहितार्थ हैं। या तो हम परवाह करें और उस तकनीक और शक्ति संरचनाओं के स्पष्ट डिजाइन लक्ष्य के रूप में नैतिकता को शामिल करें जिन्हें हम बनाते हैं, या हम अपने मूल्यों को त्याग दें। यदि आप टेक में हैं, तो आप "किनारे पर" रहने का चुनाव नहीं कर सकते, यह एक भ्रम है।