Deep Learning Academy · Lektion

nn.Embedding: inlärningsbara ordvektorer

En uppslagstabell som tränas med gradientnedstigning

Lektion 2 av 413 steg

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. ✅

Gratis att börja

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

  1. Tokenisera och bygg ett ordförråd
  2. nn.Embedding: inlärningsbara ordvektorer
  3. Varför embeddingar fångar betydelse
  4. Träna en textklassificerare
← Tillbaka till Deep Learning Academy