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 :)