Aller au contenu principal

Chargement du lab visuel…

#dropoutRéseaux de neurones

Régularisation par dropout : le meilleur ami des réseaux profonds.

Ce que tu vas manipuler

  1. Bienvenue dans #dropout. À l'écran, un petit MLP 2-8-8-1. À chaque passage avant, on désactive au hasard une fraction des neurones cachés : c'est le dropout, une des régularisations les plus efficaces jamais inventées.
  2. Applique un taux de 50 %. Tape /dropout 0.5.
  3. Retire un nouveau masque : /tirage. Le tirage change à chaque passage avant. C'est ce qui empêche le réseau de trop se reposer sur un neurone en particulier.
  4. Choisis un dataset : /dataset lunes, /dataset cercles, ou /dataset xor. Le bruit fait que le réseau va sur-apprendre s'il n'a pas de garde-fou.
  5. Entraînons sans dropout pour voir le sur-apprentissage. Passe le taux à zéro /dropout 0, puis lance /entrainer 60. Le panneau de droite trace perte d'entraînement (bleu) et perte de validation (orange).
  6. Maintenant remets /dropout 0.3 et relance /entrainer 60. L'écart train / val se referme : le dropout régularise sans qu'on ait à toucher l'architecture.
  7. Tu peux jouer librement : /dropout 0.7 (trop fort, sous-apprentissage), /dataset xor, /reinit, /tirage. Le canal #descente-de-gradient te montrera pourquoi ça marche mathématiquement.

Commandes du canal

  • /dropout <0..0.9>Fixe le taux de dropout des couches cachées.
  • /tirageRetire un nouveau masque avec une graine différente.
  • /dataset <lunes|cercles|xor>Change le jeu de données 2D.
  • /entrainer <époques=1..200>Entraîne un MLP 2-8-8-1 avec le taux de dropout courant.
  • /reinitEfface l'entraînement et remet dropout à 0.

Glossaire

Dropout
Pendant l'entraînement, chaque neurone caché est désactivé avec une probabilité p à chaque exemple. Le réseau ne peut plus compter sur un neurone précis : il apprend des représentations redondantes et généralise mieux.
Taux de dropout
La probabilité p d'éteindre un neurone (souvent 0,2 à 0,5). Trop haut, le réseau n'apprend plus ; trop bas, il n'y a plus d'effet.
Masque
Le tirage binaire (0 ou 1 par neurone) appliqué à une couche pour un exemple donné. Un nouveau masque est tiré à chaque passage.
Dropout inversé
On divise les activations restantes par 1 − p pendant l'entraînement, pour que l'échelle des sorties soit la même à l'inférence, où rien n'est éteint.
Régularisation
Toute technique qui limite la capacité d'un modèle à mémoriser les données d'entraînement : dropout, pénalité L2, arrêt précoce, augmentation de données.
Ensemble implicite
Chaque masque définit un sous-réseau différent ; à l'inférence, le réseau complet se comporte comme la moyenne de tous ces sous-réseaux. C'est un « ensemble » gratuit.
Perte de validation
Erreur mesurée sur des données jamais vues pendant l'entraînement. Si elle remonte alors que la perte d'entraînement baisse encore, le modèle sur-apprend.
Co-adaptation
Quand des neurones apprennent à corriger mutuellement leurs erreurs et deviennent inutiles seuls. Le dropout la casse en rendant chaque voisin non fiable.

Autres canaux du thème Réseaux de neurones

  • #neuroneDécomposons un neurone : entrées, poids, somme, activation.
  • #dropoutRégularisation par dropout : le meilleur ami des réseaux profonds.
  • #activationPourquoi une activation ? ReLU, sigmoid, tanh, Leaky ReLU, GELU et le gradient qui disparaît.
  • #descente-de-gradientLa perte est un paysage. Le gradient dit où ça monte, on fait un pas dans l'autre sens.
  • #rétropropagationLe graphe de calcul rejoué à l'envers : chaque nœud reçoit ∂L/∂(lui) et la règle de la chaîne fait le reste.
  • #sur-apprentissageUn gros modèle sur peu de données : la frontière de décision se tord jusqu'à mémoriser le bruit.
  • #cnn-filtresUne image est une grille de nombres. Un filtre 3×3 glisse dessus, multiplie, additionne : c'est une convolution.
  • #is-it-einsteinIs it Einstein ? Deux visages passent au scanner d’un réseau qui n’a appris qu’Einstein : Haythem → NON, Einstein → OUI. Regarder est gratuit ; toucher est Premium.
  • #embeddings-3dUn mot devient un vecteur : proches dans l'espace = proches en sens, et on peut calculer dessus.