प्रतिबंधित बोल्ट्जमैन मशीन

एक प्रतिबंधित बोल्ट्ज़मैन मशीन (आरबीएम) एक जनरेटिव मॉडल स्टोकेस्टिक तंत्रिका नेटवर्क  कृत्रिम तंत्रिका नेटवर्क है जो अपने इनपुट के सेट पर संभाव्यता वितरण सीख सकता है।

आरबीएम का आविष्कार सबसे पहले 1986 में पॉल स्मोलेंस्की द्वारा हारमोनियम नाम से किया गया था। और जेफ्री हिंटन और सहयोगियों द्वारा 2000 के मध्य में उनके लिए तेजी से सीखने वाले एल्गोरिदम का आविष्कार करने के बाद प्रमुखता में वृद्धि हुई। आरबीएम ने आयाम में कमी में आवेदन पाया है, सांख्यिकीय वर्गीकरण, सहयोगी को छानने, फीचर लर्निंग, विषय मॉडलिंग और यहां तक ​​कि कई-शरीर की समस्या भी। कार्य के आधार पर उन्हें पर्यवेक्षित शिक्षण या अप्रशिक्षित शिक्षण तरीकों में प्रशिक्षित किया जा सकता है।

जैसा कि उनके नाम से पता चलता है, आरबीएम बोल्ट्ज़मैन मशीनों का एक प्रकार है, इस प्रतिबंध के साथ कि उनके कृत्रिम तंत्रिका नेटवर्क # न्यूरॉन को एक द्विदलीय ग्राफ बनाना चाहिए: इकाइयों के दो समूहों में से प्रत्येक से नोड्स की एक जोड़ी (आमतौर पर क्रमशः दृश्यमान और छिपी हुई इकाइयों के रूप में संदर्भित) उनके बीच एक सममित संबंध हो सकता है; और समूह के भीतर नोड्स के बीच कोई संबंध नहीं है। इसके विपरीत, अप्रतिबंधित Boltzmann मशीनों में कृत्रिम तंत्रिका नेटवर्क#छिपी हुई इकाइयों के बीच संबंध हो सकते हैं। यह प्रतिबंध बोल्ट्जमैन मशीनों के सामान्य वर्ग के लिए उपलब्ध की तुलना में अधिक कुशल प्रशिक्षण एल्गोरिदम की अनुमति देता है, विशेष रूप से ढतला हुआ वंश  | ग्रेडिएंट-आधारित कंट्रास्टिव डाइवर्जेंस एल्गोरिदम। प्रतिबंधित बोल्ट्जमैन मशीनों का उपयोग गहन शिक्षण नेटवर्क में भी किया जा सकता है। विशेष रूप से, गहन विश्वास नेटवर्क आरबीएम को ढेर करके और वैकल्पिक रूप से परिणामी गहरे नेटवर्क को ग्रेडिएंट डिसेंट और backpropagation के साथ ठीक-ठीक करके बनाया जा सकता है।

संरचना
आरबीएम के मानक प्रकार में बाइनरी-वैल्यू (बूलियन बीजगणित) छिपी हुई और दृश्यमान इकाइयाँ होती हैं, और इसमें वज़न का एक मैट्रिक्स (गणित) होता है $$W$$ आकार का $$m\times n$$. प्रत्येक वजन तत्व $$(w_{i,j})$$ मैट्रिक्स का दृश्य (इनपुट) इकाई के बीच संबंध के साथ जुड़ा हुआ है $$v_i$$ और छिपी हुई इकाई $$h_j$$. इसके अलावा, पूर्वाग्रह भार (ऑफ़सेट) हैं $$a_i$$ के लिए $$v_i$$ और $$b_j$$ के लिए $$h_j$$. वज़न और पक्षपात को देखते हुए, कॉन्फ़िगरेशन की ऊर्जा (बूलियन वैक्टर की जोड़ी) $(v,h)$ परिभाषित किया जाता है


 * $$E(v,h) = -\sum_i a_i v_i - \sum_j b_j h_j -\sum_i \sum_j v_i w_{i,j} h_j$$

