Qual è la matrice delle caratteristiche in word2vec?


10

Sono un principiante nelle reti neurali e attualmente sto esplorando il modello word2vec. Tuttavia, non riesco a capire quale sia esattamente la matrice delle caratteristiche.

inserisci qui la descrizione dell'immagine

Posso capire che la prima matrice è un vettore di codifica one-hot per una determinata parola, ma cosa significa la seconda matrice? Più specificamente, cosa significa ciascuno di questi valori (es. 17, 24, 1 ecc.)?


Ho una domanda sulla W generata da google, puoi darmi maggiori informazioni sui valori forniti da google? a cosa servono queste funzionalità? grazie per il vostro aiuto.
Hambi,

Risposte:


8

L'idea alla base di word2vec è di rappresentare le parole con un vettore di numeri reali di dimensione d . Pertanto la seconda matrice è la rappresentazione di quelle parole.

La i linea -esimo di questa matrice è la rappresentazione vettoriale della i word -esimo.

Diciamo che nel tuo esempio hai 5 parole: ["Leone", "Gatto", "Cane", "Cavallo", "Mouse"], quindi il primo vettore [0,0,0,1,0] significa che stai considerando la parola "Cavallo" e quindi la rappresentazione di "Cavallo" è [10, 12, 19]. Allo stesso modo, [17, 24, 1] è la rappresentazione della parola "Leone".

Per la mia conoscenza, non ci sono "significati umani" specificamente per ciascuno dei numeri in queste rappresentazioni. Un numero non rappresenta se la parola è un verbo o meno, un aggettivo o no ... Sono solo i pesi che cambi a risolvere il tuo problema di ottimizzazione per imparare la rappresentazione delle tue parole.

Questo tutorial può aiutare: http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/ anche se penso che l'immagine che hai inserito provenga da questo link.

Puoi anche controllare questo, che può aiutarti a iniziare con i vettori di parole con TensorFlow: https://www.tensorflow.org/tutorials/word2vec


5

TL; DR :

La prima matrice rappresenta il vettore di input in un formato a caldo

La seconda matrice rappresenta i pesi sinaptici dai neuroni dello strato di input ai neuroni dello strato nascosto

Versione più lunga :

"cos'è esattamente la matrice delle caratteristiche"

Sembra che tu non abbia capito bene la rappresentazione. Quella matrice non è una matrice di caratteristiche ma una matrice di peso per la rete neurale. Considera l'immagine fornita di seguito. Notare in particolare l'angolo superiore sinistro in cui la matrice del livello di input viene moltiplicata per la matrice del peso. inserisci qui la descrizione dell'immagine

Ora guarda in alto a destra. Questa matrice di moltiplicazione InputLayer dot prodotta con Weights Transpose è solo un modo pratico per rappresentare la rete neurale in alto a destra.

Quindi, per rispondere alla tua domanda, l'equazione che hai pubblicato è solo la rappresentazione matematica per la rete neurale che viene utilizzata nell'algoritmo Word2Vec.

La prima parte, [0 0 0 1 0 ... 0] rappresenta la parola di input come un vettore caldo e l'altra matrice rappresenta il peso per la connessione di ciascuno dei neuroni dello strato di input ai neuroni dello strato nascosto.

Mentre Word2Vec si allena, esegue una backproprietà di questi pesi e li cambia per offrire una migliore rappresentazione delle parole come vettori.

Una volta completato l'allenamento, usi solo questa matrice di peso, prendi [0 0 1 0 0 ... 0] per dire "cane" e moltiplicalo con la matrice di peso migliorata per ottenere la rappresentazione vettoriale di "cane" in una dimensione = no di neuroni a strato nascosto.

Nel diagramma che hai presentato, il numero di neuroni a strati nascosti è 3

Quindi il lato destro è sostanzialmente il vettore parola.

Crediti immagine: http://www.datasciencecentral.com/profiles/blogs/matrix-multiplication-in-neural-networks

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.