Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Modelli CBoW e Skip-Gram | Sezione
Elaborazione del Linguaggio Naturale

bookModelli CBoW e Skip-Gram

Scorri per mostrare il menu

Sia le architetture CBoW che Skip-gram apprendono le word embeddings tramite una struttura di rete neurale composta dai seguenti strati:

  • Uno strato di input;
  • Un singolo strato nascosto;
  • Uno strato di output.

La matrice dei pesi tra lo strato di input e quello nascosto, indicata come W1W^1 o EE, funge da matrice delle embedding. Ogni riga di questa matrice rappresenta un vettore di embedding per una parola corrispondente, con la riga ii che corrisponde alla parola ii-esima nel vocabolario.

Questa matrice contiene VV (dimensione del vocabolario) embedding, ciascuna di dimensione NN, una dimensione che specifichiamo. Moltiplicando la trasposizione di questa matrice (matrice N×VN \times V) per un vettore one-hot (V×1V \times 1) si recupera l'embedding per una parola specifica, producendo un vettore N×1N \times 1.

La seconda matrice dei pesi, tra lo strato nascosto e quello di output, ha dimensione N×VN \times V. Moltiplicando la trasposizione di questa matrice (matrice V×NV \times N) per il vettore N×1N \times 1 dello strato nascosto si ottiene un vettore V×1V \times 1.

CBoW

Di seguito, un esempio di utilizzo di un modello CBoW:

Innanzitutto, la trasposta della matrice degli embedding viene moltiplicata per i vettori one-hot delle parole di contesto per produrre i loro embedding. Questi embedding vengono poi sommati o mediati a seconda dell'implementazione per formare un singolo vettore. Questo vettore viene moltiplicato per la matrice W2W^2, producendo un vettore V×1V \times 1.

Infine, questo vettore passa attraverso la funzione di attivazione softmax, convertendolo in una distribuzione di probabilità, dove ciascun elemento rappresenta la probabilità che una parola del vocabolario sia la parola target.

Successivamente, viene calcolata la loss e entrambe le matrici dei pesi vengono aggiornate per minimizzare questa loss. Idealmente, si desidera che la probabilità della parola target sia prossima a 1, mentre le probabilità di tutte le altre parole si avvicinino a zero. Questo processo viene ripetuto per ogni combinazione di parola target e parole di contesto.

Una volta elaborate tutte le combinazioni, si completa un epoca. Tipicamente, la rete neurale viene addestrata per diverse epoche per garantire un apprendimento accurato. Infine, le righe della matrice degli embedding risultante possono essere utilizzate come word embedding. Ogni riga corrisponde alla rappresentazione vettoriale di una specifica parola nel vocabolario, catturando efficacemente le sue proprietà semantiche all'interno del modello addestrato.

Skip-gram

Esaminiamo ora un modello skip-gram:

Come puoi vedere, il processo è per lo più simile a CBoW. Inizia recuperando l'embedding della parola target, che viene poi utilizzato nello strato nascosto. Successivamente, viene prodotto un vettore V×1V \times 1 nello strato di output. Questo vettore, ottenuto moltiplicando l'embedding della parola target con la matrice dei pesi dello strato di output, viene poi trasformato dalla funzione di attivazione softmax in un vettore di probabilità.

Note
Nota

Sebbene questo vettore risultante di probabilità sia lo stesso per tutte le parole di contesto associate a una singola parola target durante un singolo passo di addestramento, la perdita per ciascuna parola di contesto viene calcolata individualmente.

La perdita per ciascuna parola di contesto viene sommata, e le matrici dei pesi vengono aggiornate di conseguenza a ogni iterazione per minimizzare la perdita totale. Una volta completato il numero specificato di epoche, la matrice degli embedding può essere utilizzata per ottenere gli embedding delle parole.

Note
Approfondisci

In pratica, specialmente con vocabolari di grandi dimensioni, la funzione softmax può risultare troppo onerosa dal punto di vista computazionale. Pertanto, vengono spesso utilizzate approssimazioni come il negative sampling per rendere il calcolo più efficiente.

1. Completa gli spazi vuoti

2. Cosa rappresenta la prima matrice dei pesi W1W^1 nella rete neurale?

question-icon

Completa gli spazi vuoti

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

Cosa rappresenta la prima matrice dei pesi W1W^1 nella rete neurale?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 27

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 1. Capitolo 27
some-alt