8

मैं एक टेंसरफ्लो मूल एलएसटीएम के बीच एक इंटरफ़ेस को कार्यान्वित करने पर काम कर रहा हूं जिसे पहले ही प्रशिक्षित किया गया है और एक जावास्क्रिप्ट संस्करण जिसे ब्राउज़र में चलाया जा सकता है। समस्या यह है कि मैंने जो साहित्य पढ़ा है, उनमें एलएसटीएम को मिनी-नेटवर्क्स (केवल कनेक्शन, नोड्स और गेट्स का उपयोग करके) के रूप में मॉडलिंग किया गया है और टेंसरफ्लो में बहुत कुछ चल रहा है।एक टेन्सरफ्लो एलएसटीएम को synapticjs में अनुवाद करना

दो सवाल किया है कि मैं कर रहे हैं:

  1. TensorFlow मॉडल को आसानी से एक और अधिक परंपरागत तंत्रिका नेटवर्क संरचना में अनुवाद किया जा सकता है?

  2. क्या टेंसरफ्लो आपको इस संरचना में देता है कि ट्रेन करने योग्य चर को मैप करने का एक व्यावहारिक तरीका है?

मैं TensorFlow से बाहर 'trainable चर' प्राप्त कर सकते हैं, मुद्दा यह है कि वे केवल LSTM प्रति नोड पूर्वाग्रह, के लिए एक मूल्य की और होता है वह जगह है जहाँ मॉडल मैंने देखा है के लिए कई पूर्वाग्रहों को शामिल किया जाएगा के सबसे मेमोरी सेल, इनपुट और आउटपुट।

उत्तर

8

आंतरिक रूप से, LSTMCell कक्षा एलएसटीएम वजन को दक्षता उद्देश्यों के लिए 8 छोटे लोगों के बजाय एक बड़े मैट्रिक्स के रूप में संग्रहीत करती है। अधिक पारंपरिक प्रतिनिधित्व प्राप्त करने के लिए इसे क्षैतिज और लंबवत विभाजित करना काफी आसान है। हालांकि, यदि आपकी लाइब्रेरी समान अनुकूलन करता है तो यह आसान और अधिक कुशल हो सकता है।

यहाँ BasicLSTMCell के कोड के प्रासंगिक टुकड़ा है:

concat = linear([inputs, h], 4 * self._num_units, True) 

# i = input_gate, j = new_input, f = forget_gate, o = output_gate 
i, j, f, o = array_ops.split(1, 4, concat) 

linear समारोह [batch_size, self._num_units] आकार के 4 मैट्रिक्स में श्रेणीबद्ध इनपुट और पिछले h राज्य को बदलने के लिए आव्यूह गुणन करता है। रैखिक परिवर्तन एक एकल मैट्रिक्स और पूर्वाग्रह चर का उपयोग करता है जिसका आप सवाल में जिक्र कर रहे हैं। इसके परिणामस्वरूप एलएसटीएम परिवर्तन द्वारा उपयोग किए जाने वाले विभिन्न द्वारों में विभाजित किया जाता है।

यदि आप स्पष्ट रूप से प्रत्येक गेट के लिए परिवर्तन प्राप्त करना चाहते हैं, तो आप उस मैट्रिक्स और पूर्वाग्रह को 4 ब्लॉक में विभाजित कर सकते हैं। 4 या 8 रैखिक परिवर्तनों का उपयोग करके इसे स्क्रैच से लागू करना भी काफी आसान है।

संबंधित मुद्दे