Couches de régularisation (AlphaDropout)
Fonctions :
-
AlphaDropout()
La couche AlphaDropout est une forme spéciale de dropout conçue pour fonctionner avec les activations SELU (Scaled Exponential Linear Unit). Elle conserve la moyenne et l'écart type de l'entrée afin de préserver la normalisation automatique des activations, ce qui la rend idéale pour des réseaux entièrement SELU.
Importation :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, AlphaDropout from tensorflow.keras.activations import selu
Attributs :
Paramètre Type Description Valeur par défaut rate
float Fraction des unités à mettre à zéro (ou remplacer par une valeur alpha). Obligatoire seed
int ou None Graine aléatoire pour la reproductibilité. None
Exemple de code :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, AlphaDropout from tensorflow.keras.activations import selu model = Sequential() model.add(Dense(64, activation='selu', input_shape=(20,))) model.add(AlphaDropout(rate=0.2)) model.add(Dense(10, activation='softmax')) model.summary()
Explication du code :
importe les composants nécessaires pour construire un réseau de neurones avec la régularisation AlphaDropout.
Création du modèle
`model = Sequential()` crée une architecture de modèle séquentiel.Ajout d'une couche dense avec activation SELU
`model.add(Dense(64, activation='selu', input_shape=(20,)))` ajoute une couche dense de 64 neurones avec l'activation **SELU**, qui favorise l'auto-normalisation.Ajout de la couche AlphaDropout
`model.add(AlphaDropout(rate=0.2))` applique une régularisation qui conserve la moyenne et la variance des activations, essentielle au bon fonctionnement de SELU.Ajout de la couche de sortie
`model.add(Dense(10, activation='softmax'))` ajoute une couche de sortie pour une classification à 10 classes.Résumé
`model.summary()` affiche la structure du modèle.