Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Modèles CBoW et Skip-Gram | Représentations Vectorielles de Mots
Introduction au TALN

bookModèles CBoW et Skip-Gram

Une compréhension de base des réseaux de neurones est recommandée pour ce chapitre. Si vous n'êtes pas familier avec ce sujet, n'hésitez pas à consulter ce cours :

Les architectures CBoW et Skip-gram apprennent les plongements de mots à l'aide d'une structure de réseau de neurones composée des couches suivantes :

  • une couche d'entrée ;
  • une seule couche cachée ;
  • une couche de sortie.

La matrice de poids entre les couches d'entrée et cachée, notée W1W^1 ou EE, sert de matrice d'embeddings. Chaque ligne de cette matrice représente un vecteur d'embedding pour un mot correspondant, la ii-ème ligne correspondant au ii-ème mot du vocabulaire.

Cette matrice contient VV (taille du vocabulaire) embeddings, chacun de taille NN, une dimension que nous spécifions. Multiplier la transposée de cette matrice (matrice N×VN \times V) par un vecteur one-hot encodé (vecteur V×1V \times 1) permet de récupérer l'embedding pour un mot spécifique, produisant un vecteur N×1N \times 1.

La deuxième matrice de poids, située entre les couches cachée et de sortie, a une taille de N×VN \times V. La multiplication de la transposée de cette matrice (matrice V×NV \times N) par le vecteur N×1N \times 1 de la couche cachée donne un vecteur V×1V \times 1.

CBoW

Voici un exemple d'utilisation d'un modèle CBoW :

Tout d'abord, la transposée de la matrice d'embeddings est multipliée par les vecteurs one-hot des mots du contexte afin de produire leurs embeddings. Ces embeddings sont ensuite additionnés ou moyennés selon l'implémentation pour former un vecteur unique. Ce vecteur est multiplié par la matrice W2W^2, ce qui donne un vecteur V×1V \times 1.

Enfin, ce vecteur passe par la fonction d'activation softmax, qui le convertit en une distribution de probabilités, où chaque élément représente la probabilité qu'un mot du vocabulaire soit le mot cible.

Ensuite, la perte est calculée et les deux matrices de poids sont mises à jour afin de minimiser cette perte. Idéalement, la probabilité du mot cible doit être proche de 1, tandis que les probabilités de tous les autres mots tendent vers zéro. Ce processus est répété pour chaque combinaison d’un mot cible et de ses mots de contexte.

Une fois toutes les combinaisons traitées, une époque est terminée. En général, le réseau de neurones est entraîné sur plusieurs époques afin d’assurer un apprentissage précis. Enfin, les lignes de la matrice d’embeddings résultante peuvent être utilisées comme nos embeddings de mots. Chaque ligne correspond à la représentation vectorielle d’un mot spécifique du vocabulaire, capturant efficacement ses propriétés sémantiques au sein du modèle entraîné.

Skip-gram

Examinons maintenant un modèle skip-gram :

Comme vous pouvez le constater, le processus est en grande partie similaire à CBoW. Il commence par la récupération de l’embedding du mot cible, qui est ensuite utilisé dans la couche cachée. Cela est suivi par la production d’un vecteur V×1V \times 1 dans la couche de sortie. Ce vecteur, obtenu en multipliant l’embedding du mot cible par la matrice de poids de la couche de sortie, est ensuite transformé par la fonction d’activation softmax en un vecteur de probabilités.

Note
Remarque

Bien que ce vecteur résultant de probabilités soit identique pour tous les mots de contexte associés à un mot cible unique lors d'une seule étape d'entraînement, la perte pour chaque mot de contexte est calculée individuellement.

La perte pour chaque mot de contexte est additionnée, et les matrices de poids sont mises à jour en conséquence à chaque itération afin de minimiser la perte totale. Une fois le nombre d'époques spécifié atteint, la matrice d'embeddings peut être utilisée pour obtenir les embeddings de mots.

Note
Approfondir

En pratique, en particulier avec de grands vocabulaires, la fonction softmax peut être trop coûteuse en calcul. Par conséquent, des approximations telles que l'échantillonnage négatif sont souvent utilisées pour rendre le calcul plus efficace.

1. Remplir les blancs

2. Que représente la première matrice de poids W1W^1 dans le réseau de neurones ?

question-icon

Remplir les blancs

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

Que représente la première matrice de poids W1W^1 dans le réseau de neurones ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 2

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 3.45

