Sobes.tech
Middle — Senior

Qu'est-ce que l'échantillonnage négatif dans l'apprentissage de word2vec et à quoi sert-il?

sobes.tech IA

Réponse de l'IA

L’échantillonnage négatif est une technique d’optimisation utilisée dans l’entraînement du modèle word2vec pour un apprentissage efficace dans des tâches avec un vocabulaire très vaste. Au lieu de calculer la probabilité pour tous les mots du vocabulaire (ce qui est très coûteux), l’échantillonnage négatif sélectionne plusieurs exemples "négatifs" (mots qui ne font pas partie du contexte du mot donné) et entraîne le modèle à distinguer entre les paires de mots réels (exemples positifs) et aléatoires (négatifs).

Cela permet d’accélérer considérablement l’entraînement et de réduire les coûts de calcul, tout en conservant la qualité des embeddings obtenus. En fin de compte, le modèle apprend à augmenter la probabilité des mots proches et à diminuer celle des mots aléatoires.

Exemple : pour une paire (mot, contexte) — exemple positif, plusieurs mots aléatoires du vocabulaire sont sélectionnés comme négatifs, et le modèle apprend à les distinguer.

# Pseudocode de l’échantillonnage négatif
for target_word, context_word in corpus:
    positive_pair = (target_word, context_word)
    negative_samples = sample_negative_words(k)  # k — nombre d’exemples négatifs
    update_model(positive_pair, negative_samples)