Was ist Negative Sampling beim Training von word2vec und wozu dient es?
sobes.tech KI
Antwort von AI
Negatives Sampling ist eine Optimierungstechnik, die beim Training des word2vec-Modells verwendet wird, um effizient in Aufgaben mit sehr großen Vokabularen zu lernen. Anstatt die Wahrscheinlichkeit für alle Wörter im Vokabular zu berechnen (was sehr teuer ist), wählt das Negative Sampling mehrere "negative" Beispiele (Wörter, die nicht zum Kontext des gegebenen Wortes gehören) aus und trainiert das Modell, echte Wortpaare (positive Beispiele) von zufälligen (negativen) zu unterscheiden.
Dies ermöglicht eine erhebliche Beschleunigung des Trainings und eine Reduzierung der Rechenkosten, während die Qualität der eingebetteten Vektoren erhalten bleibt. Das Modell lernt letztlich, die Wahrscheinlichkeit benachbarter Wörter zu erhöhen und die Wahrscheinlichkeit zufälliger Wörter zu verringern.
Beispiel: Für ein Paar (Wort, Kontext) — positives Beispiel — werden mehrere zufällige Wörter aus dem Vokabular als negative Beispiele ausgewählt, und das Modell lernt, sie zu unterscheiden.
# Pseudocode für negatives Sampling
for target_word, context_word in corpus:
positive_pair = (target_word, context_word)
negative_samples = sample_negative_words(k) # k — Anzahl der negativen Beispiele
update_model(positive_pair, negative_samples)