bookModèles CBoW et Skip-Gram

Glissez pour afficher le menu

Une compréhension de base des réseaux de neurones est recommandée pour ce chapitre. Si vous n'êtes pas familier avec ce sujet, n'hésitez pas à consulter ce cours :

Les architectures CBoW et Skip-gram apprennent les plongements de mots à l'aide d'une structure de réseau de neurones composée des couches suivantes :

  • une couche d'entrée ;
  • une seule couche cachée ;
  • une couche de sortie.

La matrice de poids entre les couches d'entrée et cachée, notée W1W^1 ou EE, sert de matrice d'embeddings. Chaque ligne de cette matrice représente un vecteur d'embedding pour un mot correspondant, la ii-ème ligne correspondant au ii-ème mot du vocabulaire.

Cette matrice contient VV (taille du vocabulaire) embeddings, chacun de taille NN, une dimension que nous spécifions. Multiplier la transposée de cette matrice (matrice N×VN \times V) par un vecteur one-hot encodé (vecteur V×1V \times 1) permet de récupérer l'embedding pour un mot spécifique, produisant un vecteur N×1N \times 1.

La deuxième matrice de poids, située entre les couches cachée et de sortie, a une taille de N×VN \times V. La multiplication de la transposée de cette matrice (matrice V×NV \times N) par le vecteur N×1N \times 1 de la couche cachée donne un vecteur V×1V \times 1.

CBoW

Voici un exemple d'utilisation d'un modèle CBoW :

Tout d'abord, la transposée de la matrice d'embeddings est multipliée par les vecteurs one-hot des mots du contexte afin de produire leurs embeddings. Ces embeddings sont ensuite additionnés ou moyennés selon l'implémentation pour former un vecteur unique. Ce vecteur est multiplié par la matrice W2W^2, ce qui donne un vecteur V×1V \times 1.

Enfin, ce vecteur passe par la fonction d'activation softmax, qui le convertit en une distribution de probabilités, où chaque élément représente la probabilité qu'un mot du vocabulaire soit le mot cible.

Ensuite, la perte est calculée et les deux matrices de poids sont mises à jour afin de minimiser cette perte. Idéalement, la probabilité du mot cible doit être proche de 1, tandis que les probabilités de tous les autres mots tendent vers zéro. Ce processus est répété pour chaque combinaison d’un mot cible et de ses mots de contexte.

Une fois toutes les combinaisons traitées, une époque est terminée. En général, le réseau de neurones est entraîné sur plusieurs époques afin d’assurer un apprentissage précis. Enfin, les lignes de la matrice d’embeddings résultante peuvent être utilisées comme nos embeddings de mots. Chaque ligne correspond à la représentation vectorielle d’un mot spécifique du vocabulaire, capturant efficacement ses propriétés sémantiques au sein du modèle entraîné.

Skip-gram

Examinons maintenant un modèle skip-gram :

Comme vous pouvez le constater, le processus est en grande partie similaire à CBoW. Il commence par la récupération de l’embedding du mot cible, qui est ensuite utilisé dans la couche cachée. Cela est suivi par la production d’un vecteur V×1V \times 1 dans la couche de sortie. Ce vecteur, obtenu en multipliant l’embedding du mot cible par la matrice de poids de la couche de sortie, est ensuite transformé par la fonction d’activation softmax en un vecteur de probabilités.

Note
Remarque

Bien que ce vecteur résultant de probabilités soit identique pour tous les mots de contexte associés à un mot cible unique lors d'une seule étape d'entraînement, la perte pour chaque mot de contexte est calculée individuellement.

La perte pour chaque mot de contexte est additionnée, et les matrices de poids sont mises à jour en conséquence à chaque itération afin de minimiser la perte totale. Une fois le nombre d'époques spécifié atteint, la matrice d'embeddings peut être utilisée pour obtenir les embeddings de mots.

Note
Approfondir

En pratique, en particulier avec de grands vocabulaires, la fonction softmax peut être trop coûteuse en calcul. Par conséquent, des approximations telles que l'échantillonnage négatif sont souvent utilisées pour rendre le calcul plus efficace.

1. Remplir les blancs

2. Que représente la première matrice de poids W1W^1 dans le réseau de neurones ?

question-icon

Remplir les blancs

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

Que représente la première matrice de poids W1W^1 dans le réseau de neurones ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 2
some-alt