Mam problemy ze zrozumieniem modelu pominięcia gramów algorytmu Word2Vec.
W ciągłym pakiecie słów łatwo jest zobaczyć, jak słowa kontekstowe mogą się „zmieścić” w sieci neuronowej, ponieważ w zasadzie uśrednia się je po pomnożeniu każdej z reprezentacji kodowania jednokrotnego z macierzą wejściową W.
Jednak w przypadku pominięcia gram, wektor słowa wejściowego uzyskuje się tylko przez pomnożenie kodowania „one-hot” przez macierz wejściową, a następnie należy uzyskać reprezentacje wektorów C (= rozmiar okna) dla słów kontekstu przez pomnożenie reprezentacja wektora wejściowego z macierzą wyjściową W '.
Chodzi mi o to, że mam słownik wielkości i kodowanie rozmiaru , i macierz jako macierz wyjściowa. Biorąc pod uwagę słowo z kodowaniem jednorazowym ze słowami kontekstowymi i (z jednokrotnymi powtórzeniami i ), jeśli pomnożymy przez macierz wejściową , otrzymamy , jak teraz generujesz z tego wektory score?N W ∈ R V × N W ′ ∈ R N × V w i x i w j w h x j x h x i W h : = x T i W = W ( i , ⋅ ) ∈ R N C
źródło
W obu modelach wynik wyjściowy zależy od używanej funkcji oceniania. Mogą być dwie funkcje punktowe: softmax lub próbkowanie ujemne. Więc używasz funkcji softmax score. Otrzymasz rozmiar funkcji punktowej N * D. Tutaj D jest wymiarem wektora słowa. N jest liczbą przykładów. Każde słowo jest jak klasa w architekturze sieci neuronowej.
źródło
W modelu pomijania gramów jedno zakodowane słowo jest podawane do dwuwarstwowej płytkiej sieci neuronowej. Ponieważ dane wejściowe są kodowane na gorąco, warstwa ukryta zawiera tylko jeden wiersz wejściowej macierzy ukrytej wagi (powiedzmy, że wiersz, ponieważ wiersz wektora wejściowego to jeden). k t hkth kth
Wyniki dla każdego słowa są obliczane według następującego równania.
gdzie h jest wektorem w ukrytej warstwie, a to ukryta macierz wyjściowej masy. Po obliczeniu obliczane są rozkłady wielomianowe, gdzie ma rozmiar okna. Rozkłady są obliczane według następującego równania. U C CW′ u C C
Jak widać, wszystkie dystrybucje są różne. (Aby uzyskać więcej informacji: https://arxiv.org/pdf/1411.2738.pdf ). W rzeczywistości byłoby to bardziej jasne, gdyby użyli czegoś takiego jak poniższy rysunek.C
Podsumowując, istnieje tylko jedno źródło wektora . Jednak różne rozkłady są obliczane przy użyciu funkcji softmax.C.u C
źródło