W tej sekcji omawiamy 2 popularne metody uzyskiwania wektora dystrybucyjnego:
- Redukcja wymiarów
- Wyodrębnianie wektora dystrybucyjnego z większego modelu sieci neuronowej
Techniki redukcji wymiarów
Istnieje wiele technik matematycznych wychwytywania najważniejszych wielowymiarowej przestrzeni w niewielkiej przestrzeni. Teoretycznie Każdą z tych technik można użyć do utworzenia wektora dystrybucyjnego dla maszyny do systemów uczących się.
Na przykład analiza komponentów podmiotów zabezpieczeń (PCA). służy do tworzenia wektorów dystrybucyjnych słów. Biorąc pod uwagę zestaw instancji, takich jak torba słów, próby PCA aby znaleźć ściśle powiązane wymiary, które można zwinąć .
Trenowanie wektora dystrybucyjnego w ramach sieci neuronowej
Wektor dystrybucyjny możesz utworzyć podczas trenowania sieci neuronowej dla swoje zadanie docelowe. Takie podejście umożliwia konkretnego systemu, ale może to potrwać dłużej niż oddzielne trenowanie wektora dystrybucyjnego.
Ogólnie można utworzyć ukrytą warstwę o rozmiarze d w strukturze neuronowej. oznaczoną jako Warstwa osadzona, gdzie d reprezentuje zarówno liczbę węzłów w ukrytej warstwie, jak i liczbę wymiarów w przestrzeni reprezentacji właściwościowej. Tę warstwę wektora dystrybucyjnej można połączyć z żadnych innych funkcji i ukrytych warstw. Tak jak w każdej głębokiej sieci neuronowej, Podczas trenowania parametry będą optymalizowane w celu zminimalizowania utraty węzłów do warstwy wyjściowej sieci.
Wróćmy do przykładu rekomendacji jedzenia. Nasz cel to: może przewidzieć nowe posiłki, które użytkownik spodoba się na podstawie tego, co aktualnie lubi; posiłków. Po pierwsze, możemy zebrać dodatkowe dane o naszych użytkownikach 5 najbardziej lubianych jedzenie. Następnie będziemy mogli modelować to zadanie jako zadanie w uczeniu nadzorowanym. Ustawiliśmy dla czterech z pięciu najważniejszych produktów spożywczych, które mają być danymi, a następnie losowo odłóż piątą żywnością jako pozytywną etykietę, którą nasz model ma przewidzieć, optymalizując prognoz modelu za pomocą funkcji softmax. straty.
Podczas trenowania model sieci neuronowej nauczy się optymalnych wag dla węzłów w pierwszej warstwie ukrytej, która pełni funkcję warstwy wektora dystrybucyjnej. Jeśli na przykład model zawiera 3 węzły w pierwszej ukrytej warstwie, może on określić, że 3 najistotniejsze wymiary produktów spożywczych takie jak kanapka, desery i płynność. Rysunek 12 pokazuje jeden-gorący, kodowany wartość wejściowa dla „hot dog” przekształcone do trójwymiarowego wektora.
W trakcie trenowania ciężary warstwy osadzonej są optymalizowane dzięki czemu wektory dystrybucyjne dla podobnych przykładów są bliżej każdego z nich inne. Indywidualne wymiary warstwy wektora dystrybucyjnej (jaki każdy węzeł w warstwa reprezentacji właściwościowej) rzadko są tak zrozumiałe, jak „destrukcja” lub „płynność”. Czasem to, co one oznaczają można wywnioskować, ale nie zawsze jest to tę sprawę.
Umieszczenia zazwyczaj są specyficzne dla zadania i będą się od siebie różnić. gdy zadanie się różni. Na przykład reprezentacje właściwościowe wygenerowane przez osoby wegetariańskie i wegetariańskie niewegetariański model klasyfikacji może mieć dwa wymiary: zawartość mięsa. i treści nabiału. Tymczasem wektory dystrybucyjne wygenerowane przez śniadanie różnią się od tych klasyfikator obiadów dla kuchni amerykańskiej może mieć nieco inne wymiary: zawartość kalorii, zawartość zboża i zawartość mięsa. „Płatki śniadaniowe” oraz „kanapka z jajkiem i bekonem” mogą znajdować się blisko siebie w przestrzeni osadzania niż klasyfikator śniadań i obiadów, ale są oddalone w przestrzeni osadzonej za pomocą klasyfikacji wegetariańskiej i niewegetariańskiej.
Trenowanie wektora dystrybucyjnego słowa
W poprzedniej sekcji przedstawiliśmy wizualizacji relacji semantycznych w word2vec.
Word2vec to jeden z wielu algorytmów używanych do trenowania słów wektora dystrybucyjnego. Opiera się na hipotezie dystrybucyjnej, aby mapować podobne dane semantyczne. aby geometrycznie zamknąć wektory dystrybucyjne. Metoda dystrybucyjna hipoteza oznacza, że słowa, które często mają te same sąsiednie słowa, pod względem semantycznym. Słowo „pies” i „kot” często pojawiają się w pobliżu słowa „weterynarz”, co odzwierciedla ich semantyczne podobieństwo. Jak stwierdził językoznawca John Firth w 1957 roku: „Pewnie znasz jedno słowo od firmy, i trzyma swoje zachowanie”.
W filmie poniżej wyjaśniono inną metodę tworzenia wektora dystrybucyjnego dla słów stanowią część procesu trenowania sieci neuronowej za pomocą prostszego modelu:
Wektory dystrybucyjne statyczne a kontekstowe
Jednym z ograniczeń wektorów dystrybucyjnych słów, takich jak omówione w powyższym filmie, jest że są statyczne. Każde słowo jest reprezentowane przez jeden punkt w wektorze mimo że może mieć wiele znaczeń, w zależności od tego, jest użyte w zdaniu. W ostatnim ćwiczeniu zauważyłeś trudność z odwzorowaniem podobieństw semantycznych dla słowa pomarańczowy,który może oznaczać kolor lub rodzaj owocu.
Aby rozwiązać te problemy, opracowano wektory dystrybucyjne kontekstowe. Wektory dystrybucyjne kontekstowe pozwalają na to samo słowo, a każde z nich zawiera informacje na temat kontekst, w którym dane słowo jest używane. W osadzeniu kontekstowym słowo pomarańczowy może mieć 2 osobne reprezentacje: jedno z oznaczeniem „koloru” używanie tego słowa, na przykład w zdaniach w rodzaju „Mój ulubiony sweter ma pomarańczowy”. paski” a druga robi zdjęcia „owoców”. użycie słowa, na przykład w zdaniach takich jak „Pomarańcza została zerwana z drzewa, zanim całkowicie dojrzała”.