सॉफ़्टमैक्स ट्रेनिंग

पिछले पेज पर, डीपमैक्स लेयर में सॉफ़्टमैक्स लेयर को शामिल करने का तरीका बताया गया था न्यूरल नेटवर्क का इस्तेमाल किया जा सकता है. यह पेज, ट्रेनिंग डेटा दिया गया है.

ट्रेनिंग का डेटा

सॉफ़्टमैक्स ट्रेनिंग डेटा में क्वेरी से जुड़ी सुविधाएं \(x\) और उन आइटम का वेक्टर जिनके साथ उपयोगकर्ता ने इंटरैक्ट किया है (इन्हें प्रॉबबिलिटी डिस्ट्रिब्यूशन \(p\)). इन्हें नीले रंग से मार्क किया गया है यहां दी गई इमेज में बताया गया है. मॉडल के वैरिएबल, वेट होते हैं ट्रैक किया जा सकता है. इन्हें नीचे दिए गए नारंगी रंग के तौर पर मार्क किया गया है इमेज. मॉडल को आम तौर पर इसके किसी भी वैरिएंट का इस्तेमाल करके ट्रेनिंग दी जाती है स्टोकैस्टिक ग्रेडिएंट ढलान.

सॉफ़्टमैक्स डीप न्यूरल नेटवर्क की ट्रेनिंग को हाइलाइट करती इमेज

नेगेटिव सैंपलिंग

लॉस फ़ंक्शन में दो प्रॉबबिलिटी वेक्टर की तुलना की जाती है \(p, \hat p(x) \in \mathbb R^n\) (निर्वाचन और की गणना करते हैं, तो हानि का ग्रेडिएंट (एक क्वेरी \(x\)के लिए) यह हो सकता है अगर कॉर्पस का साइज़ \(n\) बहुत बड़ा है, तो यह बहुत महंगा साबित हो सकता है.

सिर्फ़ पॉज़िटिव आइटम के लिए ग्रेडिएंट का हिसाब लगाने के लिए सिस्टम सेट अप किया जा सकता है (ग्राउंड ट्रूथ वेक्टर में ऐक्टिव आइटम). हालांकि, अगर सिस्टम सिर्फ़ पॉज़िटिव जोड़े पर ट्रेन करता है, तो मॉडल को फ़ोल्ड होने से नुकसान हो सकता है, क्योंकि नीचे बताया गया है.

फ़ोल्डिंग
एक हवाई जहाज़ की इमेज, जिसे आधा मोड़ा गया है. इसमें क्वेरी के तीन अलग-अलग ग्रुप दिख रहे हैं. साथ ही, अलग-अलग विषयों वाले सर्कल दिख रहे हैं. हर ग्रुप का अलग रंग होता है और क्वेरी सिर्फ़ एक ही ग्रुप के आइटम के साथ इंटरैक्ट करती हैं. नीचे दी गई इमेज में, मान लीजिए कि हर रंग एक अलग पहचान को दिखाता है क्वेरी और आइटम की कैटगरी के हिसाब से. सिर्फ़ हर क्वेरी (जिसे स्क्वेयर के तौर पर दिखाया जाता है) यह ज़्यादातर एक ही रंग के आइटम (सर्कल के तौर पर दिखाया गया) के साथ इंटरैक्ट करता है. उदाहरण के लिए, YouTube में हर कैटगरी को अलग भाषा मानें. एक सामान्य उपयोगकर्ता ज़्यादातर एक ही भाषा के वीडियो से इंटरैक्ट करेगा.

मॉडल यह जान सकता है कि दिए गए लिंक की क्वेरी/आइटम को कैसे एम्बेड करें रंग एक दूसरे से मिलते-जुलते हों. रंग), लेकिन अलग-अलग रंगों से एम्बेड करने पर एक ही क्षेत्र में अंत हो सकता है या तो एम्बेड करने की जगह इतनी ही है. इस घटना को फ़ोल्ड करने पर, नकली सुझाव मिल सकते हैं: क्वेरी के समय, यह मॉडल, दूसरा समूह.

नेगेटिव उदाहरण वे आइटम होते हैं जिन्हें "काम का नहीं है" के तौर पर लेबल किया जाता है . ट्रेनिंग के दौरान मॉडल को नेगेटिव उदाहरण दिखाने से मॉडल को यह सिखाया जाता है कि अलग-अलग ग्रुप की एम्बेडिंग को एक-दूसरे से अलग किया जाना चाहिए.

