Weight Initialization Methods

Wprowadzenie

Weight Initialization Methods to techniki określania początkowych wartości wag w sieciach neuronowych. Poprawna inicjalizacja wag ma ogromny wpływ na szybkość treningu, stabilność gradientów oraz ostateczną jakość modelu.

Dlaczego inicjalizacja jest ważna?

  • Źle zainicjowane wagi mogą powodować Vanishing Gradient lub Exploding Gradient
  • Wpływa na to, jak szybko model będzie się uczył
  • Ma znaczenie dla głębokich sieci (powyżej 10–20 warstw)
  • Różne funkcje aktywacji wymagają różnych strategii

Główne metody inicjalizacji

1. Xavier / Glorot Initialization (2010)

Najpopularniejsza metoda dla aktywacji sigmoidalnych i tanh. Wagi są losowane z rozkładu normalnego lub jednostajnego z wariancją:

Var(W) = 2 / (fan_in + fan_out)

Najlepiej działa z aktywacjami: Sigmoid, Tanh.

2. He / Kaiming Initialization (2015)

Stworzona specjalnie dla aktywacji ReLU i jej wariantów (Leaky ReLU, PReLU). Uwzględnia fakt, że ReLU zeruje połowę aktywacji.

Var(W) = 2 / fan_in

Najczęściej używana w nowoczesnych sieciach konwolucyjnych i Transformerach z ReLU/GELU.

3. LeCun Initialization

Zalecana dla aktywacji SELU i w sieciach Fully Connected. Wariancja:

Var(W) = 1 / fan_in

Porównanie metod

  • Xavier/Glorot → sigmoid / tanh
  • He/Kaiming → ReLU, Leaky ReLU, GELU (najpopularniejsza obecnie)
  • LeCun → SELU, sieci w pełni połączone
  • Orthogonal Initialization – dobra dla RNN i bardzo głębokich sieci

Najlepsze praktyki (2026)

  • W większości przypadków używaj He Initialization z ReLU/GELU
  • W Transformerach często łączy się He z LayerNorm
  • Zawsze sprawdzaj rozkład aktywacji po pierwszej warstwie (powinien być zbliżony do normalnego)
  • W PyTorch i TensorFlow metody te są dostępne domyślnie (kaiming_uniform, xavier_uniform itd.)

Powiązane pojęcia

Vanishing Gradient • Exploding Gradient • ReLU • Layer Normalization • Xavier Glorot • Kaiming He • Residual Connections • Training Stability