Č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)