एम्बेड करना: अलग-अलग इनपुट का डेटा

मानक डेटा का मतलब ऐसी इनपुट सुविधाओं से है जो विकल्पों के सीमित सेट से एक या ज़्यादा अलग-अलग आइटम दिखाती हैं. उदाहरण के लिए, यह किसी उपयोगकर्ता की देखी गई फ़िल्मों, सेट में शामिल दस्तावेज़ों या किसी व्यक्ति के पेशों के सेट का सेट हो सकता है.

वर्गीकरण डेटा को बहुत कम टेंसर के ज़रिए सबसे बेहतर तरीके से दिखाया जा सकता है, जो कि बहुत कम ज़ीरो एलिमेंट वाले टेंसर हैं. उदाहरण के लिए, अगर हम मूवी सुझाव वाला मॉडल बना रहे हैं, तो हम हर संभावित फ़िल्म को एक यूनीक आईडी दे सकते हैं

फ़िल्म के सुझाव से जुड़ी समस्या के लिए एक सैंपल इनपुट.

तीसरा डायग्राम. फ़िल्म के सुझाव से जुड़ी हमारी समस्या का डेटा.

फ़िगर 3 में मैट्रिक्स की हर पंक्ति, उपयोगकर्ता के फ़िल्म देखने के इतिहास को कैप्चर करने का एक उदाहरण है और इसे कम जानकारी वाली टेंसर के तौर पर दिखाया गया है. ऐसा इसलिए है, क्योंकि हर उपयोगकर्ता सभी संभावित फ़िल्मों का एक छोटा हिस्सा ही देखता है. आखिरी लाइन, फ़िल्म आइकॉन के ऊपर दिखाई देने वाले शब्दावली के इंडेक्स का इस्तेमाल करके, कम शब्दों वाले टेंसर [1, 3, 999999] से मेल खाती है.

इसी तरह, शब्दों, वाक्यों, और दस्तावेज़ों को अलग-अलग वेक्टर के तौर पर दिखाया जा सकता है. शब्दावली में हर शब्द, हमारे सुझाव के उदाहरण में फ़िल्मों से मिलता-जुलता है.

किसी मशीन लर्निंग सिस्टम में इस तरह के प्रज़ेंटेशन का इस्तेमाल करने के लिए, हमें पार्स किए गए हर वेक्टर को नंबर के वेक्टर के तौर पर दिखाना होगा. इससे, वेक्टर स्पेस में मिलते-जुलते आइटम (फ़िल्मों या शब्दों) की दूरी एक जैसी होगी. लेकिन आप किसी शब्द को नंबर के वेक्टर के रूप में कैसे दिखाएंगे?

सबसे आसान तरीका है, अपनी शब्दावली में हर शब्द के लिए, नोड के साथ एक बड़ी इनपुट लेयर या अपने डेटा में दिखने वाले हर शब्द के लिए कम से कम एक नोड तय करना. अगर आपके डेटा में 5,00,000 यूनीक शब्द दिखते हैं, तो आप 5,00,000 वेक्टर वाले शब्द को दिखा सकते हैं और हर शब्द को वेक्टर में स्लॉट के लिए असाइन कर सकते हैं.

अगर आप 1247 को इंडेक्स करने के लिए कोई वैल्यू असाइन करते हैं, तो इसे अपने नेटवर्क में फ़ीड और कोट करें. इसके बाद, बाकी के डेटा में 1 और 1247वें इनपुट नोड में 0 कॉपी करें. इस तरह के वर्शन को एक-हॉट एन्कोडिंग कहा जाता है, क्योंकि सिर्फ़ एक इंडेक्स की शून्य नहीं होती है.

आम तौर पर, आपके वेक्टर में टेक्स्ट के एक बड़े हिस्से के शब्द शामिल हो सकते हैं. इसे "शब्द और वाक्य का बैग कहा जाता है. एक शब्द के बैग में वेक्टर में, 500,000 नोड में से कई का मान शून्य नहीं होगा.

हालांकि, अगर आप शून्य के अलावा किसी और वैल्यू का पता लगाते हैं, तो एक-एक शब्द के लिए, आपको बहुत बहुत कम इनपुट वेक्टर मिलते हैं—बहुत सारे बड़े वेक्टर, जिनमें बहुत कम शून्य वैल्यू होती हैं. कम जानकारी वाले मॉडल में कुछ समस्याएं होती हैं. इनकी वजह से, मॉडल की पहचान करना मुश्किल हो सकता है.

नेटवर्क का साइज़

विशाल इनपुट वेक्टर का मतलब है कि न्यूरल नेटवर्क का वज़न बहुत ज़्यादा होना. अगर आपकी शब्दावली में N शब्द और इनपुट के ऊपर नेटवर्क की पहली परत में N नोड हैं, तो आपके पास उस लेयर के लिए प्रशिक्षित करने के लिए MxN वेट हैं. बड़ी संख्या में ट्रैफ़िक की वजह से और भी समस्याएं आती हैं:

  • डेटा की मात्रा. आपके मॉडल में जितना ज़्यादा महत्व होगा, उतना ही ज़्यादा डेटा आपको असरदार तरीके से ट्रेनिंग देने की ज़रूरत होगी.

  • कैलकुलेशन की रकम. ज़्यादा वज़न, मॉडल को सिखाने और इस्तेमाल करने के लिए ज़्यादा कंप्यूटेशन की ज़रूरत होती है. आपके हार्डवेयर की क्षमताओं को पार करना आसान है.

वेक्टर के बीच अर्थपूर्ण संबंध की कमी

अगर आप इमेज की कैटगरी तय करने के लिए, आरजीबी चैनलों की पिक्सल वैल्यू फ़ीड कर देते हैं, तो सटीक जानकारी के बारे में बात करना ज़्यादा सही होगा. लाल नीला, पूरी तरह से नीले रंग से मिलता-जुलता है. मतलब, वेक्टर के बीच की भौगोलिक दूरी के हिसाब से. लेकिन 1247 वाली इंडेक्स 1247 और &quot"के लिए वेक्टर का इस्तेमाल करने वाला वेक्टर, 10450 में इंडेक्स 50,430 और &कोटेशन और कोट के लिए 1 से ज़्यादा नहीं है.

समाधान: एम्बेड करना

इन समस्याओं को ठीक करना, एम्बेड करने की सुविधा का इस्तेमाल करना है. इस वजह से, बहुत कम पार्सल वाले वेक्टर का सिमैंटिक संबंध सुरक्षित रखने के लिए, उन्हें लो-डाइमेंशन वाले स्पेस में बदल दिया जाता है. हम इस मॉड्यूल के नीचे दिए गए सेक्शन में, सीखने-सिखाने के लिए, आसानी से एम्बेड करने के तरीके और कॉन्सेप्ट की जानकारी एक्सप्लोर करेंगे.