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.