Was ist die Feature-Matrix in word2vec?


10

Ich bin ein Anfänger in neuronalen Netzen und erforsche derzeit das word2vec-Modell. Es fällt mir jedoch schwer zu verstehen, was die Feature-Matrix genau ist.

Geben Sie hier die Bildbeschreibung ein

Ich kann verstehen, dass die erste Matrix ein One-Hot-Codierungsvektor für ein bestimmtes Wort ist, aber was bedeutet die zweite Matrix? Was bedeutet konkret jeder dieser Werte (dh 17, 24, 1 usw.)?


Ich habe eine Frage zu dem von Google generierten W. Können Sie mir weitere Informationen zu den von Google angegebenen Werten geben? Welche Funktionen werden verwendet? Danke für deine Hilfe.
Hambi

Antworten:


8

Die Idee hinter word2vec ist es, Wörter durch einen Vektor reeller Zahlen der Dimension d darzustellen . Daher ist die zweite Matrix die Darstellung dieser Wörter.

Die i- te Zeile dieser Matrix ist die Vektordarstellung des i- ten Wortes.

Nehmen wir an, Sie haben in Ihrem Beispiel 5 Wörter: ["Löwe", "Katze", "Hund", "Pferd", "Maus"], dann bedeutet der erste Vektor [0,0,0,1,0] Sie Ich betrachte das Wort "Pferd" und so ist die Darstellung von "Pferd" [10, 12, 19]. In ähnlicher Weise ist [17, 24, 1] die Darstellung des Wortes "Löwe".

Meines Wissens gibt es keine "menschliche Bedeutung" speziell für jede der Zahlen in diesen Darstellungen. Eine Zahl repräsentiert nicht, ob das Wort ein Verb ist oder nicht, ein Adjektiv oder nicht ... Es sind nur die Gewichte, die Sie ändern, um Ihr Optimierungsproblem zu lösen und die Darstellung Ihrer Wörter zu lernen.

Dieses Tutorial kann helfen: http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/ , obwohl ich denke, dass das Bild, das Sie eingefügt haben, von diesem Link stammt.

Sie können dies auch überprüfen, um mit TensorFlow mit Wortvektoren zu beginnen: https://www.tensorflow.org/tutorials/word2vec


5

TL; DR :

Die erste Matrix repräsentiert den Eingabevektor in einem heißen Format

Die zweite Matrix repräsentiert die synaptischen Gewichte von den Neuronen der Eingangsschicht zu den Neuronen der verborgenen Schicht

Längere Version :

"Was genau ist die Feature-Matrix?"

Es scheint, dass Sie die Darstellung nicht richtig verstanden haben. Diese Matrix ist keine Merkmalsmatrix, sondern eine Gewichtsmatrix für das neuronale Netzwerk. Betrachten Sie das Bild unten. Beachten Sie insbesondere die linke obere Ecke, in der die Eingabeebenenmatrix mit der Gewichtsmatrix multipliziert wird. Geben Sie hier die Bildbeschreibung ein

Schauen Sie sich jetzt oben rechts an. Diese mit Weights Transpose dotierte Matrix-Multiplikation InputLayer ist nur eine praktische Möglichkeit, das neuronale Netzwerk oben rechts darzustellen.

Um Ihre Frage zu beantworten, ist die Gleichung, die Sie veröffentlicht haben, nur die mathematische Darstellung für das neuronale Netzwerk, das im Word2Vec-Algorithmus verwendet wird.

Der erste Teil [0 0 0 1 0 ... 0] repräsentiert das Eingabewort als einen heißen Vektor und die andere Matrix repräsentiert das Gewicht für die Verbindung jedes der Neuronen der Eingangsschicht mit den Neuronen der verborgenen Schicht.

Während Word2Vec trainiert, werden diese Gewichte zurückpropogiert und geändert, um Wörter als Vektoren besser darzustellen.

Sobald das Training abgeschlossen ist, verwenden Sie nur diese Gewichtsmatrix, nehmen [0 0 1 0 0 ... 0] für "Hund" und multiplizieren es mit der verbesserten Gewichtsmatrix, um die Vektordarstellung von "Hund" in einer Dimension = zu erhalten keine versteckten Schichtneuronen.

In dem von Ihnen dargestellten Diagramm beträgt die Anzahl der Neuronen mit versteckter Schicht 3

Die rechte Seite ist also im Grunde der Wortvektor.

Bildnachweis: http://www.datasciencecentral.com/profiles/blogs/matrix-multiplication-in-neural-networks

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.