Starałem się zrozumieć pojęcie negatywnego próbkowania w kontekście word2vec. Nie jestem w stanie przetrawić idei próbkowania [negatywnego]. Na przykład w pracach Mikołowa sformułowano, że negatywne oczekiwania dotyczące próbkowania są sformułowane jako
Rozumiem lewy termin , ale nie rozumiem idei próbkowania par negatywnych słów i kontekstu.
machine-learning
word2vec
word-embeddings
Upendra Kumar
źródło
źródło
Odpowiedzi:
Problem
Istnieją pewne problemy z nauką wektorów słów przy użyciu „standardowej” sieci neuronowej. W ten sposób wektory słów są uczone, podczas gdy sieć uczy się przewidywać następne słowo na podstawie okna słów (wejście sieci).
Przewidywanie następnego słowa jest jak przewidywanie klasy. Oznacza to, że taka sieć jest po prostu „standardowym” wielomianowym (wieloklasowym) klasyfikatorem. Ta sieć musi mieć tyle neuronów wyjściowych, ile jest klas. Gdy klasy są faktycznymi słowami, liczba neuronów jest, cóż, ogromna .
„Standardowa” sieć neuronowa jest zwykle trenowana z funkcją kosztu entropii krzyżowej, która wymaga, aby wartości neuronów wyjściowych reprezentowały prawdopodobieństwa - co oznacza, że „wyniki” obliczone przez sieć dla każdej klasy muszą zostać znormalizowane, przeliczone na rzeczywiste prawdopodobieństwa dla każdej klasy. Ten etap normalizacji osiąga się za pomocą funkcji softmax . Softmax jest bardzo kosztowny w przypadku zastosowania na ogromną warstwę wyjściową.
Rozwiązanie (a)
Aby poradzić sobie z tym problemem, czyli kosztownym obliczeniem softmax, Word2Vec wykorzystuje technikę zwaną estymacją kontrastu szumowego . Technikę tę wprowadził [A] (przeformułowany przez [B]), a następnie wykorzystano w [C], [D], [E] do nauki osadzania słów z nieoznaczonego tekstu w języku naturalnym.
Podstawową ideą jest konwersja problemu klasyfikacji wielomianowej (ponieważ jest to problem przewidywania następnego słowa ) na problem klasyfikacji binarnej . Oznacza to, że zamiast używać softmax do oszacowania prawdziwego rozkładu prawdopodobieństwa słowa wyjściowego, zamiast tego stosowana jest binarna regresja logistyczna (klasyfikacja binarna).
Dla każdej próbki szkolenia Enhanced (zoptymalizowanej) klasyfikatora przesyłany jest prawdziwe pary (słowo środkowy i inne słowo, które pojawia się w związku z) i liczby przypadkowo uszkodzony park (zawierającego słowa środkowej i losowy słowo z słownictwo). Ucząc się odróżniać pary prawdziwe od uszkodzonych, klasyfikator ostatecznie pozna wektory słów.
Jest to ważne: zamiast przewidywać następne słowo („standardowa” technika treningowa), zoptymalizowany klasyfikator po prostu przewiduje, czy para słów jest dobra, czy zła .
Word2Vec nieznacznie dostosowuje proces i nazywa to próbkowaniem ujemnym . W Word2Vec słowa dla próbek ujemnych (używanych w uszkodzonych parach) są rysowane ze specjalnie zaprojektowanego rozkładu, który faworyzuje rzadziej pojawiające się słowa.
Bibliografia
[A] (2005) - Szacowanie kontrastowe: Szkolenie logarytmiczno-liniowe modele na nieznakowanych danych
[B] (2010) - Szacowanie kontrastowe pod względem hałasu: nowa zasada szacowania dla nienormalizowanych modeli statystycznych
[C] (2008) - Ujednolicona architektura przetwarzania języka naturalnego: głębokie sieci neuronowe z uczeniem wielozadaniowym
[D] (2012) - Szybki i prosty algorytm do uczenia neuronowych probabilistycznych modeli językowych .
[E] (2013) - Efektywne uczenie się osadzania słów dzięki szacunkom kontrastującym z hałasem .
Odpowiedź jest oparta na moich starszych notatkach - mam nadzieję, że były poprawne :)
źródło
"in Word2Vec, the words for the negative samples (used for the corrupted pairs) are drawn from a specially designed distribution, which favours less frequent words to be drawn more often"
. Zastanawiam się, czy to prawda? Ponieważ niektóre inne źródła podają, że częstsze słowa są próbkowane jako próbki negatywne.Essentially, the probability for selecting a word as a negative sample is related to its frequency, with more frequent words being more likely to be selected as negative samples.