web-dev-qa-db-fra.com

word2vec: échantillonnage négatif (en termes simples)?

Je lis le document ci-dessous et j'ai quelques difficultés à comprendre le concept d'échantillonnage négatif.

http://arxiv.org/pdf/1402.3722v1.pdf

Quelqu'un peut-il aider s'il vous plaît?

70
Andy K

L'idée de Word2vec _ consiste à maximiser la similarité (produit scalaire) entre les vecteurs de mots apparaissant proches (dans le contexte les uns des autres) dans le texte et à minimiser la similarité des mots qui ne le sont pas. Dans l'équation (3) du document auquel vous créez un lien, ignorez l'exponentiation pendant un moment. Tu as

      v_c * v_w
 -------------------
   sum(v_c1 * v_w)

Le numérateur est essentiellement la similitude entre les mots c (le contexte) et w (la cible) Word. Le dénominateur calcule la similarité de tous les autres contextes c1 et le mot cible w. En maximisant ce rapport, les mots apparaissant plus proches dans le texte ont plus de vecteurs similaires que les mots qui ne le sont pas. Cependant, l’informatique peut être très lente car il existe de nombreux contextes c1. L’échantillonnage négatif est l’un des moyens de résoudre ce problème - il suffit de sélectionner quelques contextes c1 au hasard. Le résultat final est que si cat apparaît dans le contexte de food, alors le vecteur de food est plus similaire au vecteur de cat (en tant que mesures par leur produit scalaire) que les vecteurs de plusieurs autres mots choisis au hasard (par exemple, democracy, greed, Freddy), au lieu de tous les autres mots dans la langue. Cela fait Word2vec beaucoup plus rapide à former.

132
mbatchkarov

L'informatique Softmax (Fonction permettant de déterminer quels mots sont similaires au mot cible actuel) est onéreuse, car il faut faire la somme mots en [~ # ~] v [~ # ~] (dénominateur), qui est généralement très volumineux.

enter image description here

Que peut-on faire?

Différentes stratégies ont été proposées pour approximer la softmax. Ces approches peuvent être regroupées en approches basées sur softmax et . Softmax-based les approches sont des méthodes qui permettent de garder la couche softmax intacte, tout en modifiant son architecture pour en améliorer l'efficacité (par exemple: softmax hiérarchique). basé sur l'échantillonnage approche en revanche, supprime complètement la couche softmax et optimise à la place une autre fonction de perte se rapproche de la softmax (ils le font en se rapprochant de la normalisation du dénominateur de la softmax avec une autre perte dont le calcul est peu coûteux, comme l’échantillonnage négatif).

La fonction de perte dans Word2vec est quelque chose comme:

enter image description here

Quel logarithme peut se décomposer en:

enter image description here

Avec une formule mathématique et dégradée (voir plus de détails à ), il est converti en:

enter image description here

Comme vous le voyez converti en tâche de classification binaire (y = 1 classe positive, y = 0 classe négative). Comme nous avons besoin d’étiquettes pour effectuer notre tâche de classification binaire, nous désignons tous les mots du contexte c comme étiquettes vraies (y = 1, échantillon positif) et k de manière aléatoire. sélectionné parmi les corpus sous forme de fausses étiquettes (y = 0, échantillon négatif).


Regardez le paragraphe suivant. Supposons que notre mot cible est " Word2vec ". Avec une fenêtre de 3, nos mots de contexte sont: The, widely, popular, algorithm, was, developed. Ces mots de contexte considèrent comme des étiquettes positives. Nous avons également besoin d’étiquettes négatives. Nous sélectionnons au hasard des mots dans un corpus (produce, software, Collobert, margin-based, probabilistic) et les considérer comme des échantillons négatifs. Cette technique que nous avons choisie au hasard parmi les exemples du corpus est appelée échantillonnage négatif.

enter image description here

Référence :

29
Amir

J'ai écrit un article de tutoriel sur l'échantillonnage négatif ici .

Pourquoi utilisons-nous un échantillonnage négatif? -> pour réduire les coûts de calcul

La fonction de coût pour l'échantillonnage négatif Vanilla Skip-Gram (SG) et Skip-Gram négatif (SGNS) se présente comme suit:

enter image description here

La distribution de probabilité p(w_t+j|w_t) dans SG est calculée pour tous les V vocabs du corpus avec:

enter image description here

V peut facilement dépasser des dizaines de milliers de personnes lors de l’entraînement du modèle Skip-Gram. La probabilité doit être calculée V fois, ce qui la rend coûteuse en calcul. De plus, le facteur de normalisation dans le dénominateur nécessite des calculs supplémentaires de V.

Par contre, la distribution de probabilité dans SGNS est calculée avec:

enter image description here

c_pos Est un vecteur Word pour un mot positif et W_neg Est un vecteur Word pour tous les échantillons K négatifs dans la matrice de pondération en sortie. Avec SGNS, la probabilité ne doit être calculée que K + 1 Fois, où K est généralement compris entre 5 et 20. De plus, aucune itération supplémentaire n'est nécessaire pour calculer le facteur de normalisation dans le dénominateur.

Avec SGNS, seule une fraction des poids est mise à jour pour chaque échantillon d'apprentissage, alors que SG met à jour tous les millions de poids pour chaque échantillon d'apprentissage.

enter image description here

Comment SGNS parvient-il à atteindre cet objectif? -> en transformant la tâche de multi-classification en tâche de classification binaire.

Avec SGNS, les vecteurs de mots ne sont plus appris en prédisant les mots du contexte d'un mot central. Il apprend à différencier les mots de contexte réels (positifs) des mots tirés au hasard (négatifs) de la distribution du bruit.

enter image description here

Dans la vraie vie, vous n'observez généralement pas regression avec des mots aléatoires tels que Gangnam-Style Ou pimples. L'idée est que si le modèle peut faire la distinction entre les paires probables (positives) et les paires improbables (négatives), de bons vecteurs Word seront appris.

enter image description here

Dans la figure ci-dessus, la paire mot-contexte positive actuelle est (drilling, engineer). Les échantillons négatifs K=5 Sont tirés au hasard à partir de la distribution du bruit : minimized, primary, concerns , led, page. Lorsque le modèle parcourt les échantillons d'apprentissage, les poids sont optimisés de sorte que la probabilité pour une paire positive produise p(D=1|w,c_pos)≈1, et la probabilité pour les paires négatives générera p(D=1|w,c_neg)≈0.

7
Eric Kim