Layer Normalization : Définition et Exemples
La Layer Normalization est une technique de normalisation qui standardise les activations d'un réseau de neurones en calculant la moyenne et la variance sur l'ensemble des neurones d'une même couche, indépendamment des autres exemples du batch.
Définition complète
La Layer Normalization (ou normalisation par couche) est une méthode introduite par Jimmy Lei Ba, Jamie Ryan Kiros et Geoffrey Hinton en 2016. Contrairement à la Batch Normalization qui calcule ses statistiques sur l'ensemble du batch pour chaque neurone, la Layer Normalization opère sur l'ensemble des neurones d'une même couche pour chaque exemple individuel. Cette distinction fondamentale la rend indépendante de la taille du batch.
Concrètement, pour chaque entrée, la technique calcule la moyenne et l'écart-type de toutes les activations au sein d'une couche donnée, puis normalise ces valeurs pour obtenir une distribution centrée et réduite. Deux paramètres apprenables — un facteur d'échelle (gamma) et un décalage (beta) — sont ensuite appliqués pour permettre au réseau de retrouver la représentation optimale si nécessaire.
La Layer Normalization est devenue un composant essentiel de l'architecture Transformer, utilisée dans chaque bloc d'attention et chaque sous-couche feed-forward. Elle stabilise l'entraînement en réduisant le problème de décalage interne des covariables (internal covariate shift) et accélère la convergence du modèle. Sans elle, l'entraînement de grands modèles de langage comme GPT ou BERT serait considérablement plus instable.
Dans les architectures modernes, on distingue deux variantes principales : la Post-Layer Normalization (appliquée après la sous-couche, comme dans le Transformer original) et la Pre-Layer Normalization (appliquée avant la sous-couche, adoptée par GPT-2 et les modèles suivants). La variante Pre-LN améliore la stabilité de l'entraînement et permet de se passer du warm-up du learning rate dans de nombreux cas.
Étymologie
Le terme combine « layer » (couche), désignant une couche du réseau de neurones, et « normalization » (normalisation), le processus statistique de standardisation des valeurs. Le nom souligne explicitement la dimension sur laquelle la normalisation opère — la couche — par opposition à la Batch Normalization qui opère sur la dimension du batch.
Exemples concrets
Comprendre le rôle de la Layer Normalization dans un Transformer
Explique étape par étape comment la Layer Normalization intervient dans un bloc Transformer lors du traitement d'une phrase. Montre les calculs sur un vecteur d'exemple à 4 dimensions.
Comparer les techniques de normalisation pour choisir la bonne
Compare Layer Normalization, Batch Normalization et RMSNorm en termes de performance, stabilité d'entraînement et cas d'usage. Présente les résultats sous forme de tableau.
Déboguer un problème d'entraînement lié à la normalisation
Mon modèle Transformer diverge après quelques milliers de steps. J'utilise Post-Layer Normalization. Quels changements architecturaux liés à la normalisation pourraient stabiliser l'entraînement ?
Usage pratique
En prompt engineering, comprendre la Layer Normalization aide à diagnostiquer les comportements inattendus des modèles et à formuler des requêtes techniques précises sur l'architecture des LLM. Lorsque vous discutez de fine-tuning ou d'architecture avec un modèle, mentionner explicitement le type de normalisation utilisé (Pre-LN vs Post-LN) permet d'obtenir des réponses plus ciblées. C'est aussi un concept clé à maîtriser pour interpréter les papiers de recherche et implémenter des architectures personnalisées.
Concepts liés
FAQ
Quelle est la différence entre Layer Normalization et Batch Normalization ?
Pourquoi la Layer Normalization est-elle préférée dans les Transformers ?
Qu'est-ce que RMSNorm et en quoi diffère-t-il de la Layer Normalization ?
Voir aussi
Recevez de nouveaux prompts chaque semaine
Rejoignez notre newsletter.