या, मैट्रिक्स संकेतन में,


 * $$E(v,h) = -a^{\mathrm{T}} v - b^{\mathrm{T}} h -v^{\mathrm{T}} W h.$$

यह ऊर्जा कार्य हॉपफील्ड नेटवर्क के अनुरूप है। सामान्य बोल्ट्जमैन मशीनों की तरह, दृश्यमान और छिपे हुए वैक्टर के लिए संयुक्त संभाव्यता वितरण को ऊर्जा कार्य के संदर्भ में निम्नानुसार परिभाषित किया गया है,
 * $$P(v,h) = \frac{1}{Z} e^{-E(v,h)}$$

कहाँ $$Z$$ एक विभाजन कार्य (गणित) है जिसे योग के रूप में परिभाषित किया गया है $$e^{-E(v,h)}$$ सभी संभावित विन्यासों पर, जिसे सामान्यीकरण स्थिरांक के रूप में व्याख्या की जा सकती है ताकि यह सुनिश्चित किया जा सके कि संभावनाओं का योग 1 है। एक दृश्य सदिश का सीमांत वितरण का योग है $$P(v,h)$$ सभी संभावित छिपे हुए परत विन्यासों पर,


 * $$P(v) = \frac{1}{Z} \sum_{\{h\}} e^{-E(v,h)}$$,

और इसके विपरीत। चूंकि RBM की अंतर्निहित ग्राफ़ संरचना द्विदलीय ग्राफ़ है (जिसका अर्थ है कि कोई इंट्रा-लेयर कनेक्शन नहीं है), छिपी हुई इकाई सक्रियता सशर्त स्वतंत्रता है जिसे दृश्य इकाई सक्रियता दी गई है। इसके विपरीत, छिपी हुई इकाई सक्रियता को देखते हुए दृश्यमान इकाई सक्रियता पारस्परिक रूप से स्वतंत्र होती है। यही है, एम दृश्यमान इकाइयों और एन छिपी इकाइयों के लिए, दृश्यमान इकाइयों की कॉन्फ़िगरेशन की सशर्त संभावना $v$, छिपी हुई इकाइयों का विन्यास दिया गया है $h$, है


 * $$P(v|h) = \prod_{i=1}^m P(v_i|h)$$.

इसके विपरीत, की सशर्त संभावना $h$ दिया गया $v$ है


 * $$P(h|v) = \prod_{j=1}^n P(h_j|v)$$.

व्यक्तिगत सक्रियण संभावनाएँ द्वारा दी गई हैं


 * $$P(h_j=1|v) = \sigma \left(b_j + \sum_{i=1}^m w_{i,j} v_i \right)$$ और $$\,P(v_i=1|h) = \sigma \left(a_i + \sum_{j=1}^n w_{i,j} h_j \right)$$

कहाँ $$\sigma$$ लॉजिस्टिक फंक्शन को दर्शाता है।

