Chcę znaleźć wstępnie wyważone ciężary już wyszkolonych modeli, takich jak dane Google News itp. Trudno mi było wyszkolić nowy model z wystarczającą ilością danych (10 GB itp.) Dla siebie. Chcę więc skorzystać z nauki transferu, w której mógłbym uzyskać wstępnie wyszkolone wagi warstw i ponownie wyćwiczyć te ciężary na słowach specyficznych dla mojej domeny. Zdecydowanie zajmie to mniej czasu na treningu. Każda pomoc będzie mile widziana. Z góry dziękuję :)
źródło
model = Word2Vec.load(fname) # you can continue training with the loaded model!
Rozproszone reprezentacje (rękawiczki) oparte na szkoleniu na dużym korpusie są bezpośrednio dostępne z grupy Stanford NLP. Możesz użyć tych osadzeń słów bezpośrednio w swojej aplikacji (zamiast używać 1 wektorów zakodowanych na gorąco, a następnie szkolić sieć, aby uzyskać osadzanie). Jeśli Twoje zadanie nie jest zbyt wyspecjalizowane, rozpoczęcie od tego zestawu osadzeń będzie działać dobrze w praktyce.
Będzie to zaoszczędzić od szkolenia dodatkowego liczbę parametrówm×V , gdzie jest słownictwo wielkość i jest wymiarem przestrzeni osadzającego chcesz do projektu.mV m
źródło
Spójrz na ten artykuł [PDF] . Główny nacisk kładziony jest na zadanie NER, ale pomysł jest ten sam - weź wstępnie przeszkolone wektory word2vec i dostosuj je do konkretnej aplikacji.
Wiele popularnych aplikacji NLP opartych na sieci neuronowej często zaczyna się od wstępnie przeszkolonych wektorów. Na przykład właśnie najnowszy artykuł [PDF] (zadania znakowania NER i POS) właśnie to robi.
źródło
źródło