Wat is negative sampling in de training van word2vec en waar is het voor nodig?
sobes.tech AI
Antwoord van AI
Negatief sampling is een optimalisatietechniek die wordt gebruikt bij het trainen van het word2vec-model om efficiënt te leren bij taken met een zeer grote woordenschat. In plaats van de waarschijnlijkheid voor alle woorden in de woordenschat te berekenen (wat erg duur is), selecteert negatief sampling meerdere "negatieve" voorbeelden (woorden die niet deel uitmaken van de context van het gegeven woord) en traint het model om echte woordparen (positieve voorbeelden) te onderscheiden van willekeurige (negatieve) voorbeelden.
Dit stelt het model in staat om de training aanzienlijk te versnellen en de rekenkosten te verminderen, terwijl de kwaliteit van de verkregen embeddings behouden blijft. Uiteindelijk leert het model de waarschijnlijkheid van nabije woorden te verhogen en die van willekeurige woorden te verlagen.
Voorbeeld: voor een paar (woord, context) — positief voorbeeld — worden verschillende willekeurige woorden uit de woordenschat als negatief geselecteerd, en het model leert ze te onderscheiden.
# Pseudocode voor negatief sampling
for target_word, context_word in corpus:
positive_pair = (target_word, context_word)
negative_samples = sample_negative_words(k) # k — aantal negatieve voorbeelden
update_model(positive_pair, negative_samples)