Ce este sampling-ul negativ în antrenamentul word2vec și la ce folosește?
sobes.tech AI
Răspuns de la AI
Sampling negativ este o tehnică de optimizare utilizată în antrenarea modelului word2vec pentru a învăța eficient în sarcini cu vocabular foarte mare. În loc să calculeze probabilitatea pentru toate cuvintele din vocabular (ceea ce este foarte costisitor), samplingul negativ selectează mai multe exemple "negative" (cuvinte care nu fac parte din contextul cuvântului dat) și antrenează modelul să distingă între perechi reale de cuvinte (exemple pozitive) și aleatorii (negative).
Aceasta permite accelerarea semnificativă a antrenamentului și reducerea costurilor computaționale, păstrând în același timp calitatea embeddingurilor obținute. În final, modelul învață să crească probabilitatea cuvintelor apropiate și să scadă probabilitatea cuvintelor aleatorii.
Exemplu: pentru o pereche (cuvânt, context) — exemplu pozitiv — se selectează mai multe cuvinte aleatorii din vocabular ca negative, iar modelul învață să le distingă.
# Pseudocod pentru sampling negativ
for target_word, context_word in corpus:
positive_pair = (target_word, context_word)
negative_samples = sample_negative_words(k) # k — numărul de exemple negative
update_model(positive_pair, negative_samples)