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 | Section
Traitement du langage naturel

bookModèles CBoW et Skip-Gram

Glissez pour afficher le menu

Les architectures CBoW et Skip-gram apprennent des plongements de mots à l'aide d'une structure de réseau de neurones comprenant les 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 l'on spécifie. 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 seconde matrice de poids, entre les couches cachée et de sortie, a une taille de N×VN \times V. Multiplier 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

Considérer maintenant 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, le convertissant 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 doivent tendre 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 obtenue 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 dans le 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 de probabilités résultant soit identique pour tous les mots de contexte associés à un même mot cible 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. Compléter les espaces vides

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

question-icon

Compléter les espaces vides

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 1. Chapitre 27

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

Section 1. Chapitre 27
some-alt