Comment fonctionne l'échantillonnage négatif dans word2vec?


19

J'ai essayé de comprendre le concept d'échantillonnage négatif dans le contexte de word2vec. Je suis incapable de digérer l'idée d'un échantillonnage [négatif]. Par exemple, dans les articles de Mikolov, l'attente d'échantillonnage négative est formulée comme suit:

logσ(w,c)+kEcNPD[logσ(w,cN)].

Je comprends le terme gauche , mais je ne comprends pas l'idée d'échantillonner des paires mot-contexte négatives.logσ(w,c)


4
Il est ridicule de voir à quel point la documentation est dispersée pour word2vec. Vous trouverez les dérivations d'échantillonnage négatives ici: arxiv.org/pdf/1402.3722v1.pdf
Alex R.

J'ai parcouru l'explication que vous avez mentionnée et j'ai compris les mathématiques derrière. Mais je suis incapable de digérer l'intuition derrière l'échantillonnage.
Upendra Kumar

Réponses:


27

Le problème

Il y a quelques problèmes avec l'apprentissage des vecteurs de mots en utilisant un réseau neuronal "standard". De cette façon, les vecteurs de mots sont appris pendant que le réseau apprend à prédire le mot suivant étant donné une fenêtre de mots (l'entrée du réseau).

Prédire le mot suivant, c'est comme prédire la classe. C'est-à-dire qu'un tel réseau n'est qu'un classificateur multinomial (multi-classe) "standard". Et ce réseau doit avoir autant de neurones de sortie que de classes. Lorsque les classes sont de vrais mots, le nombre de neurones est, eh bien, énorme .

Un réseau neuronal "standard" est généralement formé avec une fonction de coût d' entropie croisée qui nécessite que les valeurs des neurones de sortie représentent des probabilités - ce qui signifie que les "scores" de sortie calculés par le réseau pour chaque classe doivent être normalisés, convertis en probabilités réelles pour chaque classe. Cette étape de normalisation est réalisée au moyen de la fonction softmax . Softmax est très coûteux lorsqu'il est appliqué à une énorme couche de sortie.

La (a) solution

Pour résoudre ce problème, à savoir le calcul coûteux du softmax, Word2Vec utilise une technique appelée estimation de contraste de bruit. Cette technique a été introduite par [A] (reformulée par [B]) puis utilisée en [C], [D], [E] pour apprendre les incorporations de mots à partir de texte en langage naturel non étiqueté.

L'idée de base est de convertir un problème de classification multinomial (comme c'est le problème de prédire le mot suivant ) en un problème de classification binaire . C'est-à-dire qu'au lieu d'utiliser softmax pour estimer une vraie distribution de probabilité du mot de sortie, une régression logistique binaire (classification binaire) est utilisée à la place.

Pour chaque échantillon d'apprentissage, le classificateur amélioré (optimisé) reçoit une vraie paire (un mot central et un autre mot qui apparaît dans son contexte) et un certain nombre de paires corrompues de manière aléatoire (consistant en le mot central et un mot choisi au hasard dans le vocabulaire). En apprenant à distinguer les vraies paires des paires corrompues, le classificateur apprendra finalement les mots vecteurs.k

Ceci est important: au lieu de prédire le mot suivant (la technique d'apprentissage "standard"), le classificateur optimisé prédit simplement si une paire de mots est bonne ou mauvaise .

Word2Vec personnalise légèrement le processus et l'appelle échantillonnage négatif . Dans Word2Vec, les mots des échantillons négatifs (utilisés pour les paires corrompues) sont tirés d'une distribution spécialement conçue, ce qui favorise les mots moins fréquents à dessiner plus souvent.

Les références

[A] (2005) - Estimation contrastive: formation de modèles log-linéaires sur des données non étiquetées

[B] (2010) - Estimation par contraste de bruit: un nouveau principe d'estimation pour les modèles statistiques non normalisés

[C] (2008) - Une architecture unifiée pour le traitement du langage naturel: réseaux de neurones profonds avec apprentissage multitâche

[D] (2012) - Un algorithme simple et rapide pour la formation de modèles de langage neurologiques probabilistes .

[E] (2013) - Apprentissage efficace des intégrations de mots avec une estimation de contraste de bruit .


La réponse est basée sur certaines de mes notes plus anciennes - j'espère qu'elles étaient correctes :)


2
Vous avez mentionné, "in Word2Vec, the words for the negative samples (used for the corrupted pairs) are drawn from a specially designed distribution, which favours less frequent words to be drawn more often". Je me demande si c'est correct? Parce que d'autres sources disent que les mots plus fréquents sont échantillonnés comme des échantillons négatifs. Essentially, the probability for selecting a word as a negative sample is related to its frequency, with more frequent words being more likely to be selected as negative samples.
Tyler 傲 来 国 主


BTW, quelle est la raison de choisir parmi des mots fréquents hauts ou bas comme échantillons négatifs? L'échantillonnage aléatoire à partir de mots non contextuels n'est-il pas suffisant?
Tyler 傲 来 国 主

@Tyler 傲 来 国 主 Si je comprends bien, les mots les moins fréquents sont plus informatifs car ils ont tendance à être spécifiques au contexte. Des mots plus fréquents ont tendance à être associés à beaucoup d'autres mots (prenez l'exemple extrême "le"). Cela rend les mots peu fréquents "plus difficiles" à obtenir correctement (vous apprenez plus vite) et réduit également les chances de choisir un mot qui n'est en fait pas un échantillon négatif (car avec les grands corpus, le vérifier est coûteux et est souvent laissé de côté).
drevicko

@drevicko Les mots moins fréquents sont plus informatifs, mais les mots moins fréquents étant des échantillons négatifs sont moins informatifs. Selon la théorie de l'information, plus la probabilité est élevée, plus l'auto-information est petite. L'événement de mots fréquents étant des échantillons négatifs pour un mot cible donné devrait être de moindre probabilité, ce qui signifie des quantités d'informations plus élevées.
Tyler 傲 来 国 主
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.