Contenu du cours
Introduction au NLP
Introduction au NLP
Modèles CBOW et Skip-Gram (Optionnel)
Les architectures CBoW et Skip-gram apprennent les embeddings de mots à travers une structure de réseau neuronal 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 W1 ou E, sert de matrice d'embeddings. Chaque ligne de cette matrice représente un vecteur d'embedding pour un mot correspondant, avec la i-ème ligne correspondant au i-ème mot du vocabulaire.
Cette matrice contient V (taille du vocabulaire) embeddings, chacun de taille N, une dimension que nous spécifions. Multiplier la transposée de cette matrice (matrice NxV) par un vecteur encodé en one-hot (vecteur Vx1) récupère l'embedding pour un mot spécifique, produisant un vecteur Nx1.
La deuxième matrice de poids, entre les couches cachée et de sortie, est de taille NxV. Multiplier la transposée de cette matrice (matrice VxN) par le vecteur Nx1 de la couche cachée donne un vecteur Vx1.
CBoW
Considérons maintenant un exemple utilisant un modèle CBoW :
Tout d'abord, la transposée de la matrice des embeddings est multipliée par les vecteurs one-hot des mots de contexte pour produire leurs embeddings. Ces embeddings sont ensuite sommés ou moyennés selon l'implémentation pour former un vecteur unique. Ce vecteur est multiplié par la matrice W2, ce qui donne un vecteur Vx1.
Enfin, ce vecteur passe par la fonction d'activation softmax, le convertissant en une distribution de probabilité, 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 pour minimiser cette perte. Idéalement, nous voulons que la probabilité du mot cible soit 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 que toutes les combinaisons ont été traitées, une époque est complétée. Typiquement, le réseau de neurones est entraîné sur plusieurs époques pour assurer un apprentissage précis. Enfin, les lignes de la matrice des embeddings résultante peuvent être utilisées comme nos embeddings de mots. Chaque ligne correspond à la représentation vectorielle d'un mot spécifique dans le 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 voir, le processus est principalement similaire à CBoW. Il commence par récupérer l'embedding du mot cible, qui est ensuite utilisé dans la couche cachée. Cela est suivi par la production d'un vecteur Vx1 dans la couche de sortie. Ce vecteur, obtenu en multipliant l'embedding du mot cible avec la matrice de poids de la couche de sortie, est ensuite transformé par la fonction d'activation softmax en un vecteur de probabilités.
La perte pour chaque mot de contexte est additionnée, et les matrices de poids sont mises à jour en conséquence à chaque itération pour minimiser la perte totale. Une fois le nombre spécifié d'époques terminé, la matrice d'embeddings peut être utilisée pour obtenir les embeddings de mots.
Merci pour vos commentaires !