Wektory dystrybucyjne: ćwiczenia interaktywne
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
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
, third
i three
tao
i way
orange
, yellow
i juice
Co w tych wynikach zwróciło Twoją uwagę?
Kliknij, aby zobaczyć naszą odpowiedź
Chociaż elementy iii
, third
i three
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 juice
i peel
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
, moscow
i seoul
(to pytanie jest podchwytliwe)
jane
, sarah
, john
, peter
, rosa
i juan
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 tokyo
i delhi
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:
- Otwórz aplikację do wizualizowania wektorów na platformie TensorFlow.
- 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.
- Kliknij, aby zatrzymać rotację i wybierz 1 obraz. W razie potrzeby dostosuj powiększenie.
- 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 8
i 9
, a nawet 5
i 3
.
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.
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-05-16 UTC.
[null,null,["Ostatnia aktualizacja: 2025-05-16 UTC."],[],[],null,["# Embeddings: Interactive exercises\n\nThe following widget, based on TensorFlow's\n[Embedding Projector](https://projector.tensorflow.org/), flattens 10,000\n`word2vec` static vectors into a 3D space. This collapse of dimensions can be\nmisleading, because the points closest to each other in the original\nhigh-dimensional space may appear farther apart in the 3D projection. The\nclosest *n* points are highlighted in purple, with *n* chosen by the user in\n**Isolate __ points**. The sidebar on the right identifies those nearest\nneighbors. \n\nIn these experiments, you'll play with the `word2vec` embeddings in the widget\nabove.\n\nTask 1\n------\n\nTry to find the 20 nearest neighbors for the following, and see where the\ngroups fall in the cloud.\n\n- `iii`, `third`, and `three`\n- `tao` and `way`\n- `orange`, `yellow`, and `juice`\n\nWhat do you notice about these results? \n**Click here for our answer**\n\nEven though `iii`, `third`, and `three`\nare semantically similar, they appear in different contexts in text and\ndon't appear to be close together in this embedding space. In\n`word2vec`, `iii` is closer to `iv` than to\n`third`.\n\nSimilarly, while `way` is a direct translation of `tao`,\nthese words most frequently occur with completely different groups of words\nin the dataset used, and so the two vectors are very far apart.\n\nThe first several nearest neighbors of `orange` are colors, but\n`juice` and `peel`, related to the meaning of\n`orange` as fruit, show up as the 14th\nand 18th nearest neighbors. `prince`, meanwhile, as in the\nPrince of Orange, is 17th. In the projection, the words closest to\n`orange` are `yellow` and other\ncolors, while the closest words to `juice` don't include\n`orange`.\n\nTask 2\n------\n\nTry to figure out some characteristics of the training data. For example, try\nto find the 100 nearest neighbors for the following, and see where the groups\nare in the cloud:\n\n- `boston`, `paris`, `tokyo`, `delhi`, `moscow`, and `seoul` (this is a trick question)\n- `jane`, `sarah`, `john`, `peter`, `rosa`, and `juan`\n\n**Click here for our answer**\n\nMany of the nearest neighbors to `boston` are other cities in\nthe US. Many of the nearest neighbors to `paris` are other cities\nin Europe. `tokyo` and `delhi` don't seem to have\nsimilar results: one is associated with cities around the world that are\ntravel hubs, while the other is associated with `india` and related\nwords. `seoul` doesn't appear in this trimmed-down set of\nword vectors at all.\n\nIt seems that this dataset contains many documents related to US national\ngeography, some documents relate to European regional geography, and not\nmuch fine-grained coverage of other countries or regions.\n\nSimilarly, this dataset seems to contain many male English names, some female\nEnglish names, and far fewer names from other languages. Note that Don Rosa\nwrote and illustrated Scrooge McDuck comics for Disney, which is the likely\nreason that \\`scrooge\\` and \\`mcduck\\` are among the nearest neighbors for \\`rosa\\`.\n\nThe pre-trained word vectors offered by `word2vec` were in fact\ntrained on\n[Google News articles up to 2013](https://code.google.com/archive/p/word2vec/).\n\nTask 3\n------\n\nEmbeddings aren't limited to words. Images, audio, and other data can also be\nembedded. For this task:\n\n1. Open TensorFlow's [Embedding Projector](https://projector.tensorflow.org/).\n2. In the left sidebar titled **Data** , choose **Mnist with images** . This brings up a projection of the embeddings of the [MNIST](https://developers.google.com/machine-learning/glossary#mnist) database of handwritten digits.\n3. Click to stop the rotation and choose a single image. Zoom in and out as needed.\n4. Look in the right sidebar for nearest neighbors. Are there any surprises?\n\n- Why do some `7`s have `1`s as their nearest neighbor? Why do some `8`s have `9` as their nearest neighbor?\n- Is there anything about the images on the edges of the projection space that seem different from the images in the center of the projection space?\n\nKeep in mind that the model that created these embeddings is receiving image\ndata, which is to say, pixels, and choosing a numerical vector representation\nfor each image. The model doesn't make an automatic mental association\nbetween the image of the handwritten digit and the numerical digit itself. \n**Click here for our answer**\n\nDue to similarities in shape, the vector representations of some of the\nskinnier, narrower `7`s are placed closer to the vectors for\nhandwritten `1`s. The same thing happens for some `8`s\nand `9`s, and even some of the `5`s and `3`s.\n\nThe handwritten digits on the outside of the projection space appear\nmore strongly definable as one of the nine digits and strongly differentiated\nfrom other possible digits.\n| **Key terms:**\n|\n| - [Embedding vector](/machine-learning/glossary#embedding-vector)\n- [Embedding space](/machine-learning/glossary#embedding-space) \n[Help Center](https://support.google.com/machinelearningeducation)"]]