यह सेक्शन, एम्बेड करने की दो आम तकनीकों पर फ़ोकस करता है:
- डाइमेंशन में कमी
- बड़े न्यूरल नेट मॉडल से एम्बेडिंग की प्रक्रिया का पता लगाना
डाइमेंशन में कमी करने की तकनीकें
उन लेखों की गणित की कई तकनीकें हैं जिनकी मदद से, कम-डाइमेंशन वाले स्पेस में हाई-डाइमेंशन वाले स्पेस की बनावट. सैद्धांतिक तौर पर, इनमें से किसी भी तकनीक का इस्तेमाल मशीन के लिए एम्बेडिंग बनाने के लिए किया जा सकता है. लर्निंग सिस्टम पर काम करता है.
उदाहरण के लिए, प्रिंसिपल कॉम्पोनेंट ऐनलिसिस (पीसीए) का इस्तेमाल शब्द एम्बेड करने के लिए किया गया है. दिए गए उदाहरणों के आधार पर, शब्दों का बैग वेक्टर, पीसीए कोशिश करता है का इस्तेमाल करके, एक-दूसरे से जुड़े डाइमेंशन देखे जा सकते हैं. इन डाइमेंशन को छोटा किया जा सकता है डाइमेंशन.
न्यूरल नेटवर्क के हिस्से के तौर पर एम्बेड करने की ट्रेनिंग देना
आप न्यूरल नेटवर्क: आपका टारगेट टास्क. इस तरीके से आपको अपने वीडियो के लिए अच्छी तरह से एम्बेडिंग सुविधा मिलती है लेकिन एम्बेड करने की ट्रेनिंग से ज़्यादा समय भी लग सकता है.
आम तौर पर, न्यूरल में d साइज़ की छिपी हुई लेयर बनाई जा सकती है वह नेटवर्क जिसे लेयर एम्बेड करना, जहां d छिपी हुई लेयर में नोड की संख्या और संख्या, दोनों को दिखाता है डाइमेंशन की संख्या. इस एम्बेड लेयर को छिपी हुई लेयर का ऐक्सेस मिलता है. किसी भी डीप न्यूरल नेटवर्क की तरह, ट्रेनिंग के दौरान पैरामीटर ऑप्टिमाइज़ किए जाएंगे, ताकि नोड में होने वाले नुकसान को कम किया जा सके नेटवर्क की आउटपुट लेयर.
खाने के सुझाव के उदाहरण पर वापस आते हैं. हमारा लक्ष्य है कि क्या लोगों को उनकी मौजूदा पसंद के हिसाब से नया खाना पसंद आएगा खाने की चीज़ें. पहला, हम उपयोगकर्ताओं का अतिरिक्त डेटा इकट्ठा कर सकते हैं सबसे पसंदीदा पांच गेम खाना. इसके बाद, हम इस टास्क को माता-पिता की निगरानी में YouTube पर सीखने की सुविधा के तौर पर सेट कर सकते हैं. हमने सेट किया इन पांच फ़ूड में से चार का डेटा शामिल करना होगा. इसके बाद, पांचवां खाना, एक पॉज़िटिव लेबल के तौर पर मिलता है. हमारा मॉडल अनुमान लगाने के लिए, सॉफ़्टमैक्स का इस्तेमाल करके मॉडल के अनुमान नुकसान.
ट्रेनिंग के दौरान, न्यूरल नेटवर्क मॉडल पहली छिपी हुई लेयर में नोड, जो एम्बेडिंग लेयर के रूप में काम करते हैं. उदाहरण के लिए, अगर मॉडल में पहली छिपी हुई लेयर में तीन नोड होते हैं, तो यह तय कर सकता है कि खाद्य पदार्थों के तीन सबसे प्रासंगिक डाइमेंशन सैंडविच, मिठाई, और तरल पदार्थ. इमेज 12 में दिखाया गया है कि वन-हॉट कोड में बदला गया है "हॉट डॉग" के लिए इनपुट वैल्यू तो वह एक थ्री-डाइमेंशन वेक्टर में बदल जाता है.
![इमेज 12. हॉट डॉग की वन-हॉट एन्कोडिंग के लिए न्यूरल नेट. पहली लेयर,
5 नोड वाली इनपुट लेयर, जिसमें हर नोड पर खाने के आइटम का आइकॉन दिखता है
(बोर्स्ट, हॉट डॉग, सलाद, ..., और शावर्मा) का प्रतिनिधित्व करता है. इन नोड में ये हैं
इनकी वैल्यू [0, 1, 0, ..., 0] हैं, जो वन-हॉट दिखाती है
'हॉट डॉग' की एन्कोडिंग. इनपुट लेयर को 3-नोड एम्बेडिंग से कनेक्ट किया गया है
लेयर होती है, जिसके नोड की वैल्यू क्रम से 2.98, -0.75, और 0 होती हैं. कॉन्टेंट बनाने
एम्बेडिंग लेयर, 5-नोड छिपी हुई लेयर से जुड़ी होती है. यह लेयर
5-नोड आउटपुट लेयर से कनेक्ट होता है.](https://developers.google.cn/static/machine-learning/crash-course/embeddings/images/one_hot_hot_dog_embedding.png?authuser=8&hl=hi)
hot dog
की वन-हॉट एन्कोडिंग
को डीप न्यूरल नेटवर्क के इनपुट के तौर पर दिया गया है. एम्बेडिंग लेयर का अनुवाद
त्रि-आयामी एम्बेडिंग वेक्टर में वन-हॉट एन्कोडिंग
[2.98, -0.75, 0]
.
ट्रेनिंग के दौरान, एम्बेडिंग लेयर के वेट को ऑप्टिमाइज़ किया जाएगा इससे वेक्टर एम्बेड करने की सुविधा मिलती है के लिए मिलते-जुलते कीवर्ड अन्य. एम्बेडिंग लेयर के अलग-अलग डाइमेंशन (हर नोड में एम्बेड करने वाली लेयर से पता चलता है) शायद ही कभी "मिठाई" की तरह समझ आए या "लिक्विडनेस." कभी-कभी उनका "मतलब" क्या होता है का अनुमान लगाया जा सकता है, लेकिन ऐसा हमेशा नहीं होता मामला.
आम तौर पर, कॉन्टेंट को अलग-अलग तरह से एम्बेड किया जा सकता है. साथ ही, ये एक-दूसरे से अलग होंगे जब अलग-अलग तरह का कोई टास्क असाइन किया जाता हो. उदाहरण के लिए, शाकाहारी बनाम मांसाहारी वर्गीकरण मॉडल के दो आयाम हो सकते हैं: मांस की सामग्री डेयरी प्रॉडक्ट के लिए ज़िम्मेदार है. इस दौरान, वीडियो को एम्बेड करने के लिए, नाश्ते की तुलना में अमेरिकन पकवानों के लिए, डिनर की कैटगरी तय करने वाले टूल के डाइमेंशन थोड़े अलग हो सकते हैं: कैलोरी की मात्रा, गेहूं की मात्रा, और मांस की सामग्री. "सीरियल" और "अंडा और बेकन सैंडविच" , नाश्ता बनाम रात के खाने की कैटगरी तय करने वाला एल्गोरिदम, लेकिन यह शाकाहारी बनाम मांसाहारी क्लासिफ़ायर.
शब्द एम्बेड करने की ट्रेनिंग देना
पिछले सेक्शन में, आपने के सिमैंटिक संबंधों का विज़ुअलाइज़ेशन word2vec एम्बेड करने की जगह.
Word2vec उन कई एल्गोरिदम में से एक है जिनका इस्तेमाल शब्द एम्बेड करने की ट्रेनिंग देने के लिए किया जाता है. वाक्यात्मक रूप से समान मैप करने के लिए यह डिस्ट्रिब्यूशनल हाइपोथीसिस पर निर्भर करता है शब्दों को एम्बेड करने वाले वेक्टर को ज्यामितीय रूप से बंद करें. डिस्ट्रिब्यूशनल अनुमान यह बताता है कि वे शब्द जिनमें अक्सर आस-पास के एक जैसे शब्द होते हैं एक जैसा. दोनों "कुत्ता" और "बिल्ली" अक्सर इसके आस-पास दिखते हैं शब्दकोश में, "जानवरों का डॉक्टर", और यह तथ्य उनकी अर्थ-समानता को दिखाता है. जैसा कि भाषाविद् जॉन फ़र्थ ने 1957 में लिखा था, "आपको कंपनी का एक शब्द पता होगा यह चलता रहेगा."
नीचे दिया गया वीडियो, शब्द को एम्बेड करने का एक और तरीका बताता है यह सामान्य मॉडल का इस्तेमाल करके न्यूरल नेटवर्क को ट्रेनिंग देने की प्रोसेस का हिस्सा है:
स्टैटिक बनाम संदर्भ के हिसाब से एम्बेड करना
ऊपर दिए गए वीडियो में बताई गई शब्द एम्बेड करने की एक सीमा यह है कि वे स्टैटिक हों. हर शब्द को वेक्टर में एक पॉइंट से दिखाया जाता है होता है, भले ही इसके अलग-अलग मतलब हो सकते हैं. यह इस पर निर्भर करता है कि इसका इस्तेमाल वाक्य में किया गया है. पिछले व्यायाम में, आपको पता चला कि शब्द के लिए सिमैंटिक समानता मैप करने में मुश्किल आई नारंगी, जो किसी रंग या किसी तरह के फल के बारे में बताता है.
इन कमियों को ठीक करने के लिए, संदर्भ के हिसाब से एम्बेड करने की सुविधा डेवलप की गई थी. कॉन्टेक्स्ट के हिसाब से एम्बेड करने की सुविधा की मदद से, एक से ज़्यादा बार एम्बेड किया जा सकता है एक ही शब्द का प्रतिनिधित्व करता है, जिसमें हर वह संदर्भ जिसमें उस शब्द का इस्तेमाल किया गया है. संदर्भ के हिसाब से एम्बेड करने में, शब्द नारंगी को दो अलग-अलग तरीकों से दिखाया जा सकता है: एक "रंग" को कैप्चर करता है शब्द का इस्तेमाल, जैसे कि "मेरा पसंदीदा स्वेटर नारंगी है स्ट्राइप्स," और उनमें से एक "फ़्रूट" शब्द का इस्तेमाल, जैसा कि वाक्य में बताया गया है "पूरी तरह से पकने से पहले, संतरे को पेड़ से काट लिया गया था."