¿Cuál es la matriz de características en word2vec?

10

Soy un principiante en redes neuronales y actualmente estoy explorando el modelo word2vec. Sin embargo, me está costando entender cuál es exactamente la matriz de características.

ingrese la descripción de la imagen aquí

Puedo entender que la primera matriz es un vector de codificación de una sola palabra para una palabra dada, pero ¿qué significa la segunda matriz? Más específicamente, ¿qué significa cada uno de esos valores (es decir, 17, 24, 1, etc.)?

Satrajit Maitra
fuente
Tengo una pregunta sobre la W generada por google, ¿me puede dar más información sobre los valores dados por google? ¿Para qué se usan estas características? Gracias por su ayuda.
hambi

Respuestas:

8

La idea detrás de word2vec es representar palabras por un vector de números reales de dimensión d . Por lo tanto, la segunda matriz es la representación de esas palabras.

La i -ésima línea de esta matriz es la representación vectorial de la i -ésima palabra.

Digamos que en su ejemplo tiene 5 palabras: ["León", "Gato", "Perro", "Caballo", "Ratón"], entonces el primer vector [0,0,0,1,0] significa que Estamos considerando la palabra "Caballo" y la representación de "Caballo" es [10, 12, 19]. Del mismo modo, [17, 24, 1] es la representación de la palabra "León".

A mi entender, no hay "significado humano" específicamente para cada uno de los números en estas representaciones. Un número no representa si la palabra es un verbo o no, un adjetivo o no ... Son solo los pesos que cambias para resolver tu problema de optimización para aprender la representación de tus palabras.

Este tutorial puede ayudar: http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/ a pesar de que creo que la imagen que puso fue de este enlace.

También puede verificar esto, lo que puede ayudarlo a comenzar con los vectores de palabras con TensorFlow: https://www.tensorflow.org/tutorials/word2vec

Pierre L.
fuente
5

TL; DR :

La primera matriz representa el vector de entrada en un formato dinámico

La segunda matriz representa los pesos sinápticos desde las neuronas de la capa de entrada hasta las neuronas de la capa oculta.

Versión más larga :

"qué es exactamente la matriz de características"

Parece que no has entendido la representación correctamente. Esa matriz no es una matriz de características sino una matriz de peso para la red neuronal. Considere la imagen que se muestra a continuación. Observe especialmente la esquina superior izquierda donde la matriz de la capa de entrada se multiplica por la matriz de peso. ingrese la descripción de la imagen aquí

Ahora mira en la esquina superior derecha. Esta matriz de multiplicación InputLayer producida por puntos con Weights Transpose es solo una forma práctica de representar la red neuronal en la parte superior derecha.

Entonces, para responder a su pregunta, la ecuación que ha publicado es solo la representación matemática de la red neuronal que se utiliza en el algoritmo Word2Vec.

La primera parte, [0 0 0 1 0 ... 0] representa la palabra de entrada como un vector caliente y la otra matriz representa el peso para la conexión de cada una de las neuronas de la capa de entrada a las neuronas de la capa oculta.

A medida que Word2Vec se entrena, se propaga hacia atrás en estos pesos y los cambia para dar una mejor representación de las palabras como vectores.

Una vez que se completa el entrenamiento, usa solo esta matriz de peso, toma [0 0 1 0 0 ... 0] para decir 'perro' y multiplícalo con la matriz de peso mejorada para obtener la representación vectorial de 'perro' en una dimensión = no de neuronas de capa oculta.

En el diagrama que ha presentado, el número de neuronas de capa oculta es 3

Entonces, el lado derecho es básicamente la palabra vector.

Créditos de imagen: http://www.datasciencecentral.com/profiles/blogs/matrix-multiplication-in-neural-networks

aneesh joshi
fuente