Jak działa negatywne próbkowanie w word2vec?


19

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

logσ(w,do)+kmidoN.P.re[logσ(-w,doN.)].

Rozumiem lewy termin , ale nie rozumiem idei próbkowania par negatywnych słów i kontekstu.logσ(w,do)


4
To niedorzeczne, jak rozproszona jest dokumentacja dla word2vec. Tutaj znajdziesz pochodne ujemnego próbkowania: arxiv.org/pdf/1402.3722v1.pdf
Alex R.

Przeszedłem wyjaśnienie, które odniosłeś, i zrozumiałem matematykę, która za tym stoi. Ale nie jestem w stanie zrozumieć intuicji stojącej za próbkowaniem.
Upendra Kumar

Odpowiedzi:


27

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


2
Wspomniał pan, "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.
Tyler 傲 来 国 主


BTW, jaki jest powód wyboru spośród wysokiej lub niskiej częstotliwości słów jako próbek negatywnych? Czy losowe próbkowanie słów bez kontekstu nie jest wystarczająco dobre?
Tyler 傲 来 国 主

@Tyler 傲 来 国 主 Jak rozumiem, rzadziej używane słowa są bardziej pouczające, ponieważ mają tendencję do specyficznego kontekstu. Częstsze słowa zwykle kojarzą się z wieloma innymi słowami (przykład skrajnego przykładu „the”). To sprawia, że ​​rzadkie słowa stają się trudniejsze do poprawnego (uczysz się szybciej), a także zmniejsza szansę na wybranie słowa, które tak naprawdę nie jest negatywną próbką (ponieważ przy dużych ciałach sprawdzanie tego jest drogie i często pomija się).
drevicko

@drevicko Rzadsze słowa są bardziej pouczające, ale rzadziej słowa będące próbkami negatywnymi są mniej pouczające. Według teorii informacji, im większe prawdopodobieństwo, tym mniejsza jest samo-informacja. Zdarzenie, w którym częste słowa są próbkami ujemnymi dla danego słowa docelowego, powinno mieć mniejsze prawdopodobieństwo, co oznacza większą ilość informacji.
Tyler 16 来 国 主
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.