Couches de régularisation (GaussianDropout)
Fonctions :
-
GaussianDropout()
La couche GaussianDropout applique une régularisation de type dropout, mais au lieu de mettre certains neurones à zéro, elle les multiplie par un bruit aléatoire gaussien centré sur 1. Elle est utile pour régulariser les modèles tout en conservant une approximation différentiable du dropout classique.
Importation :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, GaussianDropout
Attributs :
Paramètre Type Description Valeur par défaut rate
float Taux de dropout, défini comme la probabilité de garder un neurone (bruit ~ N(1, rate / (1 - rate))). Obligatoire seed
int ou None Graine pour le générateur de bruit gaussien (pour reproductibilité). None
Exemple de code :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, GaussianDropout model = Sequential() model.add(Dense(64, activation='relu', input_shape=(20,))) model.add(GaussianDropout(rate=0.2)) # Bruit gaussien avec équivalent 20% de dropout model.add(Dense(10, activation='softmax')) model.summary()
Explication du code :
importe les composants nécessaires pour construire un modèle de réseau de neurones avec régularisation gaussienne.
Création du modèle
`model = Sequential()` crée un modèle séquentiel Keras.Ajout d'une couche Dense
`model.add(Dense(64, activation='relu', input_shape=(20,)))` crée une couche dense de 64 neurones avec une entrée de 20 variables et une activation ReLU.Ajout de la couche GaussianDropout
`model.add(GaussianDropout(rate=0.2))` applique une régularisation multiplicative avec du bruit gaussien centré sur 1, avec une variance calculée à partir du taux donné (ici 20%).Ajout de la couche de sortie
`model.add(Dense(10, activation='softmax'))` ajoute une couche de sortie à 10 neurones pour une tâche de classification multi-classes.Résumé
`model.summary()` affiche un résumé du modèle et de ses couches.