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 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?
quelle
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.
quelle
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).kth kth
Die Punktzahlen für jedes Wort werden durch die folgende Gleichung berechnet.
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.W′ u C C
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.u C
quelle