Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære CBoW- og Skip-Gram-Modeller | Ordindlejringer
Introduktion til NLP

bookCBoW- og Skip-Gram-Modeller

Et grundlæggende kendskab til neurale netværk anbefales til dette kapitel. Hvis du ikke er bekendt med emnet, er du velkommen til at udforske dette kursus:

Både CBoW- og Skip-gram-arkitekturer lærer word embeddings gennem en neural netværksstruktur bestående af følgende lag:

  • et inputlag;
  • et enkelt skjult lag;
  • et outputlag.

Vægtningsmatricen mellem input- og skjult lag, betegnet som W1W^1 eller EE, fungerer som embeddings-matrixen. Hver række i denne matrix repræsenterer en embedding-vektor for et tilsvarende ord, hvor den ii-te række matcher det ii-te ord i ordforrådet.

Denne matrix indeholder VV (ordforrådsstørrelse) embeddings, hver af størrelse NN, en dimension vi specificerer. Multiplikation af transponeret matrix (N×VN \times V matrix) med en one-hot kodet vektor (V×1V \times 1 vektor) henter embedding for et specifikt ord og producerer en N×1N \times 1 vektor.

Den anden vægtmatrix, mellem det skjulte lag og outputlaget, har størrelsen N×VN \times V. Multiplikation af transponeret af denne matrix (V×NV \times N matrix) med det skjulte lags N×1N \times 1 vektor resulterer i en V×1V \times 1 vektor.

CBoW

Her ses et eksempel på brug af en CBoW-model:

Først multipliceres transponeret af embeddings-matrixen med one-hot vektorerne for kontekstordene for at generere deres embeddings. Disse embeddings summeres eller gennemsnitsberegnes afhængigt af implementeringen for at danne en enkelt vektor. Denne vektor multipliceres med W2W^2-matrixen, hvilket resulterer i en V×1V \times 1 vektor.

Til sidst passerer denne vektor gennem softmax aktiveringsfunktionen, hvilket omdanner den til en sandsynlighedsfordeling, hvor hvert element repræsenterer sandsynligheden for, at et ord i ordforrådet er målordet.

Herefter beregnes tabet, og begge vægtmatricer opdateres for at minimere dette tab. Ideelt set ønskes sandsynligheden for målordet tæt på 1, mens sandsynlighederne for alle andre ord nærmer sig nul. Denne proces gentages for hver kombination af et målord og dets kontekstord.

Når alle kombinationer er behandlet, er en epoke gennemført. Typisk trænes det neurale netværk over flere epoker for at sikre nøjagtig indlæring. Til sidst kan rækkerne i den resulterende embedding-matrix anvendes som vores word embeddings. Hver række svarer til vektorrepræsentationen af et specifikt ord i ordforrådet og indfanger effektivt dets semantiske egenskaber i den trænede model.

Skip-gram

Lad os nu se nærmere på en skip-gram-model:

Som det kan ses, ligner processen i høj grad CBoW. Den starter med at hente embedding for målordet, som derefter anvendes i det skjulte lag. Dette efterfølges af at producere en V×1V \times 1 vektor i outputlaget. Denne vektor, opnået ved at multiplicere målordets embedding med outputlagets vægtmatrix, transformeres derefter af softmax-aktiveringsfunktionen til en vektor af sandsynligheder.

Note
Bemærk

Selvom denne resulterende vektor af sandsynligheder er den samme for alle kontekstord forbundet med et enkelt målord under et enkelt træningsskridt, beregnes tabet for hvert kontekstord individuelt.

Tabet for hvert kontekstord summeres, og vægtmatricerne opdateres tilsvarende ved hver iteration for at minimere det samlede tab. Når det angivne antal epoker er gennemført, kan embeddings-matricen bruges til at opnå word embeddings.

Note
Læs Mere

I praksis, især med store ordforråd, kan softmax-funktionen være for beregningstung. Derfor anvendes ofte tilnærmelser såsom negativ sampling for at gøre beregningen mere effektiv.

1. Udfyld de tomme felter

2. Hvad repræsenterer den første vægtmatrix W1W^1 i det neurale netværk?

question-icon

Udfyld de tomme felter

The architecture tries to predict the target word from its context.
The
architecture tries to predict the context of the target word.

Click or drag`n`drop items and fill in the blanks

question mark

Hvad repræsenterer den første vægtmatrix W1W^1 i det neurale netværk?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 2

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 3.45

