Word2Vec-ის სწავლებაში negative sampling რა არის და რა მიზნით გამოიყენება?
sobes.tech AI
პასუხი AI-სგან
ნეგატიური სემპლირება არის ოპტიმიზაციის ტექნიკა, რომელიც გამოიყენება word2vec მოდელის ტრენინგში, რათა ეფექტურად ისწავლოს ძალიან დიდ სიტყვიერებაში. ნაცვლად იმისა, რომ გამოითვალოს ალბათობა ყველა სიტყვაზე სიტყვიერებაში (რაც ძალიან ძვირია), ნეგატიური სემპლირება ირჩევს რამდენიმე "ნეგატიურ" მაგალითს (სიტყვებს, რომლებიც არ შედიან მოცემული სიტყვის კონტექსტში) და ტრენინგს უტარებს მოდელს, რათა განასხვავოს რეალური სიტყვების წყვილები (პოზიტიური მაგალითები) შემთხვევითებისგან (ნეგატიური).
ეს საშუალებას აძლევს მნიშვნელოვნად გააუმჯობესოს ტრენინგის სიჩქარე და შეამციროს გამოთვლითი ხარჯები, ამავდროულად შენარჩუნებული ხარისხით მიღებული embeddings-ის. საბოლოოდ, მოდელი სწავლობს ახლოს მდებარე სიტყვების ალბათობის გაზრდას და შემთხვევით სიტყვების ალბათობის შემცირებას.
მაგალითი: წყვილისთვის (სიტყვა, კონტექსტი) — პოზიტიური მაგალითი — რამდენიმე შემთხვევითი სიტყვა ირჩევა სიტყვებისგან როგორც ნეგატიური, და მოდელი სწავლობს მათ განასხვავებას.
# ნეგატიური სემპლირების псევდოკოდი
for target_word, context_word in corpus:
positive_pair = (target_word, context_word)
negative_samples = sample_negative_words(k) # k — ნეგატიური მაგალითების რაოდენობა
update_model(positive_pair, negative_samples)