ग्रेडिएंट की गणना करने के लिए सभी आइटम का उपयोग करने के बजाय (जो भी हो सकता है महंगा) या सिर्फ़ पॉज़िटिव आइटम का इस्तेमाल करना (इससे मॉडल के फ़ोल्डिंग), तो नेगेटिव सैंपलिंग का इस्तेमाल किया जा सकता है. ज़्यादा सटीक तरीके से समझें, तो नीचे दिए गए आइटम का इस्तेमाल करके, अनुमानित ग्रेडिएंट:

  • सभी पॉज़िटिव आइटम (टारगेट लेबल में दिखने वाले आइटम)
  • नेगेटिव आइटम का एक सैंपल ( \({1, …, n}\)में\(j\) )

नेगेटिव सैंपल के लिए अलग-अलग रणनीतियां होती हैं:

  • एक ही तरह से सैंपल लिया जा सकता है.
  • ज़्यादा वैल्यू वाले आइटम j के लिए, ज़्यादा संभावना दी जा सकती है स्कोर \(\psi(x) . V_j\). चालाकी से, ये उदाहरण हैं जो ग्रेडिएंट में सबसे ज़्यादा योगदान देते हैं; ये उदाहरण अक्सर जिन्हें हार्ड नेगेटिव कहा जाता है.

मैट्रिक्स फ़ैक्टराइज़ेशन बनाम सॉफ़्टमैक्स

DNN मॉडल आव्यूह गुणनखंड की कई सीमाओं को हल करता है, लेकिन आम तौर पर उन्हें ट्रेनिंग देना और क्वेरी करना ज़्यादा खर्चीला हो जाता है. यहां दी गई टेबल में, के बीच अहम अंतर होता है.

मैट्रिक्स गुणनखंडन सॉफ़्टमैक्स डीएनएन
क्वेरी की सुविधाएं शामिल करना आसान नहीं है. शामिल किए जा सकते हैं.
कोल्ड स्टार्ट बोले जा रहे शब्दों और वाक्यांशों को आसानी से मैनेज नहीं किया जा सकता क्वेरी या आइटम. कुछ अनुभवों का इस्तेमाल किया जा सकता है (उदाहरण के लिए, नई क्वेरी, मिलती-जुलती क्वेरी को एम्बेड करने की औसत संख्या). नई क्वेरी को आसानी से मैनेज किया जा सकता है.
फ़ोल्डिंग फ़ोल्ड करने की प्रोसेस को आसानी से कम किया जा सकता है WALS की मदद से, बिना निगरानी वाले वेट को अडजस्ट करके. फ़ोल्ड होने का खतरा हो. इस्तेमाल करने की ज़रूरत है की तकनीक इस्तेमाल की जा सकती है, जैसे कि नेगेटिव सैंपलिंग या ग्रैविटी.
ट्रेनिंग स्केलेबिलिटी आसानी से बहुत बड़े साइज़ में बढ़ाया जा सकता है कॉर्पोरा (करोड़ों-करोड़ों आइटम या अधिक) में फैला होता है, लेकिन केवल तभी जब इनपुट मैट्रिक्स स्पैर्स है. बड़ा करना मुश्किल है कॉर्पोरा. कुछ तकनीकों का इस्तेमाल किया जा सकता है, जैसे कि हैशिंग, नेगेटिव सैंपलिंग वगैरह
विज्ञापन दिखाने की क्षमता एम्बेड किए जाने वाले U और V फ़ंक्शन स्टैटिक होते हैं, और उम्मीदवारों के सेट का पहले से अनुमान लगाकर उसे सेव किया जा सकता है. आइटम एम्बेड करने वाले वर्शन का वर्शन स्टैटिक है और इन्हें सेव किया जा सकता है.

आम तौर पर, क्वेरी एम्बेड की जाती है की गणना क्वेरी के समय ही करनी पड़ती है, जिससे मॉडल पेश करना.

सारांश में:

  • आम तौर पर, बड़े कॉर्पोरा के लिए मैट्रिक्स का फ़ैक्टराइज़ेशन बेहतर विकल्प होता है. यह स्केल करने में आसान, क्वेरी करने में सस्ता, और फ़ोल्ड करने की संभावना कम होती है.
  • डीएनएन मॉडल आपकी पसंद को बेहतर तरीके से कैप्चर कर सकते हैं. हालांकि, सिखाने में मुश्किल और क्वेरी करना ज़्यादा खर्चीला. डीएनएन मॉडल इस्तेमाल करने को प्राथमिकता दी जाती है को आव्यूह में जोड़ दिया जाता है, क्योंकि DNN मॉडल और ज़्यादा सुविधाओं के बारे में बताया है. साथ ही, आम तौर पर ऐसा होता है फ़ोल्ड करने के लिए DNN मॉडल स्वीकार किए जाते हैं, क्योंकि आपकी पहले से फ़िल्टर किए गए उम्मीदवारों के सेट की रैंकिंग करना.