Wie generiert das Skip-Gram-Modell von Word2Vec die Ausgabevektoren?


11

Ich habe Probleme beim Verständnis des Sprunggrammmodells des Word2Vec-Algorithmus.

In fortlaufenden Wortsäcken ist leicht zu erkennen, wie die Kontextwörter in das neuronale Netzwerk "passen" können, da Sie sie im Grunde nach dem Multiplizieren jeder der One-Hot-Codierungsdarstellungen mit der Eingabematrix W mitteln.

Im Fall von Skip-Gram erhalten Sie den Eingangswortvektor jedoch nur durch Multiplizieren der One-Hot-Codierung mit der Eingabematrix, und dann wird angenommen, dass Sie C-Vektordarstellungen (= Fenstergröße) für die Kontextwörter erhalten, indem Sie den multiplizieren Eingangsvektordarstellung mit der Ausgangsmatrix W '.

Was ich meine ist, ein Vokabular der Größe V. und Codierungen der Größe , Eingabematrix und als Ausgabematrix. Wenn Sie das Wort mit One-Hot-Codierung mit den Kontextwörtern und w_h (mit One-Hot-Wiederholungen x_j und x_h ) angeben , erhalten Sie {\ bf h}: = x_i ^ TW = W_ , wenn Sie x_i mit der Eingabematrix W multiplizieren {(i, \ cdot)} \ in \ mathbb {R} ^ N , wie generiert man nun daraus C- Score-Vektoren?N.W.R.V.×N.W.'R.N.×V.wichxichwjwhxjxhxichW.h:=xiTW=W(i,)RNC.

Antworten:


7

Ich hatte das gleiche Problem, es zu verstehen. Es scheint, dass der Ausgabe-Score-Vektor für alle C-Terme gleich ist. Der Fehlerunterschied bei jedem heiß dargestellten Vektor ist jedoch unterschiedlich. Somit werden die Fehlervektoren bei der Rückausbreitung verwendet, um die Gewichte zu aktualisieren.

Bitte korrigiere mich wenn ich falsch liege.

Quelle: https://iksinc.wordpress.com/tag/skip-gram-model/


also ? WRN×(VC)
Fabich

0

In beiden Modellen hängt die Ausgabebewertung von der von Ihnen verwendeten Bewertungsfunktion ab. Es kann zwei Score-Funktionen geben: Softmax oder Negative Sampling. Sie verwenden also eine Softmax-Score-Funktion. Sie erhalten eine Score-Funktionsgröße von N * D. Hier ist D die Dimension eines Wortvektors. N ist die Anzahl der Beispiele. Jedes Wort ist wie eine Klasse in der neuronalen Netzarchitektur.


0

In dem Skip-Gramm-Modell wird ein One-Hot-codiertes Wort einem zweischichtigen flachen neuronalen Netz zugeführt. Da die Eingabe One-Hot-codiert ist, enthält die verborgene Schicht nur eine Zeile der verborgenen Eingangsgewichtsmatrix (sagen wir Zeile, weil die k t h Zeile des Eingabevektors eins ist).kthkth

Die Punktzahlen für jedes Wort werden durch die folgende Gleichung berechnet.

u=WTh

Dabei ist h ein Vektor in der verborgenen Schicht und die verborgene Ausgangsgewichtsmatrix. Nach der Berechnung von u C werden multinomiale Verteilungen berechnet, wobei C die Fenstergröße ist. Die Verteilungen werden durch die folgende Gleichung berechnet.Wu CC

p(wc,j=wO,c|wI)=expuc,jj=1Vexpuj

Wie Sie sehen können, sind alle Verteilungen unterschiedlich. (Weitere Informationen: https://arxiv.org/pdf/1411.2738.pdf ). In der Tat wäre dies klarer, wenn sie so etwas wie die folgende Abbildung verwenden würden.C

Zusammenfassend gibt es nur einen Quellvektor . Mit der Softmax-Funktion werden jedoch C verschiedene Verteilungen berechnet.uC

References:

  • Xin Rong, Word2Vec Parameter Learning erklärt

Die W-Matrix besteht also im Wesentlichen aus den Wortvektoren (der Ausgabe des Algorithmus), und W 'ist eine völlig andere Matrix, die wir wegwerfen?
Nadav B

W 'sind auch gleich gute Wortvektoren.
user3108764

1
p(wc,j=wO,c|wI)=expuc,jj=1Vexpuj=expujj=1Vexpuj
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.