प्रतिबंधित बोल्ट्ज़मैन मशीन की दृश्य इकाइयाँ बहुराष्ट्रीय वितरण हो सकती हैं, हालाँकि छिपी हुई इकाइयाँ बर्नौली वितरण हैं। इस स्थिति में, दृश्यमान इकाइयों के लिए लॉजिस्टिक फ़ंक्शन को सॉफ्टमैक्स फ़ंक्शन द्वारा प्रतिस्थापित किया जाता है


 * $$P(v_i^k = 1|h) = \frac{\exp(a_i^k + \Sigma_j W_{ij}^k h_j)} {\Sigma_{k'=1}^K \exp(a_i^{k'} + \Sigma_j W_{ij}^{k'} h_j)}$$

जहाँ K दृश्यमान मानों के असतत मानों की संख्या है। वे विषय मॉडलिंग में लागू होते हैं, और सिफारिश प्रणाली।

अन्य मॉडलों से संबंध
प्रतिबंधित बोल्ट्जमैन मशीनें बोल्ट्जमैन मशीनों और मार्कोव यादृच्छिक क्षेत्रों का एक विशेष मामला है। उनका ग्राफिकल मॉडल कारक विश्लेषण के अनुरूप है।

प्रशिक्षण एल्गोरिथ्म
प्रतिबंधित बोल्ट्जमैन मशीनों को कुछ प्रशिक्षण सेट को सौंपी गई संभावनाओं के उत्पाद को अधिकतम करने के लिए प्रशिक्षित किया जाता है $$V$$ (एक मैट्रिक्स, जिसकी प्रत्येक पंक्ति को एक दृश्य वेक्टर के रूप में माना जाता है $$v$$),


 * $$\arg\max_W \prod_{v \in V} P(v)$$

या समकक्ष, एक प्रशिक्षण नमूने की अपेक्षित मूल्य लॉग संभावना को अधिकतम करने के लिए $$v$$ से यादृच्छिक रूप से चुना गया $$V$$:


 * $$\arg\max_W \mathbb{E} \left[ \log P(v)\right]$$

एल्गोरिथम का उपयोग अक्सर RBMs को प्रशिक्षित करने के लिए किया जाता है, अर्थात वज़न मैट्रिक्स को अनुकूलित करने के लिए $$W$$, जेफ्री हिंटन के कारण कंट्रास्टिव डायवर्जेंस (सीडी) एल्गोरिदम है, जिसे मूल रूप से पीओई (विशेषज्ञों के उत्पाद) मॉडल को प्रशिक्षित करने के लिए विकसित किया गया था। एल्गोरिदम गिब्स नमूनाकरण करता है और वजन अद्यतन की गणना करने के लिए ग्रेडियेंट वंश प्रक्रिया के अंदर प्रयोग किया जाता है (जिस तरह बैकप्रोपैगेशन का उपयोग ऐसी प्रक्रिया के अंदर किया जाता है जब फीडफॉरवर्ड न्यूरल नेट को प्रशिक्षित किया जाता है)।

एकल नमूने के लिए मूल, एकल-चरण विपरीत विचलन (CD-1) प्रक्रिया को निम्नानुसार संक्षेपित किया जा सकता है:


 * 1) एक प्रशिक्षण नमूना लें $v$, छिपी हुई इकाइयों की संभावनाओं की गणना करें और एक छिपे हुए सक्रियण वेक्टर का नमूना लें $h$ इस संभाव्यता वितरण से।
 * 2) के बाहरी उत्पाद की गणना करें $v$ और $h$ और इसे धनात्मक प्रवणता कहते हैं।
 * 3) से $h$, एक पुनर्निर्माण का नमूना लें $v'$ दृश्यमान इकाइयों का, फिर छिपी हुई सक्रियता का पुन: नमूना लें $h'$ इस से। (गिब्स नमूनाकरण कदम)
 * 4) के बाहरी उत्पाद की गणना करें $v'$ और $h'$ और इसे नेगेटिव ग्रेडिएंट कहते हैं।
 * 5) वेट मैट्रिक्स को अपडेट करने दें $$W$$ धनात्मक प्रवणता घटा ऋणात्मक प्रवणता, कुछ सीखने की दर का समय: $$\Delta W = \epsilon (vh^\mathsf{T} - v'h'^\mathsf{T})$$.
 * 6) पूर्वाग्रहों को अपडेट करें $a$ और $b$ समान रूप से: $$\Delta a = \epsilon (v - v')$$, $$\Delta b = \epsilon (h - h')$$.

हिंटन द्वारा लिखित प्रशिक्षण आरबीएम के लिए एक व्यावहारिक मार्गदर्शिका उनके होमपेज पर पाई जा सकती है।

