Sobes.tech
Middle — Senior

Čo je to negative sampling pri tréningu word2vec a na čo slúži?

sobes.tech AI

Odpoveď od AI

Negatívne vzorkovanie je technika optimalizácie používaná pri tréningu modelu word2vec na efektívne učenie v úlohách s veľmi veľkým slovníkom. Namiesto výpočtu pravdepodobnosti pre všetky slová vo slovníku (čo je veľmi nákladné), negatívne vzorkovanie vyberá niekoľko "negatívnych" príkladov (slov, ktoré nie sú súčasťou kontextu daného slova) a trénuje model, aby rozlišoval medzi skutočnými pármi slov (kladné príklady) a náhodnými (negatívnymi).

Toto umožňuje výrazne zrýchliť tréning a znížiť výpočtové náklady, pričom si zachováva kvalitu získaných vnoření. Nakoniec sa model naučí zvyšovať pravdepodobnosť susedných slov a znižovať pravdepodobnosť náhodných slov.

Príklad: pre pár (slovo, kontext) — kladný príklad — sú vybrané niekoľko náhodných slov zo slovníka ako negatívne a model sa naučí ich rozlišovať.

# Pseudokód negatívneho vzorkovania
for target_word, context_word in corpus:
    positive_pair = (target_word, context_word)
    negative_samples = sample_negative_words(k)  # k — počet negatívnych príkladov
    update_model(positive_pair, negative_samples)