हाल ही में मैंने पढ़ा कि एक आवर्तक तंत्रिका नेटवर्क किसी भी एल्गोरिथ्म का अनुमान लगा सकता है।
तो मेरा सवाल यह है: इसका सही मतलब क्या है और क्या आप मुझे एक संदर्भ दे सकते हैं जहां यह साबित हो?
हाल ही में मैंने पढ़ा कि एक आवर्तक तंत्रिका नेटवर्क किसी भी एल्गोरिथ्म का अनुमान लगा सकता है।
तो मेरा सवाल यह है: इसका सही मतलब क्या है और क्या आप मुझे एक संदर्भ दे सकते हैं जहां यह साबित हो?
जवाबों:
पृष्ठभूमि
हमें पहले गणना के सिद्धांत से कुछ अवधारणाओं पर जाना होगा। एक एल्गोरिथ्म एक फ़ंक्शन की गणना करने के लिए एक प्रक्रिया है। इनपुट को देखते हुए, एल्गोरिथ्म को एक निश्चित संख्या में सही आउटपुट का उत्पादन करना चाहिए और फिर समाप्त करना चाहिए। यह कहने के लिए कि एक फ़ंक्शन संगणनीय है इसका अर्थ है कि इसकी गणना के लिए एक एल्गोरिथ्म मौजूद है। सभी कार्यों के अनंत सेट के बीच, अधिकांश गणना योग्य नहीं हैं। ट्यूरिंग मशीनें एक गणितीय मॉडल हैं जो गणना की धारणा को औपचारिक बनाती हैं। अन्य समकक्ष मॉडल मौजूद हैं, लेकिन ट्यूरिंग मशीनें मानक 'संदर्भ मॉडल' हैं। चर्च-ट्यूरिंग थीसिस के अनुसार, किसी भी एल्गोरिथ्म को ट्यूरिंग मशीन द्वारा कार्यान्वित किया जा सकता है, और सभी संगणनीय कार्यों की गणना इस प्रकार की जा सकती है। ट्यूरिंग मशीन का कोई विशेष उदाहरण केवल एक विशेष कार्य की गणना करता है। लेकिन, ट्यूरिंग मशीनों की एक विशेष श्रेणी मौजूद है जिसे यूनिवर्सल ट्यूरिंग मशीन कहा जाता है जो किसी भी इनपुट के लिए किसी अन्य ट्यूरिंग मशीन का अनुकरण कर सकती है। वे अपने स्वयं के इनपुट के भाग के रूप में सिम्युलेटेड (और इसके इनपुट) होने के लिए मशीन का विवरण लेकर ऐसा करते हैं। इसलिए यूनिवर्सल ट्यूरिंग मशीन का कोई विशेष उदाहरण किसी कम्प्यूटेशनल फ़ंक्शन की गणना कर सकता है (यानी किसी भी एल्गोरिथम को लागू कर सकता है)। इस क्षमता को साझा करने वाली किसी भी प्रणाली को ट्यूरिंग पूर्ण कहा जाता है। यह साबित करने का एक तरीका है कि एक प्रणाली ट्यूरिंग पूर्ण है यह दिखाने के लिए है कि यह एक सार्वभौमिक ट्यूरिंग मशीन का अनुकरण कर सकता है। कई प्रणालियों को ट्यूरिंग पूर्ण (उदाहरण के लिए अधिकांश प्रोग्रामिंग भाषा, कुछ सेलुलर ऑटोमेटा और क्वांटम यांत्रिकी ) दिखाया गया है ।
आवर्तक तंत्रिका नेटवर्क
निम्न पेपर से पता चलता है कि, किसी भी कम्प्यूटेशनल फ़ंक्शन के लिए, एक परिमित आवर्तक तंत्रिका नेटवर्क (RNN) मौजूद है जो इसे गणना कर सकता है। इसके अलावा, परिमित RNN मौजूद हैं जो ट्यूरिंग पूर्ण हैं, और इसलिए किसी भी एल्गोरिथ्म को लागू कर सकते हैं।
सीगलमन और सोंटाग (1992) । तंत्रिका जाल की कम्प्यूटेशनल शक्ति पर
वे बार-बार जुड़ी इकाइयों की एक सीमित संख्या वाले नेटवर्क का उपयोग करते हैं, जो प्रत्येक समय बिंदु पर बाहरी इनपुट प्राप्त करते हैं। प्रत्येक इकाई की स्थिति को उसके इनपुटों (साथ ही एक पूर्वाग्रह) की भारित राशि के द्वारा दिया जाता है, जो एक गैर-रेखीय सक्रियण फ़ंक्शन के माध्यम से चलता है। सक्रियण फ़ंक्शन एक संतृप्त रैखिक फ़ंक्शन है, जो एक सिग्मोइड का एक टुकड़ा करने योग्य रैखिक सन्निकटन है। वज़न और पूर्वाग्रह निश्चित हैं, इसलिए कोई सीख नहीं होती है।
नेटवर्क बाइनरी इनपुट अनुक्रम से एक बाइनरी आउटपुट अनुक्रम में मैपिंग करता है। नेटवर्क में दो बाहरी इनपुट होते हैं, जो सभी इकाइयों को दिए जाते हैं: एक 'डेटा लाइन' और 'सत्यापन लाइन'। डेटा लाइन में शून्य और लोगों के इनपुट अनुक्रम होते हैं, फिर इनपुट अनुक्रम समाप्त होने के बाद शून्य होता है। सत्यापन लाइन नेटवर्क को यह बताती है कि इनपुट अनुक्रम कब हो रहा है। इसमें इनपुट अनुक्रम की अवधि के लिए एक होता है, फिर समाप्त होने के बाद शून्य। एक इकाई को 'आउटपुट यूनिट' माना जाता है। यह कुछ मनमाने विलंब के लिए शून्य आउटपुट करता है, फिर शून्य और लोगों का आउटपुट अनुक्रम, फिर आउटपुट अनुक्रम समाप्त होने के बाद शून्य। एक अन्य इकाई को 'सत्यापन इकाई' माना जाता है, जो हमें पता है कि आउटपुट अनुक्रम कब हो रहा है।
यद्यपि ये आरएनएन बाइनरी आउटपुट अनुक्रमों के लिए बाइनरी इनपुट अनुक्रमों को मैप करते हैं, हम विभिन्न अन्य गणितीय वस्तुओं (अन्य प्रकार की संख्या, वैक्टर, चित्र, ग्राफ़, आदि) पर परिभाषित कार्यों में रुचि ले सकते हैं। लेकिन, किसी भी कम्प्यूटेशनल फ़ंक्शन के लिए, इन अन्य प्रकार की वस्तुओं को द्विआधारी अनुक्रम के रूप में एन्कोड किया जा सकता है (उदाहरण के लिए प्राकृतिक संख्याओं का उपयोग करके अन्य वस्तुओं को एन्कोडिंग के विवरण के लिए यहां देखें , जो कि बाइनरी में प्रतिनिधित्व कर सकते हैं)।
परिणाम
वे दिखाते हैं कि, प्रत्येक कम्प्यूटेशनल फ़ंक्शन के लिए, एक परिमित RNN (ऊपर वर्णित रूप) मौजूद है जो इसकी गणना कर सकता है। वे ऐसा करके दिखाते हैं कि दो स्टैक के साथ एक पुशडाउन ऑटोमेटन को स्पष्ट रूप से अनुकरण करने के लिए आरएनएन का उपयोग करना संभव है। यह एक और मॉडल है जो कम्प्यूटेशनल रूप से ट्यूरिंग मशीन के बराबर है। किसी भी कम्प्यूटेशनल फ़ंक्शन की गणना ट्यूरिंग मशीन द्वारा की जा सकती है। किसी भी ट्यूरिंग मशीन को दो ढेर के साथ एक पुशडाउन ऑटोमैटन द्वारा सिम्युलेटेड किया जा सकता है। दो स्टैक के साथ किसी भी पुशडाउन ऑटोमेटन को एक आरएनएन द्वारा नकली किया जा सकता है। इसलिए, किसी भी गणना योग्य फ़ंक्शन की गणना एक आरएनएन द्वारा की जा सकती है। इसके अलावा, क्योंकि कुछ ट्यूरिंग मशीनें सार्वभौमिक हैं, आरएनएन जो उन्हें अनुकरण करते हैं वे ट्यूरिंग पूर्ण हैं, और इसलिए किसी भी एल्गोरिथ्म को लागू कर सकते हैं। विशेष रूप से, वे बताते हैं कि 1058 या उससे कम इकाइयों के साथ ट्यूरिंग पूरा RNN मौजूद है।
अन्य परिणाम
अनुकार परिणामों का एक दिलचस्प परिणाम यह है कि RNN के व्यवहार के बारे में कुछ प्रश्न अनिर्दिष्ट हैं। इसका मतलब यह है कि कोई एल्गोरिथ्म मौजूद नहीं है जो उन्हें मनमाने ढंग से आरएनएन के लिए जवाब दे सकता है (हालांकि वे विशेष आरएनएन के मामले में जवाबदेह हो सकते हैं )। उदाहरण के लिए, यह सवाल कि क्या किसी दी गई इकाई का मूल्य कभी 0 होता है या नहीं; यदि कोई सामान्य रूप से इस प्रश्न का उत्तर दे सकता है, तो ट्यूरिंग मशीनों के लिए हॉल्टिंग समस्या को हल करना संभव होगा , जो कि अयोग्य है।
कम्प्यूटेशनल शक्ति
उपरोक्त कागज में, सभी नेटवर्क पैरामीटर और राज्य तर्कसंगत संख्याएं हैं। यह महत्वपूर्ण है क्योंकि यह RNN की शक्ति को कम करता है, और परिणामस्वरूप नेटवर्क को अधिक यथार्थवादी बनाता है। कारण यह है कि तर्कसंगत गणना करने योग्य संख्याएं हैं , जिसका अर्थ है कि उन्हें मनमाने ढंग से सटीक करने के लिए गणना करने के लिए एक एल्गोरिथ्म मौजूद है। अधिकांश वास्तविक संख्याएं अविश्वसनीय हैं, और इसलिए दुर्गम हैं - यहां तक कि सबसे शक्तिशाली ट्यूरिंग मशीन भी उनका प्रतिनिधित्व नहीं कर सकती है, और कई लोगों को संदेह है कि उन्हें भौतिक दुनिया में भी प्रतिनिधित्व किया जा सकता है। जब हम डिजिटल कंप्यूटरों पर 'वास्तविक संख्या' के साथ सौदा करते हैं, तो हम एक छोटे से उपसमुच्चय (जैसे 64 बिट फ़्लोटिंग पॉइंट नंबर) तक पहुँच रहे हैं । मनमानी वास्तविक संख्या का प्रतिनिधित्व करने के लिए अनंत जानकारी की आवश्यकता होगी।
कागज का कहना है कि नेटवर्क को वास्तविक संख्या तक पहुंच प्रदान करने से ट्यूरिंग मशीनों से आगे भी कम्प्यूटेशनल शक्ति को बढ़ावा मिलेगा। सीगलमैन ने इस 'सुपर-ट्यूरिंग' क्षमता की खोज के लिए कई अन्य पत्र लिखे। हालांकि, यह ध्यान रखना महत्वपूर्ण है कि ये गणितीय मॉडल हैं, और परिणाम का मतलब यह नहीं है कि ऐसी मशीन वास्तव में भौतिक दुनिया में मौजूद हो सकती है। यह सोचने के लिए अच्छे कारण हैं कि यह नहीं हो सकता है, हालांकि यह एक खुला प्रश्न है।
मुझे लगता है कि आप यही देख रहे हैं। इस आदमी ने साबित कर दिया कि एक बहुपरत, या एक भी परत फीडफॉर्वर्ड नेटवर्क किसी भी फ़ंक्शन को अनुमानित कर सकता है, बशर्ते कि नेट में कई छिपी हुई इकाइयाँ हों।
हॉर्निक, के। (1991)। बहुपरत फीडफॉर्वर्ड नेटवर्क की लगभग क्षमता। तंत्रिका नेटवर्क, 4 (2), 251-257।