Modelos CBoW y Skip-Gram
Se recomienda una comprensión básica de las redes neuronales para este capítulo. Si no está familiarizado con el tema, puede consultar este curso:
Tanto las arquitecturas CBoW como Skip-gram aprenden representaciones vectoriales 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 W1 o E, funciona como la matriz de embeddings. Cada fila de esta matriz representa un vector de embedding para una palabra correspondiente, donde la fila i coincide con la palabra i en el vocabulario.
Esta matriz contiene V (tamaño del vocabulario) embeddings, cada uno de tamaño N, una dimensión que especificamos. Multiplicar la transpuesta de esta matriz (matriz de N×V) por un vector codificado one-hot (vector de V×1) recupera el embedding para una palabra específica, produciendo un vector de N×1.
La segunda matriz de pesos, ubicada entre las capas oculta y de salida, tiene un tamaño de N×V. Al multiplicar la transpuesta de esta matriz (matriz de V×N) por el vector de la capa oculta de tamaño N×1, se obtiene un vector de V×1.
CBoW
A continuación, se presenta 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 obtener sus embeddings. Estos embeddings luego se suman o promedian según la implementación para formar un solo vector. Este vector se multiplica por la matriz W2, lo que da como resultado un vector de V×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.
Posteriormente, se calcula la función de pérdida y ambas matrices de pesos se actualizan para minimizar dicha pérdida. Idealmente, se busca 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. Por lo general, 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 de manera efectiva sus propiedades semánticas dentro del modelo entrenado.
Skip-gram
A continuación, se presenta el modelo skip-gram:
Como se puede observar, el proceso es en su mayoría similar al de CBoW. Comienza recuperando el embedding de la palabra objetivo, que luego se utiliza en la capa oculta. A continuación, se produce un vector de V×1 en la capa de salida. Este vector, obtenido al multiplicar el embedding de la palabra objetivo con la matriz de pesos de la capa de salida, se transforma mediante la función de activación softmax en un vector de probabilidades.
Aunque este vector resultante de probabilidades es el mismo para todas las palabras de contexto asociadas con 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 embeddings puede utilizarse para obtener los vectores de palabras.
En la práctica, especialmente con vocabularios grandes, la función softmax puede ser demasiado costosa computacionalmente. Por ello, se emplean a menudo 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 W1 en la red neuronal?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 3.45
Modelos CBoW y Skip-Gram
Desliza para mostrar el menú
Se recomienda una comprensión básica de las redes neuronales para este capítulo. Si no está familiarizado con el tema, puede consultar este curso:
Tanto las arquitecturas CBoW como Skip-gram aprenden representaciones vectoriales 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 W1 o E, funciona como la matriz de embeddings. Cada fila de esta matriz representa un vector de embedding para una palabra correspondiente, donde la fila i coincide con la palabra i en el vocabulario.
Esta matriz contiene V (tamaño del vocabulario) embeddings, cada uno de tamaño N, una dimensión que especificamos. Multiplicar la transpuesta de esta matriz (matriz de N×V) por un vector codificado one-hot (vector de V×1) recupera el embedding para una palabra específica, produciendo un vector de N×1.
La segunda matriz de pesos, ubicada entre las capas oculta y de salida, tiene un tamaño de N×V. Al multiplicar la transpuesta de esta matriz (matriz de V×N) por el vector de la capa oculta de tamaño N×1, se obtiene un vector de V×1.
CBoW
A continuación, se presenta 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 obtener sus embeddings. Estos embeddings luego se suman o promedian según la implementación para formar un solo vector. Este vector se multiplica por la matriz W2, lo que da como resultado un vector de V×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.
Posteriormente, se calcula la función de pérdida y ambas matrices de pesos se actualizan para minimizar dicha pérdida. Idealmente, se busca 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. Por lo general, 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 de manera efectiva sus propiedades semánticas dentro del modelo entrenado.
Skip-gram
A continuación, se presenta el modelo skip-gram:
Como se puede observar, el proceso es en su mayoría similar al de CBoW. Comienza recuperando el embedding de la palabra objetivo, que luego se utiliza en la capa oculta. A continuación, se produce un vector de V×1 en la capa de salida. Este vector, obtenido al multiplicar el embedding de la palabra objetivo con la matriz de pesos de la capa de salida, se transforma mediante la función de activación softmax en un vector de probabilidades.
Aunque este vector resultante de probabilidades es el mismo para todas las palabras de contexto asociadas con 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 embeddings puede utilizarse para obtener los vectores de palabras.
En la práctica, especialmente con vocabularios grandes, la función softmax puede ser demasiado costosa computacionalmente. Por ello, se emplean a menudo 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 W1 en la red neuronal?
¡Gracias por tus comentarios!