Couches normalisatrices (BatchNormalization)

Fonctions :

  • BatchNormalization()

    La couche BatchNormalization normalise les activations d'une couche précédente afin d'accélérer et stabiliser l'entraînement des réseaux de neurones. Elle ajuste les sorties pour avoir une moyenne proche de zéro et une variance proche de un sur chaque mini-lot, tout en apprenant des paramètres de décalage et d’échelle.

    Importation :

    from keras.layers import BatchNormalization

    Attributs :

    Paramètre Type Description Valeur par défaut
    axis int Axe sur lequel normaliser (typiquement l’axe des canaux). -1
    momentum float Moment pour la moyenne mobile des statistiques (moyenne et variance). 0.99
    epsilon float Petite valeur ajoutée pour éviter la division par zéro lors de la normalisation. 1e-3
    center bool Si True, ajoute un paramètre de biais (offset) appris. True
    scale bool Si True, ajoute un paramètre d’échelle appris. True

    Exemple de code :

    from tensorflow.keras.models import Sequential
    from tensorflow.keras.layers import Dense, BatchNormalization, Activation
    import numpy as np
    
    # Données simulées : 100 exemples avec 20 caractéristiques
    X = np.random.rand(100, 20)
    y = np.random.randint(0, 2, size=(100, 1))
    
    # Modèle avec BatchNormalization
    model = Sequential()
    model.add(Dense(64, input_shape=(20,)))
    model.add(BatchNormalization())
    model.add(Activation('relu'))
    model.add(Dense(1, activation='sigmoid'))
    
    model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
    model.summary()

    Explication du code :

    Importation des bibliothèques
    Les couches `Dense`, `BatchNormalization` et `Activation` sont importées depuis Keras pour construire le modèle.
    Création des données
    Les données contiennent 100 exemples avec 20 caractéristiques aléatoires, et une cible binaire.
    Définition du modèle
    Une couche dense est suivie par `BatchNormalization`, qui normalise la sortie. Puis une activation ReLU est appliquée.
    Compilation
    Le modèle est compilé avec Adam et une fonction de perte binaire.