Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Modelos CBOW y Skip-gram | Sección
Procesamiento de Lenguaje Natural

bookModelos CBOW y Skip-gram

Desliza para mostrar el menú

Tanto las arquitecturas CBoW como Skip-gram aprenden incrustaciones de palabras mediante una estructura de red neuronal que consta de las siguientes capas:

  • Una capa de entrada;
  • Una única capa oculta;
  • Una capa de salida.

La matriz de pesos entre las capas de entrada y oculta, denotada como W1W^1 o EE, funciona como la matriz de incrustaciones. Cada fila de esta matriz representa un vector de incrustación para una palabra correspondiente, donde la fila ii coincide con la palabra ii del vocabulario.

Esta matriz contiene VV (tamaño del vocabulario) incrustaciones, cada una de tamaño NN, una dimensión que se especifica. Multiplicar la transpuesta de esta matriz (matriz de N×VN \times V) por un vector codificado one-hot (vector de V×1V \times 1) recupera la incrustación para una palabra específica, produciendo un vector de N×1N \times 1.

La segunda matriz de pesos, entre las capas oculta y de salida, tiene un tamaño de N×VN \times V. Multiplicar la transpuesta de esta matriz (matriz de V×NV \times N) por el vector de N×1N \times 1 de la capa oculta da como resultado un vector de V×1V \times 1.

CBoW

Ahora, observe un ejemplo de uso de un modelo CBoW:

Primero, la transpuesta de la matriz de embeddings se multiplica por los vectores one-hot de las palabras de contexto para producir sus embeddings. Estos embeddings luego se suman o promedian dependiendo de la implementación para formar un solo vector. Este vector se multiplica por la matriz W2W^2, resultando en un vector de V×1V \times 1.

Finalmente, este vector pasa por la función de activación softmax, convirtiéndose en una distribución de probabilidad, donde cada elemento representa la probabilidad de que una palabra del vocabulario sea la palabra objetivo.

Después, se calcula la pérdida y ambas matrices de pesos se actualizan para minimizar esta pérdida. Idealmente, se desea que la probabilidad de la palabra objetivo sea cercana a 1, mientras que las probabilidades de todas las demás palabras tiendan a cero. Este proceso se repite para cada combinación de una palabra objetivo y sus palabras de contexto.

Una vez que se han procesado todas las combinaciones, se completa una época. Normalmente, la red neuronal se entrena durante varias épocas para asegurar un aprendizaje preciso. Finalmente, las filas de la matriz de embeddings resultante pueden utilizarse como nuestros embeddings de palabras. Cada fila corresponde a la representación vectorial de una palabra específica del vocabulario, capturando efectivamente sus propiedades semánticas dentro del modelo entrenado.

Skip-gram

Ahora veamos un modelo skip-gram:

Como puedes observar, el proceso es en su mayoría similar a CBoW. Comienza recuperando la representación vectorial de la palabra objetivo, que luego se utiliza en la capa oculta. A continuación, se produce un vector de V×1V \times 1 en la capa de salida. Este vector, obtenido al multiplicar la representación de la palabra objetivo con la matriz de pesos de la capa de salida, es transformado por la función de activación softmax en un vector de probabilidades.

Note
Nota

Aunque este vector resultante de probabilidades es el mismo para todas las palabras de contexto asociadas a una sola palabra objetivo durante un único paso de entrenamiento, la pérdida para cada palabra de contexto se calcula de manera individual.

La pérdida de cada palabra de contexto se suma, y las matrices de pesos se actualizan en cada iteración para minimizar la pérdida total. Una vez completado el número especificado de épocas, la matriz de representaciones puede utilizarse para obtener los vectores de palabras.

Note
Estudiar más

En la práctica, especialmente con vocabularios grandes, la función softmax puede ser demasiado intensiva computacionalmente. Por lo tanto, se emplean aproximaciones como el muestreo negativo para hacer el cálculo más eficiente.

1. Rellena los espacios en blanco

2. ¿Qué representa la primera matriz de pesos W1W^1 en la red neuronal?

question-icon

Rellena los espacios en blanco

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

¿Qué representa la primera matriz de pesos W1W^1 en la red neuronal?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 27

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 1. Capítulo 27
some-alt