Couches d’embedding (Embedding)
Fonctions :
-
Embedding()
La couche Embedding sert à transformer des entiers représentant des mots (ou autres indices catégoriels) en vecteurs denses à dimension fixe. Elle est très utilisée en traitement du langage naturel pour représenter des mots sous forme de vecteurs numériques appris, facilitant ainsi la compréhension par les modèles de deep learning.
Importation :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Embedding, Flatten, Dense import numpy as np
Attributs :
Paramètre Type Description Valeur par défaut input_dim
int Nombre total de mots (taille du vocabulaire). — output_dim
int Dimension des vecteurs de sortie (taille de l’embedding). — input_length
int Longueur des séquences d'entrée (nombre de mots par séquence). None
mask_zero
bool Si True
, ignore l’index 0 dans les séquences (utile pour le padding).False
embeddings_initializer
str / callable Initialiseur des poids de l’embedding. 'uniform'
Exemple de code :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Embedding, Flatten, Dense import numpy as np # Données simulées : 4 séquences de 5 mots, mots encodés par des entiers entre 0 et 99 X = np.array([ [1, 5, 10, 4, 2], [3, 7, 8, 1, 9], [5, 6, 7, 8, 9], [1, 3, 2, 4, 5] ]) y = np.array([0, 1, 0, 1]) # Modèle avec couche Embedding model = Sequential() model.add(Embedding(input_dim=100, output_dim=8, input_length=5)) model.add(Flatten()) # Aplatit la sortie 2D en vecteur 1D model.add(Dense(1, activation='sigmoid')) model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy']) model.summary()
Explication du code :
Importation des bibliothèques
On importe les couches nécessaires depuis Keras pour construire un modèle séquentiel simple.Création des données
Les données d’entrée sont 4 séquences contenant chacune 5 entiers, représentant des mots encodés.Définition du modèle
La couche `Embedding` convertit chaque entier en un vecteur dense de dimension 8. La sortie (matrice 5×8 par séquence) est aplatie en un vecteur 1D avant d’être passée à une couche dense pour la classification binaire.Compilation
Le modèle est compilé avec l’optimiseur Adam et la perte binaire, prêt à être entraîné.