J'ai des problèmes pour comprendre le modèle skip-gram de l'algorithme Word2Vec.
Dans un sac de mots continu, il est facile de voir comment les mots de contexte peuvent "s'adapter" dans le réseau neuronal, car vous les basez en moyenne après avoir multiplié chacune des représentations de codage à chaud avec la matrice d'entrée W.
Cependant, dans le cas de skip-gram, vous obtenez uniquement le vecteur de mot d'entrée en multipliant le codage à chaud avec la matrice d'entrée, puis vous êtes supposé obtenir des représentations de vecteurs C (= taille de fenêtre) pour les mots de contexte en multipliant le représentation vectorielle d'entrée avec la matrice de sortie W '.
Je veux dire, ayant un vocabulaire de taille et codages de taille N , W ∈ R V x N matrice d'entrée et W ' ∈ R N × V comme matrice de sortie. Étant donné le mot w i avec un codage à chaud x i avec les mots de contexte w j et w h (avec les répétitions à chaud x j et x h ), si vous multipliez x i par la matrice d'entrée W, vous obtenez h = , maintenant comment générer desvecteurs de score C à partir de cela?
la source
Dans les deux modèles, le score de sortie dépend de la fonction de score que vous utilisez. Il peut y avoir deux fonctions de score softmax ou échantillonnage négatif. Vous utilisez donc une fonction de score softmax. Vous obtiendrez une taille de fonction de score de N * D. Ici D est la dimension d'un vecteur de mots. N est le nombre d'exemples. Chaque mot est comme une classe d'architecture de réseau neuronal.
la source
Dans le modèle à saut de gramme, un mot codé à chaud est envoyé à un réseau neuronal peu profond à deux couches. Étant donné que l'entrée est codée à chaud, la couche masquée ne contient qu'une seule ligne de la matrice de pondération cachée d'entrée (disons ligne car la k t h ligne du vecteur d'entrée est une).kth kth
Les scores de chaque mot sont calculés par l'équation suivante.
où h est un vecteur dans la couche cachée et est la matrice de poids de sortie cachée. Après calcul, u C, les distributions multinomiales sont calculées où C est la taille des fenêtres. Les distributions sont calculées par l'équation suivante.W′ u C C
Comme vous pouvez le voir, toutes les distributions sont différentes. (Pour plus d'informations: https://arxiv.org/pdf/1411.2738.pdf ). En fait, ce serait plus clair s'ils utilisaient quelque chose comme la figure suivante.C
En résumé, il n'y a qu'un seul vecteur source . Cependant, C différentes distributions sont calculées à l'aide de la fonction softmax.u C
la source