Couches de régularisation (Dropout)
Fonctions :
-
Dropout()
La couche Dropout est une technique de régularisation utilisée dans les réseaux de neurones pour réduire le surapprentissage (overfitting). Pendant l'entraînement, elle "éteint" aléatoirement un pourcentage de neurones, ce qui force le réseau à ne pas dépendre trop fortement de certains neurones.
Importation :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Dropout
Attributs :
Paramètre Type Description Valeur par défaut rate
float Fraction des neurones à désactiver (entre 0 et 1). Obligatoire noise_shape
tuple ou None Forme du masque de dropout à appliquer. Permet de désactiver des neurones suivant une forme spécifique. None
seed
int ou None Graine pour la génération aléatoire du dropout (pour reproductibilité). None
Exemple de code :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Dropout model = Sequential() model.add(Dense(64, activation='relu', input_shape=(20,))) model.add(Dropout(rate=0.3)) # Désactive 30% des neurones pendant l'entraînement model.add(Dense(10, activation='softmax')) model.summary()
Explication du code :
importe les modules nécessaires de Keras pour construire un modèle et ajouter des couches Dense et Dropout.
Création du modèle
`model = Sequential()` initialise un modèle séquentiel.Ajout d'une couche Dense
`model.add(Dense(64, activation='relu', input_shape=(20,)))` ajoute une couche entièrement connectée avec 64 neurones et fonction d'activation ReLU.Ajout d'une couche Dropout
`model.add(Dropout(rate=0.3))` ajoute une couche Dropout qui désactive aléatoirement 30 % des neurones de la couche précédente pendant l'entraînement, ce qui aide à prévenir le surapprentissage.Ajout de la couche de sortie
`model.add(Dense(10, activation='softmax'))` ajoute une couche de sortie pour classification avec 10 classes.Résumé
`model.summary()` affiche la structure du réseau et le nombre de paramètres.