Kas yra negative sampling mokant word2vec ir kam jis reikalingas?
sobes.tech AI
Atsakymas iš AI
Neigiamo pavyzdžio ėmimas yra optimizavimo technika, naudojama mokant word2vec modelį, siekiant efektyviai mokytis su labai dideliu žodynu. Vietoj to, kad apskaičiuotų tikimybę visiems žodžiams žodyne (kas yra labai brangu), neigiamo pavyzdžio ėmimas pasirenka keletą "neigiamų" pavyzdžių (žodžių, kurie nėra šio žodžio kontekste) ir moko modelį atskirti tikrus žodžių poras (teigiamus pavyzdžius) nuo atsitiktinių (neigiamų).
Tai leidžia žymiai pagreitinti mokymąsi ir sumažinti skaičiavimo išlaidas, išlaikant gautų įdėjimų kokybę. Galiausiai, modelis išmoksta didinti artimų žodžių tikimybę ir mažinti atsitiktinių žodžių tikimybę.
Pavyzdys: porai (žodis, kontekstas) — teigiamas pavyzdys — iš žodyno pasirenkama keletas atsitiktinių žodžių kaip neigiamų, ir modelis išmoksta juos atskirti.
# Neigiamo pavyzdžio ėmimo pseudokodas
for target_word, context_word in corpus:
positive_pair = (target_word, context_word)
negative_samples = sample_negative_words(k) # k — neigiamų pavyzdžių skaičius
update_model(positive_pair, negative_samples)