Domanda su Continuous Bag of Words


11

Ho difficoltà a comprendere questa frase:

La prima architettura proposta è simile all'NNLM feedforward, in cui viene rimosso lo strato nascosto non lineare e lo strato di proiezione è condiviso per tutte le parole (non solo la matrice di proiezione); quindi, tutte le parole vengono proiettate nella stessa posizione (i loro vettori sono mediati).

Qual è lo strato di proiezione rispetto alla matrice di proiezione? Cosa significa dire che tutte le parole vengono proiettate nella stessa posizione? E perché significa che i loro vettori sono mediati?

La frase è la prima della sezione 3.1 di Stima efficiente delle rappresentazioni delle parole nello spazio vettoriale (Mikolov et al. 2013) .

Risposte:


6

La Figura 1 chiarisce un po 'le cose. Tutti i vettori di parole dalla finestra di una determinata dimensione vengono sommati, il risultato viene moltiplicato per (1 / dimensione della finestra) e quindi inserito nel livello di output.

Matrice di proiezione indica un'intera tabella di ricerca in cui ogni parola corrisponde a un singolo vettore con valori reali. Il livello di proiezione è efficacemente un processo che accetta una parola (indice di parole) e restituisce il vettore corrispondente. È possibile concatenarli (ottenendo l'input della dimensione k * n dove k è la dimensione della finestra e n la lunghezza del vettore) o come nel modello CBOW, basta sommarli tutti (ottenere l'input della dimensione n).

inserisci qui la descrizione dell'immagine


Innanzitutto, grazie per la risposta. Sono ancora un po 'confuso dalla distinzione tra matrice di proiezione e strato di proiezione. Sembrano uguali.
user70394

@ user70394 Sì, in effetti trovo la terminologia un po 'confusa. Fondamentalmente qualsiasi livello NN è una funzione che mappa input a output. Lo strato di proiezione lo fa usando i pesi della matrice di proiezione ma non è la matrice stessa. Data la stessa matrice si possono definire molte funzioni diverse. In effetti, nel caso di CBOW potremmo probabilmente dire che abbiamo uno strato di proiezione con ritardo ritardato seguito da uno strato di somma. Nel modello RNNLM "lo strato di proiezione" è in realtà una parte dello strato nascosto ricorrente che combina pesi della matrice di proiezione con pesi ricorrenti per calcolare le uscite.
Denis Tarasov,

1

Mentre stavo navigando per quanto riguarda i problemi della CBOW e mi sono imbattuto in questo, ecco una risposta alternativa alla tua (prima) domanda ("Che cos'è uno strato di proiezione vs. matrice ?"), Guardando il modello NNLM (Bengio et al., 2003):

Bengio et al., 2003, Figura 1: Architettura neurale: f (i, w_ {t − 1}, ···, w_ {t − n + 1}) = g (i, C (w_ {t − 1} ), ···, C (w_ {t − n + 1})) dove g è la rete neurale e C (i) è l'ottava parola caratteristica vettore.

Se si confronta questo con il modello [i] di Mikolov (mostrato in una risposta alternativa a questa domanda), la frase citata (nella domanda) significa che Mikolov ha rimosso lo strato di (non lineare!) Visto nel modello di Bengio mostrato sopra. E il primo (e unico) livello nascosto di , invece di avere singoli vettori per ogni parola, usa solo un vettore che riassume i "parametri delle parole", e quindi si sommano quelle somme. Quindi questo spiega l'ultima domanda ("Cosa significa che i vettori sono mediati?"). Le parole vengono "proiettate nella stessa posizione" perché i pesi assegnati alle singole parole di input sono riassunti e mediati nel modello di Mikolov. Pertanto, il suo strato di proiezionetanhC(wi)perde tutte le informazioni sulla posizione, a differenza del primo strato nascosto di Bengio (alias la matrice di proiezione ) - rispondendo così alla seconda domanda ("Cosa significa che tutte le parole vengono proiettate nella stessa posizione?"). Pertanto, i modelli di Mikolov hanno mantenuto i "parametri di parole" (la matrice del peso in ingresso), rimosso la matrice di proiezione e lo strato di e sostituito entrambi con uno "semplice" strato di proiezione.Ctanh

Per aggiungere, e "solo per la cronaca": la parte veramente eccitante è l'approccio di Mikolov alla risoluzione della parte in cui nell'immagine di Bengio vedi la frase "maggior calcolo qui". Bengio ha provato a ridurre questo problema facendo qualcosa che si chiama softmax gerarchico (invece di usare semplicemente il softmax) in un articolo successivo (Morin e Bengio 2005). Ma Mikolov, con la sua strategia di sottocampionamento negativo, ha fatto un ulteriore passo in avanti: non calcola la verosimiglianza negativa di tutte le parole "sbagliate" (o codifiche di Huffman, come suggerì Bengio nel 2005), e calcola solo un piccolo campione di casi negativi, che, dati abbastanza calcoli e un'intelligente distribuzione di probabilità, funziona estremamente bene. E il secondo e ancor più importante contributo, naturalmente,"composizionalità" additiva ("uomo + re = donna +?" con la regina delle risposte), che funziona davvero bene solo con il suo modello Skip-Gram, e può essere approssimativamente inteso come prendere il modello di Bengio, applicando le modifiche suggerite da Mikolov (cioè frase citata nella domanda) e quindi invertire l'intero processo. Cioè, indovinando le parole circostanti dalle parole di output (ora usate come input), , invece.P(context|wt=i)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.