Laster inn 3D-laboratoriet…
Laster inn leksjonen…
← Hvordan AI fungererVerden 1 · leksjon 3 av 4Alle leksjoner ↓

Embeddinger: en liste med tall for hver token
Underviser du i dette? Åpne projektormodus
Token-ID-er er bare etiketter. ID 4821 er ikke «nær i betydning» ID 4822. For å beregne med mønstre som ligner på betydning, trenger modellen en representasjon der likhet er et tall du kan beregne.
Denne representasjonen er en embedding: for hver token, en liste med tall som kalles en vektor. Vektorene ligger i en stor tabell. Verdiene deres starter tilfeldig og justeres under treningen. Ekte modeller bruker fra hundrevis til tusenvis av tall per token.
Hva gjør en vektor nyttig? Tokens som forekommer i lignende sammenhenger, ender opp med lignende vektorer. Denne ideen ble demonstrert i stor skala av Mikolov og kollegene hans (2013, «word2vec»), og den gjenspeiler et slagord fra språkvitenskapen: Et ord kjennetegnes av ordene det opptrer sammen med. «Katt» og «hund» forekommer nær ord som «kjæledyr», «matet» og «veterinær», så vektorene deres ender opp nær hverandre. «Katt» og «forgasser» gjør ikke det.
Måling av likhet: cosinuslikhet. For to vektorer a og b:
cos = (a · b) / (|a| × |b|)
Der a · b er summen av produktene av samsvarende elementer, og |a| er kvadratroten av summen av kvadratene. Resultatet er alltid mellom −1 og 1: 1 betyr at vektorene peker i samme retning, 0 betyr at de står vinkelrett på hverandre, og −1 betyr motsatt retning.
Lite eksempel med to tall i hver (oppdiktet): katt = (3, 4) og hund = (4, 3). Skalarproduktet er 3×4 + 4×3 = 24. Begge lengdene er 5. Dermed er cos = 24 / 25 = 0,96. Ta nå bil = (4, −3): skalarproduktet med katt er 12 − 12 = 0, så cos = 0.
Du kan ikke tegne 300 dimensjoner. For å vise et kart presses vektorene ned til 3 (eller 2) dimensjoner med en metode som PCA eller t-SNE. AI Lab-verdenen «Fra seks egenskaper til en punktsky» viser hvordan disse fungerer, og hvor de forvrenger avstander. Det å presse sammen noe forvrenger alltid noe: To ord som ser ut som naboer på kartet, kan ligge lenger fra hverandre i hele rommet.
Statiske embedding-er har en grenseverdi. Hvis hvert token har én fast vektor, har ordet «bank» den samme vektoren i «elvebredd» og «bankkonto». Én vektor må brukes for begge betydningene. Senere i denne laben (verden 2) får du se hvordan oppmerksomhet gjør at tallene for et token avhenger av ordene rundt det.
To ordvektorer peker nøyaktig i samme retning. Hva er cosinuslikheten deres?
Hvorfor kan et 3D-kart over ordvektorer vise to ord nær hverandre selv om de er langt fra hverandre i hele rommet?
Hvorfor er én fast vektor for «bank» et problem?
For cat = (3, 4) og dog = (4, 3), hva er cosinuslikheten?