प्रतिबंधित बोल्ट्जमैन मशीनों बनाम बहुपरत तंत्रिका नेटवर्क


22

मैं एक वर्गीकरण समस्या के लिए एक तंत्रिका नेटवर्क के साथ प्रयोग करना चाहता हूं जिसे मैं सामना कर रहा हूं। मैं RBM की बात करने वाले पत्रों में भाग गया। लेकिन मैं जो समझ सकता हूं, वे बहुपरत तंत्रिका नेटवर्क से अलग नहीं हैं। यह सटीक है?

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


3
वे बैकपॉप के साथ प्रशिक्षित बहुपरत नेटवर्क से अलग हैं । यहां सभी प्रकार के तंत्रिका जाल के लिए कुछ संसाधन दिए गए हैं: आंकड़े.stackexchange.com/a/36257/13669
जो पीट

जवाबों:


21

सबसे पहले आरबीएम निश्चित रूप से सामान्य तंत्रिका जाल से अलग होते हैं, और जब वे ठीक से उपयोग किए जाते हैं तो वे बहुत बेहतर प्रदर्शन प्राप्त करते हैं। इसके अलावा, एक आरबीएम की कुछ परतों का प्रशिक्षण, और फिर एक Mulitlayer NN के लिए एक प्रारंभिक बिंदु के रूप में पाया भार का उपयोग करके अक्सर एक बहुपरत NN का उपयोग करने से बेहतर परिणाम प्राप्त होता है।

सबसे अच्छा पॉइंटर मैं सोच सकता हूं कि यह कोर्स कोर्टेरा पर है, जो ज्योफ्री हिंटन द्वारा सिखाया गया है, जो आरबीएम के लिए जिम्मेदार लोगों में से एक है:

https://class.coursera.org/neuralnets-2012-001/class/index

RBMs और Denoising Autoencoders के वीडियो विषय में रुचि रखने वाले किसी भी व्यक्ति के लिए एक मूल्यवान शिक्षण संसाधन हैं।

आर में कार्यान्वयन के रूप में, मुझे कोई भी पता नहीं है, लेकिन यदि आप इसे लागू करना चाहते हैं, तो शुद्ध आर का उपयोग न करें (जब तक कि आपका डेटा बड़ा नहीं है)। RBM के प्रशिक्षण में काफी लंबा समय लगता है, और यदि आप R के बजाय C से शुद्ध R का उपयोग करते हैं तो यह काफी बढ़ सकता है।


1
मैं आर के प्रदर्शन के मुद्दों पर बात कर सकता हूं, जैसा कि मैंने इसमें कुछ आरबीएम लिखे हैं। अभिकलन समय का अधिकांश भाग मैट्रिक्स गुणकों पर खर्च किया जाता है, जो अन्य भाषाओं की तुलना में R की तुलना में धीमे होते हैं (शायद 3 या 5 के कारक द्वारा)। एक स्वनिर्धारित BLAS (रैखिक बीजगणित पुस्तकालय) के साथ अपने स्वयं के सिस्टम के लिए पुनः संकलन आर बहुत मदद कर सकता है, जैसे कि Rcpp के साथ C ++ के धीमे भागों का अनुवाद कर सकता है। एक-छिपी-परत आरबीएम लिखना वास्तव में बहुत जल्दी है कि यह संभवत: इसे कोड करने के लिए समझ में आता है जिस भी भाषा में आप गति के लिए अनुकूलन करने से पहले सबसे अधिक आरामदायक हैं।
डेविड जे। हैरिस

@ डेविड जे हैरिस क्या आपने आर में अपने किसी भी कार्यान्वयन को साझा किया है? मैं उन पर एक नज़र रखना पसंद करूंगा।
Zach

1
@Zach मैं इस समय बहुत व्यस्त हूं, लेकिन मैं देखूंगा कि भविष्य में मैं इसे ओपन-सोर्सिंग के बारे में क्या कर सकता हूं। यदि आप किसी अनिर्दिष्ट / आधे-अधूरे प्रोजेक्ट के माध्यम से छंटनी नहीं करते हैं, तो इसकी एक प्रति के लिए आप मुझे मेरी प्रोफ़ाइल के पते पर भी ईमेल कर सकते हैं।
डेविड जे। हैरिस

8

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

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

संपादित करें: सांख्यिकीय महत्वपूर्ण से एंड्रयू लैंडग्राफ आरबीएम के लिए कुछ आर कोड प्रदान करता है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.