Wektory dystrybucyjne: ćwiczenia interaktywne

Poniższy widżet na podstawie aplikacji do wizualizowania wektorów platformy TensorFlow spłaszcza 10 tys. statycznych wektorów word2vec do przestrzeni 3D. To spłaszczenie wymiarów może być mylące, ponieważ punkty, które w pierwotnej przestrzeni wielowymiarowej znajdują się najbliżej siebie, w projekcji 3D mogą być od siebie oddalone. Najbliższe n punktów jest podświetlone na fioletowo. Liczbę n wybiera użytkownik w Isolate __ points. Najbliższe siebie punkty zidentyfikowane są na prawym pasku bocznym.

W tych eksperymentach uwzględniono wektory dystrybucyjne modelu word2vec w widżecie powyżej.

Zadanie 1

Spróbuj znaleźć 20 punktów, które znajdują się w najmniejszej odległości od elementów wskazanych poniżej, i zobacz, gdzie te grupy mają swoje miejsce w chmurze.

  • iii, thirdthree
  • taoway
  • orange, yellowjuice

Co w tych wynikach zwróciło Twoją uwagę?

Kliknij, aby zobaczyć naszą odpowiedź

Chociaż elementy iii, thirdthree są semantycznie podobne, pojawiają się w różnych kontekstach w tekście i nie widać, żeby były blisko siebie w tej przestrzeni wektorów dystrybucyjnych. W modelu word2vec element iii jest bliżej elementu iv niż elementu third.

W kolejnym przykładzie jest podobnie. Chociaż element way jest bezpośrednim tłumaczeniem elementu tao, słowa te najczęściej występują z zupełnie odmiennymi grupami słów w używanym zbiorze danych. Z tego względu te 2 wektory są od siebie bardzo oddalone.

Kilka pierwszych najbliższych elementów słowa orange to kolory, ale na pozycjach 14 i 18 listy najbliższych sąsiadów pojawiają się słowa juicepeel związane ze znaczeniem orange jako owocu. Tymczasem na miejscu 17 jest prince, co wiąże się z nazwą Prince of Orange. Słowa znajdujące się najbliżej elementu orange w tej projekcji to yellow i inne kolory, tymczasem wśród słów znajdujących się najbliżej słowa juice nie ma słowa orange.

Zadanie 2

Spróbuj wyobrazić sobie kilka cech danych szkoleniowych. Na przykład spróbuj znaleźć 100 najbliższych sąsiadów dla poniższych elementów i zobacz, gdzie te grupy mają swoje miejsce w chmurze:

  • boston, paris, tokyo, delhi, moscowseoul (to pytanie jest podchwytliwe)
  • jane, sarah, john, peter, rosajuan

Kliknij, aby zobaczyć naszą odpowiedź

Najbliższymi sąsiadami słowa boston często są inne miasta w Stanach Zjednoczonych. Najbliższymi sąsiadami słowa paris często są inne miasta w Europie. Wygląda na to, że słowa tokyodelhi nie mają podobnych wyników – jedno jest powiązane z miastami na świecie, które są węzłami komunikacyjnymi, a drugie jest skojarzone ze słowem india i pokrewnymi słowami. Słowo seoul w ogóle nie pojawia się w tym przyciętym zbiorze wektorów słowa.

Wygląda na to, że ten zbiór danych zawiera wiele dokumentów powiązanych z geografią Stanów Zjednoczonych, kilka powiązanych z geografią regionów Europy i niewiele precyzyjnych elementów dotyczących innych krajów lub regionów.

Analogicznie wygląda na to, że ten zbiór danych zawiera wiele męskich imion angielskojęzycznych, kilka angielskojęzycznych imion żeńskich i znacznie mniej imion z innych języków. Warto zauważyć, że Don Rosa napisał i zilustrował dla Disneya komiksy, których bohaterem jest Scrooge McDuck (w polskiej wersji Sknerus McKwacz). Prawdopodobnie z tej przyczyny wśród najbliższych sąsiadów słowa „rosa” znajdują się słowa takie jak „scrooge” i „mcduck”.

Dostępne w modelu word2vec wstępnie wytrenowane wektory słowa były trenowane na artykułach z Google News do 2013 r.

Zadanie 3

Wektory dystrybucyjne nie ograniczają się tylko do słów. Używa się ich również w przypadku obrazów, dźwięku i innych danych. W tym zadaniu:

  1. Otwórz aplikację do wizualizowania wektorów na platformie TensorFlow.
  2. W lewym pasku bocznym, zatytułowanym Dane, wybierz Mnist z obrazami. Wyświetli się projekcja wektorów dystrybucyjnych bazy danych MNIST zawierającej odręcznie zapisane cyfry.
  3. Kliknij, aby zatrzymać rotację i wybierz 1 obraz. W razie potrzeby dostosuj powiększenie.
  4. Spójrz na najbliższe sąsiednie słowa w prawym pasku bocznym. Czy widzisz coś zaskakującego?
  • Dlaczego niektóre cyfry 7 za najbliższego sąsiada mają cyfry 1? Dlaczego najbliżej niektórych cyfr 8 znajdują się cyfry 9?
  • Czy obrazy przy krawędziach obszaru projekcji różnią się czymś od obrazów w środku?

Pamiętaj, że model, który utworzył te wektory dystrybucyjne, otrzymuje dane obrazów (inaczej mówiąc, piksele) i dla każdego obrazu wybiera cyfrową reprezentację wektorową. Model nie tworzy automatycznego mentalnego skojarzenia między obrazem odręcznie napisanej cyfry a samą cyfrą.

Kliknij, aby zobaczyć naszą odpowiedź

Ze względu na podobieństwo kształtu reprezentacje wektorów cyfry 7 zapisanej bardzo wąsko zostały umieszczone bliżej wektorów odręcznie napisanej cyfry 1. Analogiczna sytuacja występuje w przypadku niektórych obrazów cyfr 89, a nawet 53.

Odręcznie zapisane cyfry przy krawędziach obszaru projekcji wydają się łatwiejsze do zdefiniowania jako jedna z 9 cyfr i wyraźniej odróżniają się od innych cyfr, za które mogłyby zostać uznane.