Intuicyjne wyjaśnienie utraty szumu (NCE)?

32

Czytam o NCE (forma próbkowania kandydata) z tych dwóch źródeł:

Zapis Tensorflow

Oryginalny papier

Czy ktoś może mi pomóc w następujących kwestiach:

  1. Proste wyjaśnienie, w jaki sposób działa NCE (dla mnie powyższe było trudne do przeanalizowania i zrozumienia, więc coś intuicyjnego, które prowadzi do przedstawionej matematyki, byłoby świetne)
  2. Po punkcie 1 powyżej, naturalnie intuicyjny opis tego, czym różni się od negatywnego próbkowania. Widzę, że nastąpiła niewielka zmiana w formule, ale nie mogłem zrozumieć matematyki. Mam intuicyjne zrozumienie negatywnego próbkowania w kontekście word2vec- losowo wybieramy niektóre próbki ze słownika Vi aktualizujemy tylko te, ponieważ |V|są duże, a to oferuje przyspieszenie. Proszę poprawić, jeśli źle.
  3. Kiedy stosować który i jak to się decyduje? Byłoby wspaniale, gdybyś mógł podać przykłady (być może łatwe do zrozumienia aplikacje)
  4. Czy NCE jest lepszy niż próbkowanie ujemne? Lepiej w jaki sposób?

Dziękuję Ci.

tejaskhot
źródło
może być mój post może pomóc. nanjiang.quora.com/Noise-contrastive-Estimation, a później eksperyment z theano można znaleźć na mojej github.com/jiangnanHugo/language_modeling. Mam nadzieję, że moje zrozumienie jest słuszne.
jiangnan hugo

Odpowiedzi:

27

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 .

użytkownik154812
źródło
3

Szczerze mówiąc, nie ma intuicyjnego sposobu, aby zrozumieć, dlaczego utrata NCE zadziała bez głębokiego zrozumienia jej matematyki. Aby zrozumieć matematykę, powinieneś przeczytać oryginalny artykuł.

k

(x,y)ykk

Δsθ0(w,h)=sθ0(w,h)-logkP.n(w)

P.n(w)

knn=k

Oryginalne dokumenty NCE bardzo często pomijały pochodne dowodu, więc naprawdę trudno jest zrozumieć NCE. Aby łatwiej zrozumieć matematykę na temat NCE, mam na blogu post z komentarzem do matematyki z artykułów NCE:

https://leimao.github.io/article/Noise-Contrastive-Estimation/ .

Student drugiego lub wyższego stopnia powinien być w stanie to zrozumieć.

Lei Mao
źródło
1

Zasadniczo polega to na wybraniu próbki z prawdziwej dystrybucji, która składa się z prawdziwej klasy i niektórych innych głośnych etykiet klas. Następnie biorąc softmax nad nim.

Opiera się to na próbkowaniu słów z rozkładu rzeczywistego i rozkładu hałasu.

Tutaj podstawową ideą jest wyszkolenie klasyfikatora regresji logistycznej, który może oddzielić próbki uzyskane z rozkładu rzeczywistego i próbki uzyskane z rozkładu hałasu. Pamiętaj Kiedy mówimy o próbkach uzyskanych z rozkładu rzeczywistego, mówimy tylko o jednej próbce, która jest prawdziwą klasą uzyskaną z rozkładu modelu.

Wyjaśniłem tutaj o utracie NCE i czym różni się ona od utraty NCE.

Ocena kontrastu hałasu: Rozwiązanie dla drogiego Softmax.

Shamane Siriwardhana
źródło
1
Chociaż ten link może odpowiedzieć na pytanie, lepiej jest dołączyć tutaj istotne części odpowiedzi i podać link w celach informacyjnych. Odpowiedzi zawierające tylko łącze mogą stać się nieprawidłowe, jeśli połączona strona ulegnie zmianie.
tuomastik
0

Krótko mówiąc, NCE jest po prostu funkcją utraty klasyfikacji w wielu etykietach z tylko 1 etykietą dodatnią i k ujemną.

Lerner Zhang
źródło