Zaczerpnięte z tego postu: https://stats.stackexchange.com/a/245452/154812
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, biorąc pod uwagę okno 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).
Do każdej próbki treningowej ulepszony (zoptymalizowany) klasyfikator jest zasilany prawdziwą parą (słowo środkowe i inne słowo pojawiające się w jego kontekście) oraz pewną liczbą losowo uszkodzonych par kk (składających się ze słowa środkowego i losowo wybranego słowa 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.
Referencje
[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 .