Couches de régularisation (GaussianNoise)
Les couches Gaussian Noise sont des couches de régularisation utilisées dans les réseaux de neurones pour réduire le surapprentissage (overfitting). L’objectif est d’améliorer la robustesse du modèle en ajoutant du bruit aux entrées ou aux activations pendant l’entraînement.
Le principe consiste à ajouter un bruit aléatoire tiré d’une distribution normale (gaussienne) aux entrées de la couche. Cela force le réseau à apprendre des représentations plus stables et généralisables, car il ne peut pas dépendre uniquement des valeurs exactes des données d’entraînement. Pendant l’inférence, aucune modification n’est apportée aux données.
Les couches Gaussian Noise sont utilisées dans les réseaux fully connected, convolutionnels et récurrents lorsque le risque de surapprentissage est élevé, notamment sur de petits ensembles de données.
En résumé, le Gaussian Noise permet de régulariser le réseau en ajoutant du bruit gaussien pendant l’entraînement, améliorant la généralisation et la robustesse du modèle.
Fonctions :
-
GaussianNoise()
La couche GaussianNoise ajoute un bruit gaussien (normal) à l'entrée pendant l'entraînement. Elle est utilisée pour rendre un modèle plus robuste aux variations des données et pour prévenir le surapprentissage (overfitting).
Importation :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, GaussianNoiseAttributs :
Paramètre Type Description Valeur par défaut stddevfloat Écart type du bruit gaussien à ajouter à l'entrée. Obligatoire Exemple de code :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, GaussianNoise model = Sequential() model.add(GaussianNoise(stddev=0.1, input_shape=(20,))) # Bruit gaussien avec σ = 0.1 model.add(Dense(64, activation='relu')) model.add(Dense(10, activation='softmax')) model.summary()
Explication du code :
importe les modules nécessaires pour créer un modèle Keras avec une couche de bruit gaussien.
Création du modèle
`model = Sequential()` initialise un modèle de type séquentiel.Ajout de bruit à l'entrée
`model.add(GaussianNoise(stddev=0.1, input_shape=(20,)))` applique un bruit gaussien de moyenne 0 et d'écart type 0.1 à chaque entrée du modèle. Ce bruit n’est actif que pendant l'entraînement, et non durant l’inférence.Ajout de couches cachées et de sortie
`model.add(Dense(64, activation='relu'))` ajoute une couche dense cachée avec 64 neurones. `model.add(Dense(10, activation='softmax'))` ajoute une couche de sortie pour une classification multi-classes.Résumé
`model.summary()` affiche la structure complète du modèle.