nn.Embedding: inlärningsbara ordvektorer
En uppslagstabell som tränas med gradientnedstigning
nn.Embedding: inlärningsbara ordvektorer är en gratis lektion i Deep Learning Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Deep Learning Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Deep Learning Academy innehåller totalt 4 lektioner.
Id:n räcker inte ensamma
Token-id:n är bara etiketter. Id:t 5 är inte större än 2 på något meningsfullt sätt, så om du matar in råa id:n i ett nätverk vilseleder du det.
One-hot är slösaktigt
Ett sätt att representera id:n är en gigantisk one-hot-vektor, men med tusentals ord blir den stor, gles och saknar likhetsinformation.
Möt embedding
En embedding mappar varje id till en kort, tät vektor med flyttal. Dessa få siffror kan koda rik betydelse om ordet.
Det är en uppslagstabell
Tänk på nn.Embedding som en uppslagstabell: rad i innehåller vektorn för token-id i. När tabellen indexeras hämtas den raden.
import torch.nn as nn
emb = nn.Embedding(num_embeddings=1000, embedding_dim=16)Två viktiga argument
Du anger num_embeddings som ordförrådets storlek och embedding_dim som hur många siffror varje ordvektor innehåller.
Slå upp ett ord
Skicka in en tensor med id:n så returnerar lagret deras vektorer. En batch med id:n blir omedelbart en batch med täta vektorer.
ids = torch.tensor([1, 5, 2])
vecs = emb(ids) # shape (3, 16)Utdataformen får en dimension till
Embedding-lagret lägger till en extra dimension. En indata med formen (batch, length) blir (batch, length, embedding_dim).
Vektorerna börjar slumpmässigt
Från början är embedding-raderna slumpmässiga. De har ännu ingen betydelse, utan är bara brus som väntar på att formas av träningen.
De går att träna
Embedding-vikterna är parametrar. Gradientnedstigning justerar varje ordvektor under träningen, så tabellen lär sig med tiden.
Välj dimension
En större embedding_dim kan fånga fler nyanser men kräver mer minne. Små uppgifter använder 16 till 100, medan stora språkmodeller använder betydligt fler.
Koppla in det i en modell
Embedding-lagret är vanligtvis det första lagret. Det omvandlar id:n till vektorer, som senare lager sedan bearbetar som vanligt.
Snabb kontroll
Hur omvandlar nn.Embedding ett token-id till en vektor?
Sammanfattning
nn.Embedding är en träningsbar uppslagstabell som mappar id:n till täta vektorer. Den börjar slumpmässigt och lär sig betydelse genom träning. ✅
Lär dig Python med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”nn.Embedding: inlärningsbara ordvektorer” gratis?
Ja – hela texten till ”nn.Embedding: inlärningsbara ordvektorer” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Deep Learning Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Deep Learning Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”nn.Embedding: inlärningsbara ordvektorer”?
En uppslagstabell som tränas med gradientnedstigning Ni övar på Deep Learning Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Deep Learning Academy?
Du behöver inga förkunskaper. Utbildningen i Deep Learning Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”nn.Embedding: inlärningsbara ordvektorer”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Deep Learning Academy-lektionen?
Ja. Varje Deep Learning Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Tokenisera och bygg ett ordförråd
- nn.Embedding: inlärningsbara ordvektorer
- Varför embeddingar fångar betydelse
- Träna en textklassificerare