में एलएसटीएम नेटवर्क (Understanding LSTMs) में तन का उपयोग करने की अंतर्ज्ञान क्या है, इनपुट गेट और आउटपुट गेट का उपयोग क्यों करें? इसके पीछे अंतर्ज्ञान क्या है? यह सिर्फ एक nonlinear परिवर्तन है? यदि यह है, तो क्या मैं दोनों को एक और सक्रियण फ़ंक्शन (उदा। आरएलयू) में बदल सकता हूं?एलएसटीएम
एलएसटीएम
उत्तर
Sigmoid
विशेष रूप से, क्योंकि यह 0 और 1 के बीच कोई मान आउटपुट LSTM
में 3 फाटकों (में, बाहर, भूल जाते हैं) के लिए gating समारोह के रूप में प्रयोग किया जाता है, यह या तो कोई प्रवाह या जानकारी की पूरी प्रवाह भर दे सकते हैं फाटकों। दूसरी ओर, गायब ढाल की समस्या को दूर करने के लिए, हमें एक ऐसे फ़ंक्शन की आवश्यकता है जिसका दूसरा व्युत्पन्न शून्य पर जाने से पहले लंबी दूरी तक टिक सके। Tanh
उपरोक्त संपत्ति के साथ एक अच्छा काम है।
एक अच्छी न्यूरॉन इकाई को आसानी से अलग किया जाना चाहिए, मोनोटोनिक (उत्तल अनुकूलन के लिए अच्छा) और संभालना आसान है। यदि आप इन गुणों पर विचार करते हैं, तो मेरा मानना है कि आप tanh
फ़ंक्शन के स्थान पर उपयोग कर सकते हैं क्योंकि वे एक-दूसरे के बहुत अच्छे विकल्प हैं। लेकिन सक्रियण कार्यों के लिए एक विकल्प बनाने से पहले, आपको पता होना चाहिए कि दूसरों पर आपकी पसंद के फायदे और नुकसान क्या हैं। मैं जल्द ही कुछ सक्रियण कार्यों और उनके फायदों का वर्णन कर रहा हूं।
अवग्रह
गणितीय अभिव्यक्ति: sigmoid(z) = 1/(1 + exp(-z))
1 क्रम व्युत्पन्न: sigmoid'(z) = -exp(-z)/1 + exp(-z)^2
लाभ:
(1) Sigmoid function has all the fundamental properties of a good activation function.
tanh
गणितीय अभिव्यक्ति: tanh(z) = [exp(z) - exp(-z)]/[exp(z) + exp(-z)]
1 क्रम व्युत्पन्न: tanh'(z) = 1 - ([exp(z) - exp(-z)]/[exp(z) + exp(-z)])^2 = 1 - tanh^2(z)
लाभ:
(1) Often found to converge faster in practice
(2) Gradient computation is less expensive
हार्ड tanh
गणितीय अभिव्यक्ति: hardtanh(z) = -1 if z < -1; z if -1 <= z <= 1; 1 if z > 1
1 क्रम व्युत्पन्न: hardtanh'(z) = 1 if -1 <= z <= 1; 0 otherwise
लाभ:
(1) Computationally cheaper than Tanh
(2) Saturate for magnitudes of z greater than 1
Relu
गणितीय अभिव्यक्ति: relu(z) = max(z, 0)
1 क्रम व्युत्पन्न: relu'(z) = 1 if z > 0; 0 otherwise
लाभ:
(1) Does not saturate even for large values of z
(2) Found much success in computer vision applications
लीकी Relu
गणितीय अभिव्यक्ति: leaky(z) = max(z, k dot z) where 0 < k < 1
1 क्रम व्युत्पन्न: relu'(z) = 1 if z > 0; k otherwise
लाभ:
(1) Allows propagation of error for non-positive z which ReLU doesn't
यह paper कुछ च बताते हैं एक सक्रियण समारोह। आप इसे पढ़ने पर विचार कर सकते हैं।
तो, मैं कहूंगा कि मैं रिलेयू में सक्रियण को बदलना चाहता हूं, मुझे इनपुट गेट सक्रियण में और आउटपुट गुणा में दोनों tanh को बदलना होगा, क्या यह सही @ वासी अहमद है? – DNK
@ डीएनके हां, मैं एक तरह की स्थिरता बनाए रखने के लिए कहूंगा यह आवश्यक है। –
तो, दूसरे शब्द में, गेट्स के लिए इस्तेमाल सिग्मोइड से -पार्ट- मैं मानक तंत्रिका नेटवर्क परत @ वासी अहमद – DNK
एलएसटीएम एक आंतरिक राज्य वेक्टर का प्रबंधन करते हैं जिसका मूल्य कुछ फ़ंक्शन के आउटपुट को जोड़ने के दौरान बढ़ाने या घटाने में सक्षम होना चाहिए। सिग्मोइड आउटपुट हमेशा गैर-नकारात्मक होता है; राज्य में मूल्य केवल बढ़ेगा। तन से उत्पादन सकारात्मक या नकारात्मक हो सकता है, जिससे राज्य में बढ़ोतरी और कमी आती है।
यही कारण है कि आंतरिक राज्य में जोड़े जाने के लिए उम्मीदवार मूल्य निर्धारित करने के लिए तन का उपयोग किया जाता है। एलएसटीएम के जीआरयू चचेरे भाई के पास दूसरा तन नहीं है, इसलिए एक अर्थ में दूसरा आवश्यक नहीं है। अधिक के लिए क्रिस ओलाह के Understanding LSTM Networks में आरेख और स्पष्टीकरण देखें।
संबंधित प्रश्न, "एलएसटीएम में सिग्मोइड क्यों उपयोग किए जाते हैं, जहां वे हैं?" फ़ंक्शन के संभावित आउटपुट के आधार पर भी उत्तर दिया जाता है: "गेटिंग" को शून्य और एक के बीच की संख्या से गुणा करके हासिल किया जाता है, और यही सिग्मोइड आउटपुट होता है।
सिग्मोइड और तन के डेरिवेटिव्स के बीच वास्तव में सार्थक मतभेद नहीं हैं; तनह सिर्फ एक रसीला और स्थानांतरित सिग्मोइड है: रिचर्ड सॉकर का Neural Tips and Tricks देखें। यदि दूसरा डेरिवेटिव प्रासंगिक हैं, तो मैं जानना चाहता हूं कि कैसे।
यह सही उत्तर है। – ahstat
अच्छा जवाब। भाई। – roachsinai
- 1. एलएसटीएम
- 2. राज्यव्यापी एलएसटीएम
- 3. सीएनटीके एलएसटीएम
- 4. टेन्सफोर्लो सेवा - राज्यव्यापी एलएसटीएम
- 5. एलएसटीएम नेटवर्क में इनपुट tensorflow
- 6. केरास एलएसटीएम प्रशिक्षण डेटा प्रारूप
- 7. बैच-प्रमुख बनाम समय-प्रमुख एलएसटीएम
- 8. केरास में कई एलएसटीएम में से एक
- 9. टेंसर फ्लो - एलएसटीएम - 'टेंसर' ऑब्जेक्ट इट्रेबल
- 10. एक टेन्सरफ्लो एलएसटीएम को synapticjs में अनुवाद करना
- 11. केरास - पाठ वर्गीकरण - एलएसटीएम - पाठ इनपुट कैसे करें?
- 12. टेन्सफोर्लो गतिशील आरएनएन (एलएसटीएम): इनपुट कैसे प्रारूपित करें?
- 13. एलएसटीएम बाइनरी वर्गीकरण के लिए बिल्डिंग स्पीच डेटासेट
- 14. अनुक्रमिक मॉड्यूल के साथ PyTorch में सरल एलएसटीएम
- 15. सहायक इनपुट के साथ केरास में एलएसटीएम मॉडल
- 16. केरास में एलएसटीएम के लिए बहु आयामी इनपुट
- 17. केरास के साथ एक गहरी बिडरेक्शनल एलएसटीएम को कैसे कार्यान्वित करें?
- 18. मैं केरास में एक चर-लंबाई इनपुट एलएसटीएम कैसे बना सकता हूं?
- 19. PyTorch में बैच-इनपुट एलएसटीएम नेटवर्क को सही तरीके से कार्यान्वित कैसे करें?
- 20. एलएसटीएम ऑटोनकोडर कोई प्रगति नहीं करता है जब स्क्रिप्ट बड़े डेटासेट पर चल रहा है
- 21. भावना विश्लेषण के लिए tensorflow का उपयोग कर एलएसटीएम मॉडल को समझना
- 22. थानो का उपयोग कर एलएसटीएम के साथ बहु-लेबल सीखने के लिए कैसे करें?
- 23. Tensorflow का उपयोग कर बहुविकल्पीय समय श्रृंखला आरएनएन। क्या यह एक एलएसटीएम सेल या इसी तरह के साथ संभव है?
- 24. बाहरी सुविधाओं के साथ समय श्रृंखला बहु-चरण क्षितिज के लिए एलएसटीएम में इनपुट डेटा कैसे बनाया जाए?
- 25. मल्टीवायरेट समय श्रृंखला
- 26. टेन्सफोर्लो
- 27. कैफे
- 28. आर
- 29. आवर्तक तंत्रिका नेटवर्क (RNN) - परत को भूल जाओ, और TensorFlow
- 30. केरास
न तो इनपुट गेट और न ही आउटपुट गेट सक्रियण के लिए tanh फ़ंक्शन का उपयोग करें। मुझे लगता है कि एक गलतफहमी है। इनपुट इनपुट गेट ('i_ {t}') और आउटपुट गेट ('o_ {t}') दोनों सिग्मोइड फ़ंक्शन का उपयोग करते हैं। एलएसटीएम नेटवर्क में, उम्मीदवार सेल स्टेटस (आंतरिक स्थिति) मान ('t tilde {c} _ {t}') निर्धारित करने के लिए tanh सक्रियण फ़ंक्शन का उपयोग किया जाता है और छिपी स्थिति ('h_ {t}') अपडेट किया जाता है। –