Sobes.tech
Middle — Senior

Šta je negative sampling u obuci word2vec i čemu služi?

sobes.tech АИ

Одговор од АИ

Negativno uzorkovanje je tehnika optimizacije koja se koristi u obuci modela word2vec za efikasno učenje u zadacima sa veoma velikim vokabularom. Umesto da računa verovatnoću za sve reči u vokabularu (što je veoma skupo), negativno uzorkovanje bira nekoliko "negativnih" primera (reči koje nisu deo konteksta date reči) i trenira model da razlikuje prave parove reči (pozitivni primeri) od slučajnih (negativnih).

Ovo omogućava značajno ubrzanje obuke i smanjenje računskih troškova, uz očuvanje kvaliteta dobijenih ugradnji. Na kraju, model uči da povećava verovatnoću susednih reči i smanjuje verovatnoću slučajnih reči.

Primer: za par (reč, kontekst) — pozitivan primer — bira se nekoliko slučajnih reči iz vokabulara kao negativne, a model uči da ih razlikuje.

# Pseudokod za negativno uzorkovanje
for target_word, context_word in corpus:
    positive_pair = (target_word, context_word)
    negative_samples = sample_negative_words(k)  # k — broj negativnih primera
    update_model(positive_pair, negative_samples)