Word2vec में नकारात्मक नमूना कैसे काम करता है?


19

मैं शब्द 2vec के संदर्भ में नकारात्मक नमूनाकरण की अवधारणा को समझने का कठिन प्रयास कर रहा हूं। मैं [नकारात्मक] नमूने के विचार को पचाने में असमर्थ हूं। उदाहरण के लिए मिकोलोव के कागजात में नकारात्मक नमूनाकरण अपेक्षा के रूप में तैयार किया गया है

logσ(w,c)+kEcNPD[logσ(w,cN)].

मैं बाएं शब्द समझता हूं, लेकिन मैं नकारात्मक शब्द-संदर्भ जोड़े के नमूने के विचार को नहीं समझ सकता।logσ(w,c)


4
यह हास्यास्पद है कि शब्द 2vec के लिए प्रलेखन कितना बिखरा हुआ है। आपको यहाँ नकारात्मक नमूने व्युत्पन्न मिलेंगे: arxiv.org/pdf/1402.3722v1.pdf
एलेक्स आर।

मैंने आपके द्वारा बताए गए स्पष्टीकरण के माध्यम से जाना और इसके पीछे के गणित को समझा। लेकिन मैं नमूने के पीछे के अंतर्ज्ञान को पचाने में असमर्थ हूं।
उपेंद्र कुमार

जवाबों:


27

समस्या

"मानक" तंत्रिका नेटवर्क का उपयोग करके वैक्टर शब्द सीखने के साथ कुछ समस्याएं हैं। इस तरह से, वैक्टर शब्द सीखे जाते हैं जबकि नेटवर्क शब्दों की एक खिड़की (नेटवर्क का इनपुट) दिए गए अगले शब्द की भविष्यवाणी करना सीखता है ।

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

एक "मानक" तंत्रिका नेटवर्क को आमतौर पर क्रॉस-एन्ट्रापी लागत फ़ंक्शन के साथ प्रशिक्षित किया जाता है, जिसमें संभाव्यता का प्रतिनिधित्व करने के लिए आउटपुट न्यूरॉन्स के मूल्यों की आवश्यकता होती है - जिसका अर्थ है कि प्रत्येक वर्ग के लिए नेटवर्क द्वारा गणना किए गए आउटपुट "स्कोर" को सामान्यीकृत करना होगा, रूपांतरित किया जाएगा। प्रत्येक वर्ग के लिए वास्तविक संभावनाएँ। यह सामान्यीकरण चरण सॉफ्टमैक्स फ़ंक्शन के माध्यम से प्राप्त किया जाता है । सॉफ्टमैक्स बहुत महंगा है जब एक विशाल आउटपुट परत पर लागू किया जाता है।

(ए) समाधान

इस समस्या से निपटने के लिए, अर्थात् सॉफ्टमैक्स की महंगी गणना, वर्ड 2 वीएके एक तकनीक का उपयोग करता है जिसे शोर-विपरीत अनुमान कहा जाता है इस तकनीक को [ए] ([बी] द्वारा सुधारित) द्वारा पेश किया गया था, तब इसका इस्तेमाल [सी], [डी], [ई] में अनबेल्ड प्राकृतिक भाषा पाठ से शब्द एम्बेडिंग सीखने के लिए किया गया था।

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

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

यह महत्वपूर्ण है: अगले शब्द ("मानक" प्रशिक्षण तकनीक) की भविष्यवाणी करने के बजाय, अनुकूलित क्लासिफायरफायर बस भविष्यवाणी करता है कि शब्दों का एक जोड़ा अच्छा है या बुरा

Word2Vec प्रक्रिया को थोड़ा अनुकूलित करता है और इसे नकारात्मक नमूनाकरण कहता है । Word2Vec में, नकारात्मक नमूनों (भ्रष्ट जोड़े के लिए प्रयुक्त) के लिए शब्द एक विशेष रूप से डिज़ाइन किए गए वितरण से तैयार किए गए हैं, जो अधिक बार खींचे जाने के लिए कम शब्दों का पक्ष लेते हैं।

संदर्भ

[ए] (२००५) - गर्भनिरोधक अनुमान: बिना लेबल किए डेटा पर लॉग-लीनर मॉडल का प्रशिक्षण

[बी] (२०१०) - शोर-विरोधात्मक अनुमान: अप्राकृतिक सांख्यिकीय मॉडल के लिए एक नया अनुमान सिद्धांत

[सी] (2008) - प्राकृतिक भाषा प्रसंस्करण के लिए एक एकीकृत वास्तुकला: मल्टीटास्क सीखने के साथ गहरे तंत्रिका नेटवर्क

[डी] (२०१२) - तंत्रिका संभाव्य भाषा मॉडल के प्रशिक्षण के लिए एक तेज और सरल एल्गोरिथ्म

[ई] (२०१३) - शोर-विपरीत अनुमान के साथ कुशलता से शब्द एम्बेड करना


जवाब मेरा कुछ पुराने नोटों पर आधारित है - मुझे आशा है कि वे सही थे :)


2
तुम्हें पता है, का उल्लेख किया "in Word2Vec, the words for the negative samples (used for the corrupted pairs) are drawn from a specially designed distribution, which favours less frequent words to be drawn more often"। मैं सोच रहा हूँ क्या यह सही है? क्योंकि कुछ अन्य स्रोतों का कहना है कि अधिक लगातार शब्दों को नकारात्मक नमूनों के रूप में देखा जाता है। Essentially, the probability for selecting a word as a negative sample is related to its frequency, with more frequent words being more likely to be selected as negative samples.
टायलर 来 傲 国 '


BTW, नकारात्मक नमूने के रूप में उच्च या निम्न लगातार शब्दों से चुनने का क्या कारण है? क्या गैर-संदर्भ शब्दों से यादृच्छिक नमूना काफी अच्छा नहीं है?
टायलर 来 傲 国 '30

@ टायलर 来 傲 国 understand जैसा कि मैं इसे समझता हूं, कम अक्सर शब्द अधिक जानकारीपूर्ण होते हैं क्योंकि वे संदर्भ विशिष्ट होते हैं। अधिक लगातार शब्द कई अन्य शब्दों के साथ जुड़े होते हैं (चरम उदाहरण "द" को लें)। यह सही (आप तेजी से सीखते हैं) पाने के लिए शब्दों को "कठिन" बनाता है और यह एक शब्द चुनने की संभावना को भी कम कर देता है जो वास्तव में एक नकारात्मक नमूना नहीं है (चूंकि बड़े कॉर्पोरा के साथ, यह जाँचना महंगा है और अक्सर छोड़ दिया जाता है)।
drevicko

@drevicko कम अक्सर शब्द अधिक जानकारीपूर्ण होते हैं, लेकिन कम लगातार शब्द नकारात्मक नमूने होने के कारण कम जानकारीपूर्ण होते हैं। सूचना सिद्धांत के अनुसार, संभावना जितनी अधिक होगी, आत्म-सूचना उतनी ही छोटी होगी। किसी दिए गए लक्ष्य शब्द के लिए बार-बार शब्दों के नकारात्मक नमूने होने की घटना छोटी संभावना होनी चाहिए, जिसका अर्थ है सूचना की उच्च मात्रा।
टायलर 来 傲
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.