#dropout — Réseaux de neurones
Régularisation par dropout : le meilleur ami des réseaux profonds.
Ce que tu vas manipuler
- 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. - Applique un taux de 50 %. Tape
/dropout 0.5. - 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. - 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. - 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). - Maintenant remets
/dropout 0.3et relance/entrainer 60. L'écart train / val se referme : le dropout régularise sans qu'on ait à toucher l'architecture. - 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./tirage— Retire 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./reinit— Efface 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é
pd'é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 − ppendant 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
- #neurone — Décomposons un neurone : entrées, poids, somme, activation.
- #dropout — Régularisation par dropout : le meilleur ami des réseaux profonds.
- #activation — Pourquoi une activation ? ReLU, sigmoid, tanh, Leaky ReLU, GELU et le gradient qui disparaît.
- #descente-de-gradient — La perte est un paysage. Le gradient dit où ça monte, on fait un pas dans l'autre sens.
- #rétropropagation — Le 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-apprentissage — Un gros modèle sur peu de données : la frontière de décision se tord jusqu'à mémoriser le bruit.
- #cnn-filtres — Une image est une grille de nombres. Un filtre 3×3 glisse dessus, multiplie, additionne : c'est une convolution.
- #is-it-einstein — Is 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-3d — Un mot devient un vecteur : proches dans l'espace = proches en sens, et on peut calculer dessus.