शोर गर्भनिरोधक अनुमान (NCE) नुकसान की सहज व्याख्या?


32

मैंने इन दो स्रोतों से एनसीई (उम्मीदवार के नमूने का एक रूप) के बारे में पढ़ा:

टेंसरफ्लो राइटअप

मूल पेपर

क्या कोई मेरी मदद कर सकता है:

  1. एनसीई कैसे काम करता है की एक सरल व्याख्या (मुझे उपरोक्त मुश्किलों को समझने और समझने में मदद मिली, इसलिए कुछ सहज ज्ञान युक्त गणित की ओर ले जाता है जो बहुत अच्छा होगा)
  2. बिंदु 1 से ऊपर के बाद, यह स्वाभाविक रूप से सहज वर्णन है कि यह नकारात्मक नमूनाकरण से कैसे भिन्न है। मैं देख सकता हूं कि सूत्र में थोड़ा बदलाव है लेकिन गणित को समझ नहीं सका। मेरे पास नकारात्मक नमूने की एक सहज समझ है word2vec- हम यादृच्छिक रूप से शब्दावली से कुछ नमूने चुनते हैं Vऔर केवल उन्हें अपडेट करते हैं क्योंकि |V|बड़ी है और यह एक गति प्रदान करता है। कृपया गलत होने पर सही करें।
  3. कब कौन सा उपयोग करना है और यह कैसे तय किया जाता है? यदि आप उदाहरणों को शामिल कर सकते हैं तो यह बहुत अच्छा होगा (संभवतः अनुप्रयोगों को समझना आसान)
  4. क्या NCE नकारात्मक नमूनाकरण से बेहतर है? किस तरीके से बेहतर है?

धन्यवाद।


मेरी पोस्ट मदद कर सकती है nanjiang.quora.com/Noise-contrastive-Estimation और बाद में थीनो के साथ प्रयोग मेरे github.com/jiangnanHugo/language_modeling पर पाया जा सकता है। मुझे उम्मीद है कि मेरी समझ सही है।
जिआंगन ह्यूगो

जवाबों:


27

इस पोस्ट से लिया गया: https://stats.stackexchange.com/a/245452/154812

समस्या

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

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

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

(ए) समाधान

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

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

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

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

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

संदर्भ

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

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

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

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

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


3

ईमानदारी से यह समझने का कोई सहज तरीका नहीं है कि एनसीई का नुकसान इसके गणित को गहराई से समझने के बिना काम क्यों करेगा। गणित को समझने के लिए, आपको मूल पेपर पढ़ना चाहिए।

एनसीई की हानि क्यों काम करेगी इसका कारण यह है कि वास्तविक डेटा के शोर का अनुपात बढ़ने पर NCE अधिकतम संभावना अनुमान (MLE) लगाता है ।k

TensorFlow कार्यान्वयन व्यवहार में काम करता है। मूल रूप से, प्रत्येक डेटा , डेटा से लेबल वर्ग है, शोर वितरण से TensorFlow NCE नुकसान के नमूने कक्षाएं। हम समीकरणों का उपयोग करके प्रत्येक वर्ग के लिए अंकों के एक विशेष संस्करण की गणना करते हैं (डेटा + से शोर वितरण से 1 )(x,y)ykk

Δsθ0(w,h)=sθ0(w,h)logkPn(w)

जहां शोर वितरण है। गणना की गई प्रत्येक कक्षाओं के अंकों के साथ, TensorFlow प्रत्येक वर्ग के लिए द्विआधारी वर्गीकरण (लॉजिस्टिक रिग्रेशन में लॉग नुकसान) के लिए सॉफ्टमैक्स लॉस की गणना के लिए अंकों का उपयोग करता है, और अंतिम एनसीई नुकसान के रूप में इन नुकसानों को एक साथ जोड़ता है।Pn(w)

हालांकि, इसके कार्यान्वयन धारणात्मक गलत है क्योंकि वास्तविक आंकड़ों के शोर के अनुपात वर्गों की संख्या के लिए अलग है शोर वितरण से नमूना। TensorFlow NCE डेटा अनुपात के लिए शोर के लिए एक चर प्रदान नहीं करता है, और स्पष्ट रूप से जो मुझे लगता है कि वैचारिक रूप से गलत है।knn=k

मूल एनसीई के कागजात ने सबूत के व्युत्पन्न को बहुत अधिक छोड़ दिया ताकि एनसीई को समझना वास्तव में कठिन हो। NCE के बारे में गणित को आसानी से समझने के लिए, मेरे पास NCE पत्रों से गणित की व्याख्या करने वाली एक ब्लॉग पोस्ट है:

https://leimao.github.io/article/Noise-Contrastive-Estimation/

कॉलेज परिष्कार या उससे ऊपर के लोगों को इसे समझने में सक्षम होना चाहिए।


1

मूल रूप से, यह सही वितरण से एक नमूना का चयन कर रहा है जिसमें सही वर्ग और कुछ अन्य शोर वर्ग लेबल शामिल हैं। फिर इसके ऊपर सॉफ्टमैक्स लेकर।

यह सही वितरण और शोर वितरण से शब्दों के नमूने पर आधारित है।

यहां मूल आइडिया लॉजिस्टिक रिग्रेशन क्लासिफायर को प्रशिक्षित करना है जो कि सच्चे वितरण से प्राप्त नमूनों और शोर वितरण से प्राप्त नमूने को अलग कर सकता है। याद रखें जब हम सच्चे वितरण से प्राप्त नमूनों के बारे में बात कर रहे हैं तो हम केवल एक नमूने के बारे में बात कर रहे हैं जो कि मॉडल वितरण से प्राप्त सही वर्ग है।

यहां मैंने एनसीई नुकसान के बारे में बताया है और यह एनसीई नुकसान से कैसे अलग है।

शोर गर्भनिरोधक अनुमान: महंगे सॉफ्टमैक्स के लिए समाधान।


1
हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक-केवल उत्तर अमान्य हो सकते हैं यदि लिंक किए गए पृष्ठ बदल जाते हैं।
तुओमस्तिक

0

सरल शब्दों में, एनसीई केवल 1 पॉजिटिव लेबल और के नकारात्मक वाले मल्टी-लेबल वर्गीकरण नुकसान फ़ंक्शन है।

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