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.