Robocikowo>ROBOCIKOWO
Dane

Word2Vec

2013AktywnyOpublikowany
Metoda uczenia gęstych reprezentacji słów z dużych korpusów, w której bliskość wektorów odzwierciedla podobieństwo semantyczne.
Kluczowa innowacja
Pokazał, że płytka sieć neuronowa trenowana na zadaniu przewidywania kontekstu uczy się wektorów o własnościach algebraicznych (king - man + woman ≈ queen).
Kategoria
Dane
Poziom abstrakcji
Building block
Poziom operacji
Dane
Zastosowania
Inicjalizacja embeddingów w modelach NLPWyszukiwanie semantyczne i podobieństwo słówSystemy rekomendacji (item2vec)Klasteryzacja i wizualizacja semantyki

Jak działa

Dwie architektury: CBOW (przewiduje słowo na podstawie kontekstu) i Skip-gram (przewiduje kontekst na podstawie słowa). Trening wykorzystuje negative sampling lub hierarchical softmax, by uniknąć kosztu pełnego softmax po słowniku. Po treningu wektory z warstwy ukrytej stają się embeddingami słów.

Rozwiązany problem

Reprezentacje rzadkie (one-hot, TF-IDF) traktują słowa jako niezależne symbole i nie wychwytują synonimii ani relacji semantycznych. Word2Vec uczy gęstych wektorów, w których podobne znaczeniowo słowa są blisko siebie.

Komponenty

CBOWArchitektura treningowa

Architektura przewidująca słowo docelowe na podstawie uśrednionego kontekstu — szybsza, lepsza dla słów częstych.

Oficjalna

Skip-gramArchitektura treningowa

Architektura przewidująca słowa kontekstu na podstawie słowa docelowego — lepsza dla słów rzadkich i małych korpusów.

Oficjalna

Negative SamplingFunkcja celu treningu

Aproksymacja softmax: zamiast normalizować po całym słowniku, model uczy się odróżniać prawdziwe pary od kilku losowych negatywnych.

Oficjalna

Implementacja

Pułapki implementacyjne
Brak obsługi słów spoza słownika (OOV)Wysoka

Word2Vec nie ma wektora dla słów nieobecnych w korpusie treningowym.

Rozwiązanie:Użyj FastText (embeddingi na poziomie n-gramów znakowych) lub embeddingów kontekstowych.
Jeden wektor na słowo — brak ujednoznacznieniaŚrednia

"Zamek" (budowla / urządzenie) dostaje jeden uśredniony wektor.

Rozwiązanie:Zastosuj embeddingi kontekstowe (BERT, ELMo) tam, gdzie liczy się sens w kontekście.

Ewolucja

Oryginalny paper · 2013 · ICLR 2013 (workshop) · Tomas Mikolov
Efficient Estimation of Word Representations in Vector Space
Tomas Mikolov, Kai Chen, Greg Corrado, Jeffrey Dean
2003
Neural Probabilistic Language Model (Bengio)

Bengio i in. wprowadzają uczone reprezentacje słów w neuronowym modelu języka — prekursor word2vec.

2013
Publikacja Word2Vec
Punkt przełomowy

Mikolov i in. publikują CBOW i Skip-gram wraz z wydajnym treningiem — embeddingi gęste wchodzą do mainstreamu.

2014
GloVe jako alternatywa

Pennington i in. (Stanford) proponują GloVe — embeddingi oparte na globalnych statystykach współwystąpień.

2016
FastText rozwiązuje problem OOV

Facebook AI publikuje FastText — embeddingi na poziomie n-gramów znakowych, radzące sobie ze słowami spoza słownika.

2018
Embeddingi kontekstowe (ELMo, BERT)
Punkt przełomowy

Embeddingi zależne od kontekstu wypierają statyczne wektory word2vec w zadaniach wymagających ujednoznacznienia.

Hiperparametry (konfigurowalne osie)

ArchitekturaWysoka

CBOW (szybszy, lepszy dla częstych słów) vs Skip-gram (lepszy dla rzadkich słów).

skip-gramLepsza jakość dla małych korpusów i rzadkich słów.
Wymiar wektoraWysoka

Liczba wymiarów embeddingu — kompromis między ekspresją a kosztem.

300Popularny wybór dla ogólnego NLP.
Okno kontekstuŚrednia

Liczba słów wokół celu traktowanych jako kontekst.

5Typowa wartość domyślna.

Złożoność obliczeniowa

Złożoność czasowa: O(C·E + E·log V) na próbkę (hierarchical softmax). Złożoność przestrzenna: O(V·E).

Paradygmat wykonania

Tryb główny
Gęsty
Wzorzec aktywacji
Wszystkie ścieżki aktywne

Równoległość

Poziom równoległości
Częściowo równoległy
Zakres
TreningInferencja

Wymagania sprzętowe

Dobry fit

Oryginalna implementacja (C) jest wysoce zoptymalizowana pod CPU z wielowątkowością.

Możliwe

Możliwy trening na GPU, lecz korzyść mniejsza niż w głębokich modelach z powodu płytkiej architektury.