Normalisation & Régularisation
Entraîner un réseau profond sans normalisation, c’est comme essayer d’équilibrer une tour de blocs mouvants : chaque couche voit ses entrées changer de distribution à chaque mise à jour des couches précédentes. Ce phénomène, le internal covariate shift, rend l’entraînement instable et lent.
Batch Normalization (Ioffe & Szegedy, 2015) résout cela en normalisant les activations par mini-batch — soustraire la moyenne, diviser par l’écart-type, puis appliquer une transformation affine apprise. Le résultat est spectaculaire : l’entraînement est 14× plus rapide, les taux d’apprentissage élevés deviennent utilisables, et le dropout devient moins nécessaire. BatchNorm a rendu possibles les réseaux très profonds (ResNet-152).
Mais BatchNorm a un défaut : il dépend de la taille du batch. Pour de petits batchs (<16), ses statistiques deviennent instables. Layer Normalization (Ba et al., 2016) normalise par feature plutôt que par batch — chaque échantillon est normalisé indépendamment. C’est devenu le standard des Transformers, où la taille de séquence est souvent plus contraignante que la taille de batch.
Group Normalization (2018) propose un compromis entre les deux, tandis que Instance Normalization (2016) est utile pour le transfert de style, où chaque canal et chaque échantillon doivent être traités indépendamment.
Côté régularisation, le Dropout (Hinton et al., 2012) reste une idée brillante dans sa simplicité : à chaque passe avant, désactiver aléatoirement 50% des neurones. Le réseau ne peut pas se reposer sur un neurone spécifique — il doit apprendre des représentations redondantes. À l’inférence, tous les neurones sont actifs, et le réseau se comporte comme un ensemble de sous-réseaux entraînés séparément. Le weight decay (), le gradient clipping (éviter l’explosion), et le label smoothing (éviter l’overconfidence) complètent la panoplie.
| Technique | Année | Concept |
|---|---|---|
| Dropout | 2012 | Désactive aléatoirement des neurones — réduit le co-adaptation |
| Batch Normalization | 2015 | Normalise les activations par batch — permet batch size + grand |
| Layer Normalization | 2016 | Normalise par feature (pas par batch) — standard Transformers |
| Instance Normalization | 2016 | Normalise par canal et par échantillon — style transfer |
| Group Normalization | 2018 | Compromis Batch/Layer — utile pour petits batchs |
| Dropout 2.0/Variational | 2018 | Dropout Bayésien pour incertitude |
| Label Smoothing | 2016 | Mélange des labels vrais avec uniforme — réduit overconfidence |
| Gradient Clipping | 2013 | Limite la norme du gradient — évite l’explosion |
| Weight Decay | 1986 | Terme dans la loss — régularisation classique |
| Stochastic Depth | 2016 | Dropout des couches entières — entraîne des réseaux plus profonds |
← Optimisation : Évolution des Optimiseurs • 10 • Reinforcement Learning →