Zubnet AIApprendreWiki › Weight Initialization
Training

Weight Initialization

Xavier Init, Kaiming Init, He Init
Comment les poids de réseaux de neurones sont réglés avant que l'entraînement commence. Une mauvaise initialisation peut faire échouer l'entraînement avant qu'il commence (activations qui disparaissent ou explosent). Une bonne initialisation assure que les activations et les gradients maintiennent des magnitudes raisonnables à travers les couches. L'initialisation Xavier (pour tanh/sigmoid) et Kaiming/He (pour ReLU) sont les standards, chacune calibrée pour la fonction d'activation.

Pourquoi c'est important

L'initialisation semble un détail mineur mais c'est critique pour entraîner des réseaux profonds. Un réseau avec des poids initiaux aléatoires (trop gros) produit des activations qui explosent. Un avec des poids trop petits produit des activations qui disparaissent. Une bonne initialisation met le réseau dans une « zone Boucle d'Or » où les signaux circulent sans exploser ni disparaître — un prérequis pour que le gradient descent marche tout court.

Deep Dive

The core principle: initialize weights so that the variance of activations is approximately constant across layers. If each layer amplifies the signal (variance grows), activations explode. If each layer diminishes it (variance shrinks), activations vanish. Xavier initialization sets weights to variance 2/(fan_in + fan_out). Kaiming initialization sets variance 2/fan_in, accounting for the fact that ReLU zeros out half the values.

In Transformers

Modern Transformers often use a scaled initialization: output projection weights in attention and FFN layers are initialized with standard deviation scaled by 1/√(2×num_layers). This prevents the residual stream from growing too large as contributions from many layers accumulate. GPT-2 and many subsequent models use this "scaled init" approach. Some architectures (like muP/maximal update parameterization) take this further with mathematically derived scaling rules.

Pre-Trained Weights

For most practical purposes, initialization from scratch is rare — you start from pre-trained weights and fine-tune. But initialization still matters for the new components: LoRA adapters, new classification heads, or extended vocabulary embeddings. Zero initialization for LoRA's B matrix (so the adapter starts as identity) and proper initialization for new token embeddings (typically copying the mean of existing embeddings) are common patterns that prevent the new components from disrupting the pre-trained model at the start of fine-tuning.

Concepts liés

← Tous les termes
ESC