स्टैक्ड प्रतिबंधित बोल्ट्जमैन मशीन

 * स्टैक्ड प्रतिबंधित बोल्ट्जमैन मशीनों और आरबीएम के बीच का अंतर यह है कि आरबीएम के पास एक परत के भीतर पार्श्व कनेक्शन हैं जो विश्लेषण को ट्रैक्टेबल बनाने के लिए निषिद्ध हैं। दूसरी ओर, स्टैक्ड बोल्ट्ज़मैन में तीन वर्गों को पहचानने के लिए सममित भार और एक पर्यवेक्षित ठीक-ट्यून वाली शीर्ष परत के साथ एक असुरक्षित तीन-परत नेटवर्क का संयोजन होता है।
 * स्टैक्ड बोल्ट्जमैन का उपयोग प्राकृतिक भाषाओं को समझने, दस्तावेजों को पुनः प्राप्त करने, छवि निर्माण और वर्गीकरण के लिए है। इन कार्यों को अप्रशिक्षित पूर्व-प्रशिक्षण और/या पर्यवेक्षित फ़ाइन-ट्यूनिंग के साथ प्रशिक्षित किया जाता है। आरबीएम के कनेक्शन के लिए दो-तरफ़ा असममित परत के साथ अप्रत्यक्ष सममित शीर्ष परत के विपरीत। प्रतिबंधित बोल्ट्जमैन का कनेक्शन असममित भार के साथ तीन-परत है, और दो नेटवर्क एक में संयुक्त होते हैं।
 * स्टैक्ड बोल्ट्जमैन आरबीएम के साथ समानताएं साझा करता है, स्टैक्ड बोल्ट्जमैन के लिए न्यूरॉन एक स्टोचैस्टिक बाइनरी हॉपफील्ड न्यूरॉन है, जो प्रतिबंधित बोल्ट्जमैन मशीन के समान है। प्रतिबंधित बोल्ट्जमैन और आरबीएम दोनों से ऊर्जा गिब के संभाव्यता माप द्वारा दी गई है: $$E = -\frac12\sum_{i,j}{w_{ij}{s_i}{s_j}}+\sum_i{\theta_i}{s_i}$$. प्रतिबंधित बोल्ट्जमान की प्रशिक्षण प्रक्रिया आरबीएम के समान है। प्रतिबंधित बोल्ट्जमैन ट्रेन एक समय में एक परत और 3-सेगमेंट पास के साथ अनुमानित संतुलन स्थिति, वापस प्रचार नहीं कर रहा है। प्रतिबंधित बोल्ट्जमैन वर्गीकरण और मान्यता के लिए पूर्व-प्रशिक्षण के लिए अलग-अलग आरबीएम पर पर्यवेक्षित और गैर-पर्यवेक्षित दोनों का उपयोग करता है। प्रशिक्षण गिब्स नमूने के साथ विपरीत विचलन का उपयोग करता है: Δwij = ई * (पीij - पी'ij)
 * प्रतिबंधित बोल्ट्जमैन की ताकत यह है कि यह एक गैर-रैखिक परिवर्तन करता है, इसलिए इसका विस्तार करना आसान है, और यह सुविधाओं की एक श्रेणीबद्ध परत दे सकता है। कमजोरी यह है कि इसमें पूर्णांक और वास्तविक-मूल्यवान न्यूरॉन्स की जटिल गणना होती है। यह किसी भी फ़ंक्शन के ग्रेडिएंट का अनुसरण नहीं करता है, इसलिए कॉन्ट्रास्टिव डाइवर्जेंस को अधिकतम संभावना के सन्निकटन में सुधार किया गया है।

यह भी देखें

 * ऑटो ऑटोएन्कोडर
 * हेल्महोल्ट्ज़ मशीन

बाहरी संबंध

 * Introduction to Restricted Boltzmann Machines. Edwin Chen's blog, July 18, 2011.
 * . Deeplearning4j Documentation
 * . Deeplearning4j Documentation
 * Python implementation of Bernoulli RBM and tutorial
 * SimpleRBM is a very small RBM code (24kB) useful for you to learn about how RBMs learn and work.
 * Julia implementation of Restricted Boltzmann machines: https://github.com/cossio/RestrictedBoltzmannMachines.jl