मुझे आशा है कि आप मेरी मदद कर सकते हैं, क्योंकि इस विषय पर मेरे कुछ प्रश्न हैं। मैं गहरी शिक्षा के क्षेत्र में नया हूं, और जब मैंने कुछ ट्यूटोरियल किए, तो मैं एक दूसरे से अवधारणाओं को संबंधित या अलग नहीं कर सकता।
मुझे आशा है कि आप मेरी मदद कर सकते हैं, क्योंकि इस विषय पर मेरे कुछ प्रश्न हैं। मैं गहरी शिक्षा के क्षेत्र में नया हूं, और जब मैंने कुछ ट्यूटोरियल किए, तो मैं एक दूसरे से अवधारणाओं को संबंधित या अलग नहीं कर सकता।
जवाबों:
आइए पहले बहुत सरल वर्गीकरण कार्य को हल करने का प्रयास करें। कहते हैं, आप एक वेब फोरम को मॉडरेट करते हैं जो कभी-कभी स्पैम संदेशों से भर जाता है। ये संदेश आसानी से पहचाने जा सकते हैं - अक्सर इनमें विशिष्ट शब्द होते हैं जैसे "खरीदना", "पोर्न", आदि और बाहरी संसाधनों के लिए एक URL। आप फ़िल्टर बनाना चाहते हैं जो आपको ऐसे संदिग्ध संदेशों के बारे में सचेत करेगा। यह बहुत आसान हो जाता है - आप सुविधाओं की सूची प्राप्त करते हैं (उदाहरण के लिए संदिग्ध शब्दों की सूची और URL की उपस्थिति) और ट्रेन सरल लॉजिस्टिक प्रतिगमन (उर्फ परसेप्ट्रान), जैसे मॉडल:
g(w0 + w1*x1 + w2*x2 + ... + wnxn)
x1..xn
आपकी सुविधाएँ कहाँ हैं (या तो विशिष्ट शब्द या URL की उपस्थिति), w0..wn
- गुणांक सीखा और परिणाम बनाने के लिए g()
एक लॉजिस्टिक फ़ंक्शन है जो 0 और 1 के बीच होना चाहिए। यह बहुत ही सरल क्लासिफायरियर है, लेकिन इस सरल कार्य के लिए यह बहुत अच्छा परिणाम दे सकता है, जिससे आप बना सकते हैं रैखिक निर्णय सीमा। यह मानकर कि आपने केवल 2 सुविधाओं का उपयोग किया है, यह सीमा कुछ इस तरह दिख सकती है:
यहाँ 2 कुल्हाड़ियों की विशेषताओं का प्रतिनिधित्व करते हैं (उदाहरण के लिए किसी संदेश में विशिष्ट शब्दों की संख्या, शून्य के आसपास सामान्यीकृत), स्पैम और नीले बिंदुओं के लिए लाल बिंदु रहते हैं - सामान्य संदेशों के लिए, जबकि काली रेखा पृथक्करण रेखा दिखाती है।
लेकिन जल्द ही आप ध्यान देते हैं कि कुछ अच्छे संदेशों में "खरीदना" शब्द की बहुत सारी घटनाएं होती हैं, लेकिन कोई URL या पोर्न का पता लगाने की विस्तारित चर्चा नहीं होती है, न कि वास्तव में पोर्न फिल्मों की पुन: पुष्टि होती है। रैखिक निर्णय सीमा बस ऐसी स्थितियों को संभाल नहीं सकती है। इसके बजाय आपको कुछ इस तरह की आवश्यकता है:
यह नई गैर-रैखिक निर्णय सीमा बहुत अधिक लचीली है , अर्थात यह डेटा को बहुत करीब से फिट कर सकती है। इस गैर-रैखिकता को प्राप्त करने के कई तरीके हैं - आप बहुपद सुविधाओं (जैसे x1^2
) या उनके संयोजन (जैसे x1*x2
) का उपयोग कर सकते हैं या उन्हें कर्नेल विधियों की तरह उच्च आयाम पर प्रोजेक्ट कर सकते हैं । लेकिन तंत्रिका नेटवर्क में यह द्वारा इसे हल करने की आम है perceptrons के संयोजन या दूसरे शब्दों में, का निर्माण करके बहुपरत perceptron। यहां गैर-रैखिकता परतों के बीच लॉजिस्टिक फ़ंक्शन से आती है। अधिक परतें, अधिक परिष्कृत पैटर्न एमएलपी द्वारा कवर किए जा सकते हैं। सिंगल लेयर (परसेप्ट्रॉन) सरल स्पैम डिटेक्शन को संभाल सकती है, 2-3 लेयर वाला नेटवर्क फीचर्स के ट्रिकी कॉम्बिनेशन को पकड़ सकता है, और 5-9 लेयर्स के नेटवर्क को, जो बड़ी रिसर्च लैब और Google जैसी कंपनियों द्वारा उपयोग किया जाता है, पूरी भाषा को मॉडल कर सकता है या बिल्लियों का पता लगा सकता है। छवियों पर।
गहरे आर्किटेक्चर होने के लिए यह आवश्यक कारण है - वे अधिक परिष्कृत पैटर्न मॉडल कर सकते हैं ।
केवल एक विशेषता और रैखिक निर्णय सीमा के साथ वास्तव में केवल 2 प्रशिक्षण उदाहरणों के लिए पर्याप्त है - एक सकारात्मक और एक नकारात्मक। कई सुविधाओं और / या गैर रेखीय निर्णय सीमा के साथ आप कई आदेशों और उदाहरण की जरूरत है सभी संभव मामलों को कवर करने (जैसे आप केवल के साथ उदाहरणों को खोजने की जरूरत नहीं word1
, word2
और word3
, लेकिन यह भी सभी संभव उनके संयोजनों के साथ)। और वास्तविक जीवन में आपको सैकड़ों और हजारों विशेषताओं (जैसे किसी भाषा में शब्द या किसी छवि में पिक्सेल) और कम से कम कई परतों में पर्याप्त गैर-रैखिकता से निपटने की आवश्यकता होती है। डेटा सेट का आकार, ऐसे नेटवर्क को पूरी तरह से प्रशिक्षित करने के लिए आवश्यक है, आसानी से 10 ^ 30 उदाहरणों से अधिक है, जिससे पर्याप्त डेटा प्राप्त करना पूरी तरह से असंभव है। दूसरे शब्दों में, कई विशेषताओं और कई परतों के साथ हमारा निर्णय कार्य बहुत लचीला हो जाता हैयह ठीक से जानने के लिए सक्षम होने के लिए ।
हालाँकि, लगभग इसे सीखने के तरीके हैं । उदाहरण के लिए, यदि हम संभाव्य सेटिंग्स में काम कर रहे थे, तो हम सभी विशेषताओं के सभी संयोजनों की आवृत्तियों को सीखने के बजाय यह मान सकते हैं कि वे स्वतंत्र हैं और केवल व्यक्तिगत आवृत्तियों को सीखते हैं, एक बे बे में पूर्ण और बिना पढ़े बेयर्स के क्लासिफायर को कम करते हैं और इस प्रकार बहुत आवश्यकता होती है, सीखने के लिए बहुत कम डेटा।
तंत्रिका नेटवर्क में निर्णय समारोह की जटिलता (लचीलेपन) को कम करने के लिए (सार्थक) कई प्रयास किए गए थे। उदाहरण के लिए, दृढ़ नेटवर्क, बड़े पैमाने पर छवि वर्गीकरण में उपयोग किया जाता है, आस-पास के पिक्सेल के बीच केवल स्थानीय कनेक्शन मानें और इस प्रकार केवल छोटे "विंडोज़" के अंदर पिक्सेल के संयोजन सीखने की कोशिश करें (जैसे, 16x16 पिक्सल = 256 इनपुट न्यूरॉन्स) पूर्ण छवियों के विपरीत (कहते हैं, 100x100 पिक्सेल = 10000 इनपुट न्यूरॉन्स)। अन्य दृष्टिकोणों में फीचर इंजीनियरिंग, यानी इनपुट डेटा के विशिष्ट, मानव-खोजी वर्णनकर्ता शामिल हैं।
मैन्युअल रूप से खोजी गई विशेषताएं वास्तव में बहुत आशाजनक हैं। प्राकृतिक भाषा प्रसंस्करण में, उदाहरण के लिए, यह कभी-कभी विशेष शब्दकोशों का उपयोग करने में सहायक होता है (जैसे कि स्पैम-विशिष्ट शब्द) या नकार को पकड़ना (जैसे " अच्छा नहीं ")। और कंप्यूटर विज़न की चीजों में जैसे SURF डिस्क्रिप्टर या Haar जैसी विशेषताएं लगभग अपूरणीय हैं।
लेकिन मैनुअल फीचर इंजीनियरिंग के साथ समस्या यह है कि अच्छे डिस्क्रिप्टर के साथ आने में शाब्दिक वर्षों का समय लगता है। इसके अलावा, ये विशेषताएं अक्सर विशिष्ट होती हैं
लेकिन यह पता चलता है कि हम ऐसे एल्गोरिदम का उपयोग करके डेटा से स्वचालित रूप से सही विशेषताएं प्राप्त कर सकते हैं जैसे कि ऑटोकेनोडर्स और प्रतिबंधित बोल्ट्ज़मन मशीनें । मैंने उन्हें अपने अन्य उत्तर में विस्तार से वर्णित किया , लेकिन संक्षेप में उन्होंने इनपुट डेटा में दोहराया पैटर्न खोजने और इसे उच्च-स्तरीय सुविधाओं में बदलने की अनुमति दी । उदाहरण के लिए, इनपुट के रूप में केवल पंक्ति पिक्सेल मान दिए जाने पर, ये एल्गोरिथम उच्चतर किनारों की पहचान कर सकते हैं और पारित कर सकते हैं, फिर इन किनारों से आंकड़े और इतने पर निर्माण करते हैं, जब तक कि आपको वास्तव में उच्च-स्तरीय वर्णनकर्ता नहीं मिलते हैं जैसे चेहरे में भिन्नता।
इस तरह के (असुरक्षित) के बाद प्रीट्रेनिंग नेटवर्क को आमतौर पर एमएलपी में परिवर्तित किया जाता है और सामान्य पर्यवेक्षण प्रशिक्षण के लिए उपयोग किया जाता है। ध्यान दें, कि pretraining परत-वार किया जाता है। यह एल्गोरिथ्म सीखने के लिए समाधान स्थान को कम करता है (और इस प्रकार आवश्यक प्रशिक्षण उदाहरणों की संख्या) क्योंकि इसमें केवल प्रत्येक परत के अंदर मापदंडों को सीखने की आवश्यकता होती है, बिना किसी अन्य परत को ध्यान में रखे।
पिछले कुछ समय से अनसुपर्विज्ड प्रीट्रेनिंग यहां हो रही है, लेकिन हाल ही में अन्य एल्गोरिदम को दोनों को सीखने में सुधार करने के लिए पाया गया - एक साथ प्रीट्रेनिंग और इसके बिना। ऐसे एल्गोरिथम का एक उल्लेखनीय उदाहरण है छोड़ने वालों की सरल तकनीक, कि बेतरतीब ढंग से प्रशिक्षण के दौरान कुछ न्यूरॉन्स "बाहर चला जाता है", कुछ विरूपण creatig और भी बारीकी से डेटा निम्न में से नेटवर्क को रोकने -। यह अभी भी एक गर्म शोध विषय है, इसलिए मैं इसे एक पाठक पर छोड़ता हूं।
पहले हमें यह समझने की आवश्यकता है कि हमें डीप लर्निंग की आवश्यकता क्यों है। मॉडल बनाने के लिए ML की आवश्यकता लेबल के साथ टेस्ट डेटा (पर्यवेक्षित या अनुपयोगी) है। कई डोमेन में जैसे-जैसे डेटा बढ़ता है, लेबल के साथ डेटा को बनाए रखना कठिन होता है। डीप लर्निंग नेटवर्क को लेबल वाले डेटा की आवश्यकता नहीं होती है। डीप लर्निंग एल्गोरिदम लेबल का पता लगा सकता है। तो इससे डोमेन विशेषज्ञों को डेटा के लिए लेबल के साथ आने की आवश्यकता होती है जो भाषण मान्यता, कंप्यूटर दृष्टि और भाषा समझ के क्षेत्रों में बहुत महत्वपूर्ण है। Google कैट छवि मान्यता एक बहुत ही रोचक प्रयोग है। यह भी जानना दिलचस्प है कि "जेफ्री हिंटन" प्रोफेसर, जो Google द्वारा काम पर रखा गया था।
http://www.wired.com/2014/01/geoffrey-hinton-deep-learning/
जैसे ही आप इस ढांचे में खोज करेंगे आपको अधिक जानकारी मिल सकती है।
दीप लर्निंग लंबे समय से है। सीएनएन, आरएनएन, बोल्ट्जमैन मशीनें निश्चित रूप से नई तकनीकों की तरह दिखती हैं, लेकिन वे लंबे समय पहले विकसित किए गए थे। गहन शिक्षा के इतिहास की जाँच करें
https://en.wikipedia.org/wiki/Deep_learning#History
डीप लर्निंग का पुनरुत्थान इस तथ्य के कारण है कि कम्प्यूटेशनल शक्तियां उस समय से तेजी से बढ़ीं। GPU से लैस एक लैपटॉप के साथ आप एक जटिल प्रशिक्षण ले सकते हैं डीप लर्निंग मॉडल अपने पिछले दिनों की तुलना में बहुत कम समय है। गहरी शिक्षण मॉडल भी अनुभवजन्य रूप से बहुत कुशल हैं। चित्र, भाषण और कई क्षेत्रों में कला की वर्तमान स्थिति दीप लर्निंग मॉडल है।
मेरा मानना है कि इन कारकों के कारण हम एनएलपी / एमएल समुदाय के बहुत से दीप लर्निंग पर अपना ध्यान केंद्रित कर सकते हैं।