Couches normalisatrices (LayerNormalization)
Fonctions :
-
LayerNormalization()
La couche LayerNormalization normalise les activations à l'intérieur de chaque échantillon (plutôt que sur un mini-lot comme BatchNormalization), en calculant la moyenne et la variance sur toutes les caractéristiques d'une couche. Elle est particulièrement efficace pour les modèles séquentiels comme les réseaux récurrents et les transformers.
Importation :
from keras.layers import LayerNormalization
Attributs :
Paramètre Type Description Valeur par défaut axis
int ou tuple d’int Axe(s) sur lesquels normaliser (par défaut toutes les caractéristiques sauf batch). -1
epsilon
float Petite valeur pour éviter la division par zéro. 1e-3
center
bool Si True
, ajoute un paramètre de biais 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, LayerNormalization, 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 LayerNormalization model = Sequential() model.add(Dense(64, input_shape=(20,))) model.add(LayerNormalization()) 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
On importe les couches nécessaires depuis Keras.Création des données
Les données contiennent 100 exemples, chacun avec 20 caractéristiques aléatoires, et une cible binaire.Définition du modèle
Une couche dense est suivie d’une normalisation par couche (`LayerNormalization`), puis d’une activation ReLU.Compilation
Le modèle est compilé avec Adam et une fonction de perte binaire, prêt à l’entraînement.