Word2vec में फीचर मैट्रिक्स क्या है?


10

मैं तंत्रिका नेटवर्क में एक शुरुआत कर रहा हूँ और वर्तमान में मैं word2vec मॉडल की खोज कर रहा हूँ। हालाँकि मुझे यह समझने में कठिन समय है कि फीचर मैट्रिक्स वास्तव में क्या है।

यहाँ छवि विवरण दर्ज करें

मैं समझ सकता हूं कि पहला मैट्रिक्स किसी दिए गए शब्द के लिए एक-गर्म एन्कोडिंग वेक्टर है, लेकिन दूसरा मैट्रिक्स क्या दर्शाता है? विशेष रूप से, उन मूल्यों में से प्रत्येक का क्या मतलब है (यानी 17, 24, 1 आदि)?


मेरे पास Google द्वारा जेनरेट किए गए W के बारे में एक प्रश्न है, क्या आप मुझे Google द्वारा दिए गए मूल्यों के बारे में अधिक जानकारी दे सकते हैं? इस सुविधा का उपयोग क्या है? आपकी मदद के लिए thx
हम्बी

जवाबों:


8

Word2vec के पीछे विचार यह आयाम की वास्तविक संख्या का एक वेक्टर द्वारा शब्द का प्रतिनिधित्व करने के लिए है । इसलिए दूसरा मैट्रिक्स उन शब्दों का प्रतिनिधित्व है।

इस मैट्रिक्स की i -th लाइन i -th शब्द का वेक्टर प्रतिनिधित्व है ।

मान लीजिए कि आपके उदाहरण में आपके 5 शब्द हैं: ["शेर", "बिल्ली", "कुत्ता", "घोड़ा", "माउस"], फिर पहला वेक्टर [0,0,0,1,0] का अर्थ है "हार्स" शब्द पर विचार करना और इसलिए "हार्स" का प्रतिनिधित्व [10, 12, 19] है। इसी तरह, [17, 24, 1] शब्द "लायन" का प्रतिनिधित्व है।

मेरी जानकारी के लिए, इन अभ्यावेदन में प्रत्येक संख्या के लिए विशेष रूप से कोई "मानव अर्थ" नहीं है। एक नंबर प्रतिनिधित्व नहीं कर रहा है कि क्या शब्द एक क्रिया है या नहीं, एक विशेषण है या नहीं ... यह सिर्फ वजन है जो आप अपने शब्दों की प्रतिनिधित्व को जानने के लिए अपनी अनुकूलन समस्या को हल करने के लिए बदलते हैं।

यह ट्यूटोरियल मदद कर सकता है: http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/ हालांकि मुझे लगता है कि आपके द्वारा डाली गई छवि इस लिंक से थी।

आप यह भी जांच सकते हैं, जो आपको टेंसर के साथ शब्द वैक्टर के साथ आरंभ करने में मदद कर सकता है। फ़्लो: https://www.tensorflow.org/tutorials/word2vec


5

टीएल; डीआर :

पहला मैट्रिक्स एक गर्म प्रारूप में इनपुट वेक्टर का प्रतिनिधित्व करता है

दूसरा मैट्रिक्स इनपुट लेयर न्यूरॉन्स से छिपे हुए लेयर न्यूरॉन्स तक सिनैप्टिक वेट का प्रतिनिधित्व करता है

लंबा संस्करण :

"क्या सुविधा मैट्रिक्स वास्तव में है"

ऐसा लगता है कि आपने प्रतिनिधित्व को सही ढंग से नहीं समझा है। वह मैट्रिक्स एक फीचर मैट्रिक्स नहीं है, बल्कि तंत्रिका नेटवर्क के लिए एक वजन मैट्रिक्स है। नीचे दी गई छवि पर विचार करें। विशेष रूप से बाएं शीर्ष कोने पर ध्यान दें जहां इनपुट परत मैट्रिक्स को वेट मैट्रिक्स के साथ गुणा किया जाता है। यहाँ छवि विवरण दर्ज करें

अब ऊपर दाईं ओर देखें। यह मैट्रिक्स गुणा इनपुटलेयर डॉट-प्रोडक्ट्स विथ वाइट्स ट्रांसपोजर शीर्ष दाईं ओर तंत्रिका नेटवर्क का प्रतिनिधित्व करने का एक आसान तरीका है।

तो, आपके प्रश्न का उत्तर देने के लिए, आपने जो समीकरण पोस्ट किया है वह तंत्रिका नेटवर्क के लिए गणितीय प्रतिनिधित्व है जो Word2Vec एल्गोरिथ्म में उपयोग किया जाता है।

पहला भाग, [० ० ० १ ० ... ०] एक गर्म वेक्टर के रूप में इनपुट शब्द का प्रतिनिधित्व करता है और दूसरा मैट्रिक्स छिपे हुए परत न्यूरॉन्स के लिए इनपुट लेयर न्यूरॉन्स में से प्रत्येक के कनेक्शन के लिए वजन का प्रतिनिधित्व करता है।

Word2Vec ट्रेनों के रूप में, यह इन भारों में बैकप्रोगोगेट्स करता है और उन्हें वैक्टर के रूप में शब्दों का बेहतर प्रतिनिधित्व देने के लिए बदलता है।

एक बार प्रशिक्षण पूरा होने के बाद, आप केवल इस वेट मैट्रिक्स का उपयोग करते हैं, कहने के लिए [0 0 1 0 0 ... 0] लें और इसे डायमेंशन में 'डॉग' का सदिश प्रतिनिधित्व पाने के लिए बेहतर वेट मैट्रिक्स से गुणा करें = छिपी हुई परत न्यूरॉन्स की नहीं।

आपके द्वारा प्रस्तुत किए गए आरेख में, छिपे हुए परत न्यूरॉन्स की संख्या 3 है

तो दाहिने हाथ की ओर मूल रूप से वेक्टर शब्द है।

छवि क्रेडिट: http://www.datasciencecentral.com/profiles/blogs/matrix-multiplication-in-neural-networks

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