आरबीएम एक दिलचस्प जानवर हैं। आपके प्रश्न का उत्तर देने के लिए, और उन पर अपनी स्मृति जॉग करने के लिए, मैं आरबीएम प्राप्त करूँगा और व्युत्पत्ति के माध्यम से बात करूँगा। आपने उल्लेख किया कि आप संभावना पर भ्रमित हैं, इसलिए मेरी व्युत्पत्ति संभावना को अधिकतम करने के प्रयास के दृष्टिकोण से होगी। तो चलिए शुरू करते हैं।
RBM में दो अलग-अलग सेट होते हैं, जो दृश्यमान और छिपे हुए होते हैं, मैं क्रमशः और h को सूचित करता हूँ । V और h के एक विशिष्ट विन्यास को देखते हुए , हम इसे प्रायिकता स्थान पर मैप करते हैं।vhvh
p(v,h)=e−E(v,h)Z
परिभाषित करने के लिए कुछ और चीजें हैं। सरोगेट फ़ंक्शन जिसे हम एक विशिष्ट कॉन्फ़िगरेशन से प्रायिकता स्थान पर मैप करने के लिए उपयोग करते हैं, उसे ऊर्जा फ़ंक्शन कहा जाता है । जेड लगातार एक सामान्य कारक सुनिश्चित करना है कि हम वास्तव में संभावना अंतरिक्ष करने के लिए नक्शे है। अब हम उस चीज़ को प्राप्त करते हैं जो हम वास्तव में खोज रहे हैं; दृश्यमान न्यूरॉन्स के एक सेट की संभावना, दूसरे शब्दों में, हमारे डेटा की संभावना।
जेड = Σ वी ∈ वी Σ ज ∈ एच ई - ई ( v , ज ) पी ( v =E(v,h)Z
Z=∑v∈V∑h∈He−E(v,h)
p(v)=∑h∈Hp(v,h)=∑h∈He−E(v,h)∑v∈V∑h∈He−E(v,h)
हालांकि इस समीकरण में बहुत सारी शर्तें हैं, यह सही संभावना समीकरण लिखने के लिए नीचे आता है। उम्मीद है, अब तक, इस आपको पता कारण है कि हम ऊर्जा समारोह की जरूरत प्रायिकता की गणना करना, या क्या अधिक आम तौर पर unnormalized संभावना से किया जाता है में मदद मिली है । विभाजन फ़ंक्शन Z के कारण अप्राकृतिक संभावना का उपयोग किया जाता हैp ( v ) ∗ जेडजेड गणना करने के लिए बहुत महंगा है।
अब आइए आरबीएम के वास्तविक शिक्षण चरण के बारे में जानें। संभावना को अधिकतम करने के लिए, प्रत्येक डेटा बिंदु के लिए, हमें बनाने के लिए एक ढाल कदम उठाना होगा । धीरे-धीरे अभिव्यक्ति पाने के लिए यह कुछ गणितीय कलाबाजी करता है। पहली चीज जो हम करते हैं वह है पी ( v ) का लॉग । गणित को संभव बनाने के लिए हम अभी से लॉग प्रोबेबिलिटी स्पेस में काम कर रहे हैं।पी ( v ) = 1पी ( v )
आइए के संबंध में ढाल लेना p में paremeters ( v )
लॉग( p ( v ) ) = लॉग[ ∑ज ∈ जइ- ई( v , h )] - लॉग[ ∑v ∈ वीΣज ∈ जइ- ई( v , h )]
पी ( v )
∂लॉग( पी ( वी ) )∂θ=- 1Σज'∈ जइ- ई( वी , एच')Σज'∈ जइ- ई( वी , एच')∂इ( वी , एच')∂θ+ 1Σv'∈ वीΣज'∈ जइ- ई( v)', एच')Σv'∈ वीΣज'∈ जइ- ई( v)', एच')∂इ( v , h )∂θ
अब मैंने यह कागज़ पर किया और सेमी-फ़ाइनल समीकरण को नीचे लिखा, क्योंकि इस साइट पर बहुत अधिक जगह बर्बाद नहीं हुई थी। मैं आपको इन समीकरणों को स्वयं प्राप्त करने की सलाह देता हूं। अब मैं नीचे कुछ समीकरण लिखूंगा जो हमारी व्युत्पत्ति को जारी रखने में मदद करेगा। ध्यान दें कि: , पी ( v ) = Σ ज ∈ एच पी ( v , ज ) और कहा कि पी ( एच | v ) =जेडp ( v , h ) = e- ई( वी , एच')p ( v ) = ∑ज ∈ जपी ( वी , एच )p ( h | v ) = p ( v , h )पी ( एच )
∂log(p(v))∂θ∂log(p(v))∂θ=−1p(v)∑h′∈Hp(v,h′)∂E(v,h′)∂θ+∑v′∈V∑h′∈Hp(v′,h′)∂E(v′,h′)∂θ=−∑h′∈Hp(h′|v)∂E(v,h′)∂θ+∑v′∈V∑h′∈Hp(v′,h′)∂E(v′,h′)∂θ
And there we go, we derived maximum likelihood estimation for RBM's, if you want you can write the last two terms via expectation of their respective terms (conditional, and joint probability).
Notes on energy function and stochasticity of neurons.
As you can see above in my derivation, I left the definition of the energy function rather vague. And the reason for doing that is that many different versions of RBM implement various energy functions. The one that Hinton describes in the lecture linked above, and shown by @Laurens-Meeus is:
E(v,h)=−aTv−bTh−vTWh.
It might be easier to reason about the gradient terms above via the expectation form.
∂log(p(v))∂θ=−Ep(h′|v)∂E(v,h′)∂θ+Ep(v′,h′)∂E(v′,h′)∂θ
The expectation of the first term is actually really easy to calculate, and that was the genius behind RBMs. By restricting the connection the conditional expectation simply becomes a forward propagation of the RBM with the visible units clamped. This is the so called wake phase in Boltzmann machines. Now calculating the second term is much harder and usually Monte Carlo methods are utilized to do so. Writing the gradient via average of Monte Carlo runs:
∂log(p(v))∂θ≈−⟨∂E(v,h′)∂θ⟩p(h′|v)+⟨∂E(v′,h′)∂θ⟩p(v′,h′)
Calculating the first term is not hard, as stated above, therefore Monte-Carlo is done over the second term. Monte Carlo methods use random successive sampling of the distribution, to calculate the expectation (sum or integral). Now this random sampling in classical RBM's is defined as setting a unit to be either 0 or 1 based on its probability stochasticly, in other words, get a random uniform number, if it is less than the neurons probability set it to 1, if it is greater than set it to 0.