Słowa jako liczby
Wstęp do działu
Tu zaczyna się historia, która doprowadzi do ChatGPT. I zaczyna się od ograniczenia, o którym w Części III prawie nie mówiliśmy: sztuczna sieć neuronowa pracuje tylko na liczbach. Nie rozumie bezpośrednio tekstu. Jeśli chcesz, żeby sieć streszczała artykuł, odpowiadała na pytanie albo tłumaczyła zdanie, musisz najpierw zamienić język na liczby — i to jak to zrobisz decyduje o wszystkim, co model będzie potem potrafił.
Najprostszy pomysł — pociąć tekst na słowa (tokeny), nadać każdemu indeks i zapalić jedną pozycję w gigantycznym wektorze (kodowanie z gorącą jedynką) — działa. Ale jest głupi na trzy sposoby naraz: gubi kolejność, rozdyma się do dziesiątek tysięcy zer i traktuje „pies" oraz „kot" jako dokładnie tak samo różne jak „pies" i „traktor".
Rozwiązanie wzięło się z lingwistyki. John Rupert Firth mówił w latach 50.: You shall know a word by the company it keeps — poznasz słowo po towarzystwie, w jakim się znajduje. Jeśli dwa słowa pojawiają się w podobnych kontekstach, prawdopodobnie znaczą coś podobnego. Na tym stoją osadzenia słów (word embeddings): każde słowo to punkt w przestrzeni o wielu wymiarach, a odległość i kierunek między punktami niosą znaczenie. Zobaczysz, jak w 2013 roku word2vec (Mikolov, Google) nauczył się takich punktów sam, jako produktu ubocznego przewidywania brakującego słowa w oknie — oraz słynną zagadkę „król − mężczyzna + kobieta ≈ królowa". Zobaczysz też twardą granicę tej sztuczki: osadzenie word2vec jest stałe dla danego słowa, więc „zamek" w kurtce i „zamek" na wzgórzu dostają ten sam punkt. To ograniczenie zdejmie dopiero transformer (Dział 16).
Mapa pojęć działu
SIEĆ LICZY, NIE CZYTA (14.1)
tokenizacja → słownik → indeksy
kodowanie z gorącą jedynką (one-hot)
trzy problemy: kolejność · rozmiar · zero sensu
│
INTUICJA CECH + FIRTH (14.2)
ręczna tabela „człowiekowatość / puszystość / czynność"
odległość euklidesowa między wektorami
„poznasz słowo po towarzystwie"
│
word2vec (14.3)
okno kontekstu → sieć przewiduje brakujące słowo
osadzenia = wagi warstwy ukrytej (produkt uboczny)
│
GEOMETRIA ZNACZEŃ (14.4)
król − mężczyzna + kobieta ≈ królowa
granica: jedno słowo = jeden stały punkt
│
→ Dział 15 (model językowy, RNN)
→ Dział 16 (transformer, kontekst)
Jednostki w tym dziale
- 14.1 Sieć pracuje tylko na liczbach: tokeny i kodowanie one-hot
- 14.2 „Poznasz słowo po towarzystwie": hipoteza dystrybucyjna
- 14.3 word2vec i osadzenia słów
- 14.4 Geometria znaczeń: król − mężczyzna + kobieta — i granice