Couches de convolution (Conv1D)
Fonctions :
-
Conv1D()
La couche Conv1D effectue une convolution 1D, souvent utilisée pour traiter des données séquentielles (comme des séries temporelles ou des séquences de texte encodées). Elle applique un filtre (ou noyau) qui glisse le long d’un axe spatial unique (typiquement le temps ou la position).
Importation :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv1D, Flatten, Dense import numpy as np
Attributs :
Paramètre Type Description Valeur par défaut filters
int Nombre de filtres de sortie (dimensions de sortie). Obligatoire kernel_size
int Taille du noyau de convolution. Obligatoire strides
int Longueur du pas de la convolution. 1
padding
str 'valid'
(sans remplissage) ou'same'
(avec remplissage pour garder la taille).'valid'
activation
str ou fonction Fonction d'activation appliquée à la sortie. None
input_shape
tuple Taille des entrées attendues (sauf batch size), typiquement (longueur_sequence, nb_features)
.Doit être défini dans la première couche Exemple de code :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv1D, Flatten, Dense import numpy as np # Données fictives : 100 échantillons, séquences de 10 pas, 1 caractéristique par pas X = np.random.rand(100, 10, 1) y = np.random.randint(0, 2, size=(100,)) model = Sequential() model.add(Conv1D(filters=32, kernel_size=3, activation='relu', input_shape=(10, 1))) model.add(Flatten()) model.add(Dense(1, activation='sigmoid')) model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy']) model.summary()
Explication du code :
Importation des bibliothèques
La bibliothèque Keras est utilisée pour créer un modèle séquentiel contenant une couche de convolution 1D. NumPy permet de générer des données d'exemple.Création des données
Les données d'entrée simulées représentent 100 séquences, chacune composée de 10 pas de temps et d'une seule caractéristique. Les étiquettes associées sont binaires.Définition du modèle
Le modèle est constitué d’une couche `Conv1D` qui applique 32 filtres sur les séquences avec une taille de noyau de 3. La sortie est ensuite aplatie pour être transmise à une couche dense finale avec activation sigmoïde pour la classification binaire.Compilation et résumé
Le modèle est compilé avec l’optimiseur Adam et la fonction de perte binaire. Le résumé permet de visualiser la structure du modèle.