Trening miękki

Poprzednia strona wyjaśniała, jak dodać warstwę softmax do głębokiej sieci neuronowej. Ta strona zawiera przegląd danych treningowych dla tego systemu.

Dane do trenowania

Dane trenowania softmax składają się z funkcji zapytań \(x\) i wektorów elementów, z którymi użytkownik wszedł w interakcję (w tym przypadku rozkładu prawdopodobieństwa \(p\)). Są one oznaczone na niebiesko na tej ilustracji. Zmienne modelu to wagi w różnych warstwach. Są one oznaczone poniżej na pomarańczowo. Model jest zwykle trenowany przy użyciu dowolnego wariantu spadku gradientu podstawowego.

Obraz przedstawiający trenowanie miękkiej sieci neuronowej softmax

Próbkowanie ujemne

Ponieważ funkcja straty porównuje 2 wektory prawdopodobieństwa\(p, \hat p(x) \in \mathbb R^n\) (podstawowa obserwacja i dane wyjściowe modelu), obliczenie gradientu utraty (dla pojedynczego zapytania \(x\)) może być kosztowne, jeśli rozmiar korpusu jest zbyt duży.

Możesz skonfigurować system do obliczania gradientów tylko w przypadku elementów dodatnich (elementów, które są aktywne wektorach podstawowych). Jeśli jednak system trenuje tylko pary dodatnie, może to pogorszyć model, jak opisano poniżej.

Składanie
Obraz przedstawiający składającą się z połowy półkę, na której znajdują się 3 różne grupy kwadratów reprezentujących zapytania oraz okręgi przedstawiające elementy. Każda grupa ma inny kolor, a zapytania dotyczą tylko elementów z tej samej grupy.Załóżmy, że każdy kolor przedstawia inną kategorię zapytań i elementów. Każde zapytanie (reprezentowane jako kwadrat) wchodzi głównie w interakcje z elementami (reprezentowanymi jako koło) w tym samym kolorze. Wyobraź sobie na przykład, że każda kategoria jest innym językiem w YouTube. Typowy użytkownik korzysta głównie z filmów w jednym języku.

Model może nauczyć się, jak umieszczać zapytania i elementy danego koloru w stosunku do siebie (prawidłowo zarejestrować podobieństwo w tym kolorze), ale osadzenia w różnych kolorach mogą (przez przypadek) pojawić się w tym samym regionie. To zjawisko, zwane składaniem, może prowadzić do fałszywych rekomendacji. W trakcie zapytania model może niepoprawnie przewidywać wysoki wynik dla elementu z innej grupy.

Przykłady ujemne to elementy oznaczone jako „nieistotne” dla danego zapytania. Wyświetlanie negatywnych przykładów modelu podczas trenowania uczy, że umieszczanie różnych grup na stronie nie powinno odbywać się dalej.

Zamiast używać wszystkich elementów do obliczania gradientu (może to być zbyt kosztowne) albo korzystać tylko z elementów dodatnich (które dzięki temu model jest bardziej skłonny do zginania), możesz użyć próbkowania ujemnego. Dokładnie oblicz gradient przybliżony, używając tych elementów:

  • wszystkie pozytywne elementy (takie, które pojawiają się w etykietie docelowej),
  • Próbka wykluczonych elementów (\(j\) w \({1, …, n}\))

Istnieją różne strategie próbkowania wykluczeń:

  • Możesz korzystać z próbki jednolitej.
  • Możesz zwiększyć prawdopodobieństwo, że elementy j będą miały wyższy wynik \(\psi(x) . V_j\). Oto najistotniejsze przykłady gradientu. Są one często nazywane deficytami twardymi.

Na czynnikach matrycowych i miękkich

Modele DNN pomagają w rozwiązaniu wielu problemów związanych z współczynnikiem matrycy, ale ich trenowanie i zapytania są zwykle droższe. Poniższa tabela zawiera podsumowanie niektórych ważnych różnic między tymi modelami.

Rozłożenie macierzy Softmax DNN,
Funkcje zapytań Niełatwo jest go uwzględnić. Można uwzględnić.
Uruchomienie „na zimno” Nie obsługuje łatwego stosowania zapytań lub elementów w słowniku. Można używać niektórych algorytmów heurystycznych (np. w przypadku nowego zapytania średniej liczby osadzonych podobnych zapytań). z łatwością obsługuje nowe zapytania.
Składanie Zginanie można łatwo zmniejszyć przez dostosowanie nieobserwowanej wagi w WALS. Składa się na część strony widoczną na ekranie. Należy użyć technik takich jak próbkowanie negatywne lub grawitacja.
Skalowalność trenowania Skalowalność do bardzo dużego zbioru (maksymalnie setki milionów elementów), ale tylko wtedy, gdy macierz wejściowy jest ograniczony. Cięższe skalowanie do bardzo dużego korpusu. Możesz używać niektórych technik, takich jak haszowanie, negatywne próbkowanie itp.
Skalowalność wyświetlania Umieszczanie, U i V, są statyczne, a zestaw kandydatów może być wstępnie obliczany i przechowywany. Umieszczanie elementów V jest statyczne i można je przechowywać.

Umieszczanie zapytania zwykle wymaga obliczenia w czasie zapytania, przez co model jest droższy.

Podsumowanie:

  • Rozłożenie matrycy jest zwykle najlepszym wyborem w przypadku dużego zbioru. Łatwiejsza skalowanie, tańsze zapytania i mniej podatne na złożenie.
  • Modele DNN mogą lepiej odzwierciedlać spersonalizowane preferencje, ale są trudniejsze do trenowania i droższe. Modele DNN są lepszym rozwiązaniem w przypadku skalowania współczynnika matrycy do punktacji, ponieważ modele te mogą mieć więcej funkcji, aby zwiększyć trafność. Model DNN jest też zazwyczaj możliwy do złożenia, ponieważ zależy Ci przede wszystkim na rankingu wstępnie przefiltrowanego zestawu kandydatów, który zostanie uznany za odpowiedni.