एम्बेड करना

मान लें कि आपको खाने के सुझाव देने वाला ऐप्लिकेशन डेवलप करना है, जहां लोग अपने पसंदीदा खाने की जानकारी डालते हैं और ऐप्लिकेशन से मिलते-जुलते खाने के सुझाव मिलते हैं जो उन्हें पसंद आ सकते हैं. जब आपको मशीन लर्निंग (एमएल) मॉडल डेवलप करना हो जो खाने की समानता का अनुमान लगा सकता है, ताकि आपका ऐप्लिकेशन अच्छी क्वालिटी बना सके सुझाव ("क्योंकि आपको पैनकेक पसंद है, इसलिए हम क्रेप का सुझाव देते हैं").

अपने मॉडल को ट्रेनिंग देने के लिए, आपको 5,000 लोकप्रिय डेटासेट का डेटासेट तैयार करना होगा खाने की चीज़ें, जिनमें Borscht भी शामिल हैं, हॉट डॉग, सलाद, पिज़्ज़ा, और शावर्मा.

चित्र 1.  खाने-पीने की पांच चीज़ों का इलस्ट्रेशन. से घड़ी की दिशा में
       ऊपर बाईं ओर: बोर्स्ट, हॉट डॉग, सलाद, पिज़्ज़ा, शावर्मा.
पहला डायग्राम. खाने के डेटासेट में शामिल खाने के आइटम की सैंपलिंग.

आप एक ऐसी meal सुविधा बनाते हैं जिसमें वन-हॉट एन्कोडेड डेटासेट में हर खाने के आइटम को दिखाना.

चित्र 2.  टॉप: बोर्स्ट के लिए वन-हॉट एन्कोडिंग का विज़ुअलाइज़ेशन.
       वेक्टर [1, 0, 0, 0, ..., 0] छह बॉक्स के ऊपर दिखता है,
       हर एक को बाईं ओर से अलाइन किया गया
       दाईं ओर स्क्रोल करें. बॉक्स, बाईं से दाईं ओर
       इनमें ये इमेज शामिल हैं: बोर्स्ट, हॉट डॉग, सलाद, पिज़्ज़ा, [खाली],
       शावर्मा. बीच में: हॉट डॉग के लिए वन-हॉट एन्कोडिंग का विज़ुअलाइज़ेशन.
       हर वेक्टर [0, 1, 0, 0, ..., 0] को छह बॉक्स के ऊपर दिखाया गया है
       किसी एक वेक्टर नंबर के साथ, बाएं से दाएं अलाइन होता है. बॉक्स में
       बॉर्श विज़ुअलाइज़ेशन के लिए चुनी गई इमेज, बाईं से दाईं ओर
       पढ़ें. नीचे: शावर्मा के लिए वन-हॉट एन्कोडिंग का विज़ुअलाइज़ेशन. कॉन्टेंट बनाने
       वेक्टर [0, 0, 0, 0, ..., 1] छह बॉक्स के ऊपर दिखती है और हर बॉक्स अलाइन है
       वेक्टर संख्या में से किसी एक के साथ बाएं से दाएं. बॉक्स में
       बॉर्श्ट और हॉट डॉग के लिए ली गई इमेज, बाईं से दाईं ओर
       विज़ुअलाइज़ेशन.
दूसरा डायग्राम. बोर्स्ट, हॉट डॉग, और शावर्मा की एक-हॉट एन्कोडिंग. हर एक-हॉट एन्कोडिंग वेक्टर की लंबाई 5,000 है (हर एक के लिए एक एंट्री डेटासेट में मेन्यू आइटम). इस डायग्राम में एलिप्सिस से पता चलता है कि 4,995 एंट्री नहीं दिखाई गईं.

कम जानकारी वाला डेटा दिखाने में आने वाली समस्याएं

इन वन-हॉट एन्कोडिंग की समीक्षा करने पर, आपको इसके साथ दो मुख्य समस्याएँ मिलती हैं डेटा का प्रतिनिधित्व करते हैं.

  • वज़न की संख्या. बड़े इनपुट वेक्टर का मतलब है कि बड़ी संख्या में वेट न्यूरल नेटवर्क के लिए. आपके वन-हॉट एन्कोडिंग में M प्रविष्टियों के साथ, और N इनपुट के बाद, नेटवर्क की पहली लेयर में नोड लगे होते हैं, तो मॉडल को ट्रेनिंग देनी होती है उस लेयर के लिए MxN वेट. भारी संख्या में वज़न की वजह से और भी समस्याएं हो सकती हैं:
    • डेटापॉइंट की संख्या. आपके मॉडल में जितना ज़्यादा वेट होगा, उतना ही ज़्यादा डेटा उन्हें असरदार तरीके से ट्रेनिंग देनी होगी.
    • कंप्यूटेशन की संख्या. जितने ज़्यादा वेट, उतने ही ज़्यादा कंप्यूटेशन की ज़रूरत होगी ट्रेनिंग और मॉडल का इस्तेमाल करने के लिए किया जा सकता है. अपनी क्षमताओं को बढ़ाना आसान है, हार्डवेयर.
    • डिवाइस की मेमोरी. आपके मॉडल में जितने ज़्यादा वज़न होंगे, उतनी ही ज़्यादा मेमोरी होगी की ज़रूरत है, जो उसे ट्रेन करने और सेवा देने वाले ऐक्सेलरेटर के लिए ज़रूरी है. बढ़ोतरी की जा रही है मुश्किल है.
    • सहायता करने में परेशानी ऑन-डिवाइस मशीन लर्निंग (ओडीएमएल). अगर आपको अपने एमएल मॉडल को लोकल डिवाइसों पर इस्तेमाल करना है, तो उन्हें) से अलग, आपको अपने मॉडल को छोटा बनाने पर ध्यान देना होगा और भार की संख्या कम करने के लिए.
  • वेक्टर के बीच सार्थक संबंध का अभाव. भोजन के लिए वन-हॉट एन्कोडिंग, खाने की चीज़ों के बीच समानता. गणित के हिसाब से, इंडेक्स 1 ("हॉट डॉग") इंडेक्स 4999 ("शवरमा") की तुलना में इंडेक्स 2 ("सलाद") के नज़दीक होने के बावजूद, कुत्ता, सलाद से ज़्यादा, शावर्मा (मांस और ब्रेड, दोनों में होता है) से ज़्यादा मिलता-जुलता है.

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