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.

TechniqueAnnéeConcept
Dropout2012Désactive aléatoirement des neurones — réduit le co-adaptation
Batch Normalization2015Normalise les activations par batch — permet batch size + grand
Layer Normalization2016Normalise par feature (pas par batch) — standard Transformers
Instance Normalization2016Normalise par canal et par échantillon — style transfer
Group Normalization2018Compromis Batch/Layer — utile pour petits batchs
Dropout 2.0/Variational2018Dropout Bayésien pour incertitude
Label Smoothing2016Mélange des labels vrais avec uniforme — réduit overconfidence
Gradient Clipping2013Limite la norme du gradient — évite l’explosion
Weight Decay1986Terme dans la loss — régularisation classique
Stochastic Depth2016Dropout des couches entières — entraîne des réseaux plus profonds

← Optimisation : Évolution des Optimiseurs10Reinforcement Learning →