स्किपग्राम वर्ड 2vec के लिए ग्रेजुएट्स


9

मैं स्टैनफोर्ड NLP डीप लर्निंग क्लास की लिखित असाइनमेंट समस्याओं http://cs224d.stanford.edu/assignment1/assignment1_soln में समस्याओं से गुज़र रहा हूँ

मैं 3a के उत्तर को समझने की कोशिश कर रहा हूं जहां वे केंद्र शब्द के लिए वेक्टर के व्युत्पन्न की तलाश कर रहे हैं।

मान लें कि आपको लिए केंद्र शब्द c के अनुरूप एक सदिश शब्द दिया गया है , और शब्द भविष्यवाणी को soft2ax फ़ंक्शन के साथ बनाया गया है जो word2vec मॉडल में पाया जाता है।vc

y^o=p(o|c)=exp(uoTvc)w=1Wexp(uwTvc)

जहाँ w , w-वें शब्द और (w = 1,।, W) को दर्शाता है, शब्दावली में सभी शब्दों के लिए "आउटपुट" शब्द वैक्टर हैं। मान लें कि क्रॉस एन्ट्रापी लागत इस भविष्यवाणी पर लागू होती है और शब्द अपेक्षित शब्द है।uw

जहां सभी आउटपुट वैक्टर का मैट्रिक्स है, और let शब्दों के सॉफ्टमैक्स भविष्यवाणी के कॉलम वेक्टर हैं, और y एक-गर्म-गर्म होना चाहिए जो H एक कॉलम वेक्टर भी है।U=[u1,u2,···,uW]y^

जहाँ क्रॉस एन्ट्रॉपीCE(y,y^)=iyilog(y^i)

तो केंद्र वेक्टर के लिए ढाल का उत्तरJvc=UT(y^y).

क्या कोई मुझे इसके लिए कदम उठा सकता है? मैं इस प्रश्न का उपयोग शब्द 2vec में क्रॉस एन्ट्रापी लॉस के व्युत्पन्न व्युत्पन्न के रूप में कर रहा हूं, लेकिन मैं विशेष रूप से जानना चाहता हूंप्रतिनिधित्व।UT(y^y).

जवाबों:


15

सबसे पहले, आइए जानें कि हमें क्या मिला है और विभिन्न वैक्टर के आकार के बारे में हमारी धारणाएं हैं। चलो,

  1. |W|शब्द शब्द की संख्या हो
  2. y और आकृति के स्तंभ वैक्टर होx 1y^|W|
  3. ui और आकार X 1 के कॉलम वैक्टर हो ( = एम्बेडिंग का आयाम)vjDD
  4. y आकार का वन-हॉट एन्कोडेड कॉलम वेक्टर हैx 1|W|
  5. y^ आकार का सॉफ्टमैक्स प्रीडिक्शन कॉलम वेक्टर होx 1|W|
  6. y^i=P(i|c)=exp(uiTvc)w=1Wexp(uwTvc)
  7. क्रॉस एन्ट्रॉपी लॉस:J=i=1Wyilog(yi^)
  8. U=[u1,u2,...,uk,...uW] से बना एक मैट्रिक्स हो स्तंभ वैक्टर।uk

अब, हम सरल , अब, हम जानते हैं कि एक-गर्म एन्कोडेड है, इसलिए इसके सभी तत्व शून्य को छोड़कर एक पर, कहते हैं, सूचकांक। जिसका अर्थ है, में केवल एक गैर-शून्य शब्द है जो कि से ऊपर है और में अन्य सभी शब्द शून्य हैं। तो लागत को इस प्रकार भी लिखा जा सकता है: नोट: 1 से ऊपर ।

J=i=1Wyilog(exp(uiTvc)w=1Wexp(uwTvc))
J=i=1Wyi[uiTvclog(w=1Wexp(uwTvc))]
ykthyk
J=yk[ukTvclog(w=1Wexp(uwTvc))]
yk

के लिए सुलझाने : Jvc

Jvc=[ukw=1Wexp(uwTvc)uwx=1Wexp(uxTvc)]

जिसे पुन: व्यवस्थित किया जा सकता है: परिभाषा (6) का उपयोग करके, हम उपरोक्त समीकरण को फिर से लिख सकते हैं:

Jvc=w=1W(exp(uwTvc)x=1Wexp(uxTvc)uw)uk
Jvc=w=1W(y^wuw)uk

अब देखते हैं कि यह मैट्रिक्स नोटेशन में कैसे लिखा जा सकता है।

  1. uk को मैट्रिक्स वेक्टर गुणा के रूप में लिखा जा सकता है:U.y
  2. और द्वारा स्केल में वैक्टर का रैखिक परिवर्तन है । इसे फिर से रूप में लिखा जा सकता हैw=1W(y^wuw)uwUy^wU.y^

तो पूरी बात को संक्षिप्त रूप में लिखा जा सकता है:

U[y^y]

अंत में, ध्यान दें कि हमने s को कॉलम वैक्टर माना है। यदि हमने पंक्ति वैक्टर के साथ शुरुआत की थी, तो हमें मिलेगा , जैसा कि आप देख रहे थे।uiUT[y^y]


1
बस यह कहना चाहता था कि यह व्युत्पत्ति के लिए एक अद्भुत व्याख्या है! यह वास्तव में मेरे जैसे गणित-चूसने वालों के लिए मदद करता है। धन्यवाद!
एरिक किम

1
अद्भुत स्पष्टीकरण के लिए +1!
ब्रैगबॉय

मुझे समझ में नहीं आता है कि यह व्युत्पत्ति क्यों:
BATB=A
पार्थ तामने

@ParthTamane कृपया इस पर एक नज़र डालें - math.stackexchange.com/questions/3270789/…
सचिन त्यागी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.