bookCBoW- og Skip-Gram-Modeller

Stryg for at vise menuen

Et grundlæggende kendskab til neurale netværk anbefales til dette kapitel. Hvis du ikke er bekendt med emnet, er du velkommen til at udforske dette kursus:

Både CBoW- og Skip-gram-arkitekturer lærer word embeddings gennem en neural netværksstruktur bestående af følgende lag:

  • et inputlag;
  • et enkelt skjult lag;
  • et outputlag.

Vægtningsmatricen mellem input- og skjult lag, betegnet som W1W^1 eller EE, fungerer som embeddings-matrixen. Hver række i denne matrix repræsenterer en embedding-vektor for et tilsvarende ord, hvor den ii-te række matcher det ii-te ord i ordforrådet.

Denne matrix indeholder VV (ordforrådsstørrelse) embeddings, hver af størrelse NN, en dimension vi specificerer. Multiplikation af transponeret matrix (N×VN \times V matrix) med en one-hot kodet vektor (V×1V \times 1 vektor) henter embedding for et specifikt ord og producerer en N×1N \times 1 vektor.

Den anden vægtmatrix, mellem det skjulte lag og outputlaget, har størrelsen N×VN \times V. Multiplikation af transponeret af denne matrix (V×NV \times N matrix) med det skjulte lags N×1N \times 1 vektor resulterer i en V×1V \times 1 vektor.

CBoW

Her ses et eksempel på brug af en CBoW-model:

Først multipliceres transponeret af embeddings-matrixen med one-hot vektorerne for kontekstordene for at generere deres embeddings. Disse embeddings summeres eller gennemsnitsberegnes afhængigt af implementeringen for at danne en enkelt vektor. Denne vektor multipliceres med W2W^2-matrixen, hvilket resulterer i en V×1V \times 1 vektor.

Til sidst passerer denne vektor gennem softmax aktiveringsfunktionen, hvilket omdanner den til en sandsynlighedsfordeling, hvor hvert element repræsenterer sandsynligheden for, at et ord i ordforrådet er målordet.

Herefter beregnes tabet, og begge vægtmatricer opdateres for at minimere dette tab. Ideelt set ønskes sandsynligheden for målordet tæt på 1, mens sandsynlighederne for alle andre ord nærmer sig nul. Denne proces gentages for hver kombination af et målord og dets kontekstord.

Når alle kombinationer er behandlet, er en epoke gennemført. Typisk trænes det neurale netværk over flere epoker for at sikre nøjagtig indlæring. Til sidst kan rækkerne i den resulterende embedding-matrix anvendes som vores word embeddings. Hver række svarer til vektorrepræsentationen af et specifikt ord i ordforrådet og indfanger effektivt dets semantiske egenskaber i den trænede model.

Skip-gram

Lad os nu se nærmere på en skip-gram-model:

Som det kan ses, ligner processen i høj grad CBoW. Den starter med at hente embedding for målordet, som derefter anvendes i det skjulte lag. Dette efterfølges af at producere en V×1V \times 1 vektor i outputlaget. Denne vektor, opnået ved at multiplicere målordets embedding med outputlagets vægtmatrix, transformeres derefter af softmax-aktiveringsfunktionen til en vektor af sandsynligheder.

Note
Bemærk

Selvom denne resulterende vektor af sandsynligheder er den samme for alle kontekstord forbundet med et enkelt målord under et enkelt træningsskridt, beregnes tabet for hvert kontekstord individuelt.

Tabet for hvert kontekstord summeres, og vægtmatricerne opdateres tilsvarende ved hver iteration for at minimere det samlede tab. Når det angivne antal epoker er gennemført, kan embeddings-matricen bruges til at opnå word embeddings.

Note
Læs Mere

I praksis, især med store ordforråd, kan softmax-funktionen være for beregningstung. Derfor anvendes ofte tilnærmelser såsom negativ sampling for at gøre beregningen mere effektiv.

1. Udfyld de tomme felter

2. Hvad repræsenterer den første vægtmatrix W1W^1 i det neurale netværk?

question-icon

Udfyld de tomme felter

The architecture tries to predict the target word from its context.
The
architecture tries to predict the context of the target word.

Click or drag`n`drop items and fill in the blanks

question mark

Hvad repræsenterer den første vægtmatrix W1W^1 i det neurale netværk?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 2
some-alt