एक seq2seq RNN मॉडल को स्कोर करने के लिए मुझे किस हानि कार्य का उपयोग करना चाहिए?


10

मैं चो 2014 पेपर के माध्यम से काम कर रहा हूं जिसने seq2seq मॉडलिंग के लिए एनकोडर-डिकोडर आर्किटेक्चर पेश किया।

कागज में, वे दिए गए आउटपुट इनपुट की संभावना (या यह नकारात्मक-लॉग-संभावना) का उपयोग करते हैं, लंबाई इनपुट और लंबाई आउटपुट के लिए नुकसान फ़ंक्शन के रूप में :एम वाई एनxMyN

P(y1,,yN|x1,,xM)=P(y1|x1,,xm)P(y2|y1,x1,,xm)P(yN|y1,,yN1,x1,,xm)

हालांकि, मुझे लगता है कि मैं इसे एक हानि फ़ंक्शन के रूप में उपयोग करने के साथ कई समस्याएं देखता हूं:

  1. यह प्रशिक्षण के दौरान शिक्षक को मजबूर करने के लिए लगता है (यानी, अगले पुनरावृत्ति के इनपुट के रूप में एक पद के लिए डिकोडर के अनुमान का उपयोग करने के बजाय, यह ज्ञात टोकन का उपयोग करता है।
  2. यह लंबे दृश्यों को दंडित नहीं करेगा। चूंकि संभावना आउटपुट के से तक है, अगर डिकोडर ने पहले बाद एक लंबे अनुक्रम को सब कुछ उत्पन्न किया, तो नुकसान में कारक नहीं होगा।1NN
  3. यदि मॉडल एक प्रारंभिक एंड-ऑफ-स्ट्रिंग टोकन की भविष्यवाणी करता है, तो नुकसान फ़ंक्शन अभी भी चरणों की मांग करता है - जिसका अर्थ है कि हम मॉडल के अप्रशिक्षित "कई गुना" के आधार पर आउटपुट उत्पन्न कर रहे हैं। वह टेढ़ा लगता है।N

क्या इनमें से कोई भी चिंता वैध है? यदि हां, तो क्या अधिक उन्नत हानि समारोह में कोई प्रगति हुई है?

जवाबों:


1

यह प्रशिक्षण के दौरान शिक्षक को मजबूर करने के लिए लगता है (यानी, अगले पुनरावृत्ति के इनपुट के रूप में एक पद के लिए डिकोडर के अनुमान का उपयोग करने के बजाय, यह ज्ञात टोकन का उपयोग करता है।

"टीचर फोर्सिंग" शब्द मुझे थोड़ा परेशान करता है, क्योंकि यह इस तरह के विचार को याद करता है: आरएनएन मॉडल के अगले ज्ञात टोकन को खिलाने के साथ कुछ भी गलत या अजीब नहीं है - यह सचमुच गणना करने का एकमात्र तरीका है । यदि आप एक वितरण को स्वैच्छिक रूप से रूप में परिभाषित करते हैं जैसा कि आमतौर पर किया जाता है, जहां प्रत्येक सशर्त शब्द एक RNN के साथ मॉडलिंग की जाती है, तो "शिक्षक अनुरेखण" एक सही है प्रक्रिया जो सही रूप से लॉग संभावना को अधिकतम करती है। (मैं कंडीशनिंग अनुक्रम ऊपर लिखना छोड़ देता हूं क्योंकि यह कुछ भी नहीं बदलता है।)logP(y1,,yN)पी(y)=Πमैंपी(yमैं|y<मैं)एक्स

MLE की सर्वव्यापकता और अच्छे विकल्पों की कमी को देखते हुए, मुझे नहीं लगता कि "शिक्षक मजबूर" आपत्तिजनक है।

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

यह लंबे दृश्यों को दंडित नहीं करेगा। चूंकि संभावना आउटपुट के 1 से एन तक है, अगर डिकोडर ने पहले एन के बाद एक लंबे अनुक्रम को सब कुछ उत्पन्न किया, तो नुकसान में कारक नहीं होगा।

तथा

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

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

यदि हां, तो क्या अधिक उन्नत हानि समारोह में कोई प्रगति हुई है?

विभिन्न मॉडलिंग कार्यों के लिए विशेष रूप से केस-बाय-केस आधार पर डिज़ाइन किए गए उद्देश्य हो सकते हैं। हालाँकि मैं कहूंगा कि MLE अभी भी प्रमुख है - हाल ही में GPT2 मॉडल जिसने प्राकृतिक भाषा मॉडलिंग के व्यापक स्पेक्ट्रम पर अत्याधुनिक प्रदर्शन हासिल किया और इसके साथ कार्यों को समझा गया।

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