एक LSTM मॉडल में मापदंडों की संख्या


43

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

जवाबों:


29

LSTM में 2 (3) गेटों में से प्रत्येक के लिए 2 मैट्रिसेस का सेट है: U और W। आरेख में (।) इन मैट्रिक्स के इनपुट और आउटपुट साथ गुणा का संकेत देता है ।xh

  • U के आयामn×m
  • W के आयामn×n
  • वहाँ तीन फाटकों से प्रत्येक के लिए इन मैट्रिक्स का एक अलग सेट (की तरह है के लिए मत भूलना गेट आदि)Uforget
  • सेल स्थिति S को अद्यतन करने के लिए इन मैट्रिक्स का एक और सेट है
  • उल्लिखित मैट्रिसेस के शीर्ष पर, आपको पूर्वाग्रहों (चित्र में नहीं) को गिनने की आवश्यकता है

इसलिए कुल # पैरामीटर =4(nm+n2+n)

LSTM सार ब्लॉक


2
हार्डवेयर सीखने की आवश्यकताओं और गहरी सीखने की परियोजना की योजना के बारे में व्यावहारिक निर्णय लेते समय मैंने स्वयं इस प्रश्न का सामना किया। पुनश्च: मैं सिर्फ प्रतिष्ठा अंक हासिल करने के लिए अपने खुद के सवाल का जवाब नहीं दिया। मैं जानना चाहता हूं कि क्या मेरा जवाब समुदाय से सही है।
वाबेट

1
आपने पूर्वाग्रह इकाइयों की अनदेखी की है। आदम ऊदाद का जवाब नीचे देखें।
अरुण

1
बायसेप्स नहीं हैं। मैंने उत्तर संपादित किया है।
एस्कैचर 12

21

पिछले उत्तरों के बाद, LSTM के मापदंडों की संख्या, आकार इनपुट वैक्टर ले और आकार आउटपुट वैक्टर दे रहा है:एनmn

4(nm+n2)

हालाँकि अगर आपके LSTM में बायस वैक्टर शामिल हैं, ( उदाहरण के लिए keras में यह डिफ़ॉल्ट है ), संख्या बन जाती है:

4(nm+n2+n)

2
यह एकमात्र पूर्ण उत्तर है। हर दूसरे उत्तर में पूर्वाग्रह न्यूरॉन्स के मामले को अनदेखा करने के लिए सामग्री दिखाई देती है।
मोनिका

1
एक ठोस उदाहरण देने के लिए, यदि आपके इनपुट में m = 25 आयाम हैं और आप n = 100 इकाइयों के साथ LSTM परत का उपयोग करते हैं, तो params की संख्या = 4 * (100 * 25 + 100 ** 2 + 100) = 50400.
arun

1
मान लीजिए कि मैं टाइमस्टेप डेटा का उपयोग कर रहा हूं, क्या मेरी समझ सही है? n = 100: इसका मतलब है कि मेरे पास प्रत्येक नमूने (उदाहरण) में 100 टाइमस्टेप होंगे, इसलिए मुझे 100 इकाइयों की आवश्यकता है। m = 25 का मतलब प्रत्येक टाइमस्टेप पर, मेरे पास 25 विशेषताएं हैं जैसे [वजन, ऊंचाई, आयु ...]।
जसन झंग

2
@ajonzhang टाइमस्टेप्स की संख्या प्रासंगिक नहीं है, क्योंकि उसी LSTM सेल को आपके इनपुट वैक्टर (प्रत्येक टाइमस्टेप के लिए एक वेक्टर) पर पुन: लागू किया जाएगा। क्या कहा जाता है "इकाइयों" प्रत्येक आउटपुट वेक्टर का आकार भी है, टाइमस्टेप की संख्या नहीं।
एडम ओउदाद

12

के अनुसार इस :

LSTM सेल संरचना

LSTM सेल संरचना

LSTM समीकरण

LSTM समीकरण

नॉन-लीनियरिटीज को इनग्र करना

नॉन-लीनियरिटीज को इनग्र करना

यदि इनपुट x_t आकार n × 1 है, और d मेमोरी सेल हैं, तो W ∗ और U ∗ में से प्रत्येक का आकार d × n , और d × d सम्मान है। के आकार डब्ल्यू तो हो जाएगा 4d × (n + घ) । ध्यान दें कि dd मेमोरी सेल्स में से प्रत्येक का अपना वजन W U और U the होता है, और यह कि केवल मेमोरी सेल वैल्यू को अन्य LSTM इकाइयों के साथ साझा किया जाता है, जो U U के साथ उत्पाद के दौरान होता है ।

शानदार प्रस्तुति के लिए अरुण माल्या को धन्यवाद।

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