Pojęcia, które powinieneś wiedzieć przed wejściem do transformatorów

Pojęcia, które powinieneś wiedzieć przed wejściem do transformatorów

Węzeł źródłowy: 1894868

Sieci neuronowe uczą się poprzez liczby, więc każde słowo zostanie odwzorowane na wektory reprezentujące określone słowo. Warstwa osadzania może być traktowana jako tabela przeglądowa, która przechowuje osadzone słowa i pobiera je za pomocą indeksów.

 

Pojęcia, które powinieneś znać, zanim zaczniesz korzystać z Transformera
 

Słowa, które mają to samo znaczenie, będą zbliżone pod względem odległości euklidesowej/podobieństwa cosinusowego. na przykład w poniższej reprezentacji słownej „sobota”, „niedziela” i „poniedziałek” są powiązane z tym samym pojęciem, więc możemy zobaczyć, że słowa są podobne.
 

Pojęcia, które powinieneś znać, zanim zaczniesz korzystać z Transformera

Określenie pozycji słowa, Dlaczego musimy określić pozycję słowa? ponieważ enkoder transformatora nie ma powtarzalności, jak powtarzające się sieci neuronowe, musimy dodać pewne informacje o pozycjach do osadzania danych wejściowych. Odbywa się to za pomocą kodowania pozycyjnego. Autorzy artykułu wykorzystali następujące funkcje do modelowania pozycji słowa.

 

Pojęcia, które powinieneś znać, zanim zaczniesz korzystać z Transformera
 

Spróbujemy wyjaśnić kodowanie pozycyjne.

 

Pojęcia, które powinieneś znać, zanim zaczniesz korzystać z Transformera
 

Tutaj „pos” odnosi się do pozycji „słowa” w sekwencji. P0 odnosi się do osadzania pozycji pierwszego słowa; „d” oznacza rozmiar osadzania słowa/tokena. W tym przykładzie d=5. Wreszcie „i” odnosi się do każdego z 5 indywidualnych wymiarów osadzania (tj. 0, 1,2,3,4)

jeśli „i” zmienia się w powyższym równaniu, otrzymasz kilka krzywych o różnych częstotliwościach. Odczytywanie wartości osadzania pozycji względem różnych częstotliwości, dając różne wartości przy różnych wymiarach osadzania dla P0 i P4.

Pojęcia, które powinieneś znać, zanim zaczniesz korzystać z Transformera
 

W tym zapytanie, q reprezentuje słowo wektorowe, the klucze k to wszystkie inne słowa w zdaniu i wartość V reprezentuje wektor słowa.

Celem uwagi jest obliczenie ważności kluczowego terminu w porównaniu z terminem zapytania odnoszącym się do tej samej osoby/rzeczy lub pojęcia.

W naszym przypadku V jest równe Q.

Mechanizm uwagi informuje nas o znaczeniu słowa w zdaniu.

 

Pojęcia, które powinieneś znać, zanim zaczniesz korzystać z Transformera
 

Kiedy obliczamy znormalizowany iloczyn skalarny między zapytaniem a kluczami, otrzymujemy tensor, który reprezentuje względną ważność każdego innego słowa w zapytaniu.

 

Pojęcia, które powinieneś znać, zanim zaczniesz korzystać z Transformera
 

Podczas obliczania iloczynu skalarnego między Q i KT próbujemy oszacować, w jaki sposób wektory (tj. słowa między zapytaniem a kluczami) są wyrównane i zwracamy wagę dla każdego słowa w zdaniu.

Następnie normalizujemy wynik do kwadratu z d_k i Funkcja softmax reguluje terminy i przeskalowuje je między 0 a 1.

Na koniec mnożymy wynik (tj. wagi) przez wartość (tj. wszystkie słowa), aby zmniejszyć znaczenie nieistotnych słów i skupić się tylko na najważniejszych słowach.

Wielogłowy wektor wyjściowy uwagi jest dodawany do oryginalnego osadzania danych pozycyjnych. Nazywa się to połączeniem szczątkowym/pominięciem połączenia. Dane wyjściowe połączenia resztkowego przechodzą przez normalizację warstwy. Znormalizowana resztkowa moc wyjściowa jest przepuszczana przez punktową sieć sprzężenia zwrotnego do dalszego przetwarzania.

 

Pojęcia, które powinieneś znać, zanim zaczniesz korzystać z Transformera

Maska to macierz o takim samym rozmiarze jak wyniki uwagi, wypełniona wartościami zer i ujemnymi nieskończonościami.

 

Pojęcia, które powinieneś znać, zanim zaczniesz korzystać z Transformera
 

Powodem maski jest to, że gdy weźmiesz softmax zamaskowanych wyników, ujemne nieskończoności osiągną zero, pozostawiając zero punktów uwagi dla przyszłych tokenów.

To mówi modelowi, aby nie skupiał się na tych słowach.

Celem funkcji softmax jest pobranie liczb rzeczywistych (dodatnich i ujemnych) i przekształcenie ich w liczby dodatnie, których suma wynosi 1.

 

Pojęcia, które powinieneś znać, zanim zaczniesz korzystać z Transformera

 
 
Ravikumar Naduvin jest zajęty budowaniem i rozumieniem zadań NLP przy użyciu PyTorch.

 
Oryginalny. Przesłane za zgodą.
 

Znak czasu:

Więcej z Knuggety