Batch Normalization

Wprowadzenie

Batch Normalization (BatchNorm) to technika normalizacji aktywacji w sieciach neuronowych, wprowadzona w 2015 roku przez zespół Google (Ioffe & Szegedy). Jedna z najważniejszych innowacji w deep learningu, która pozwoliła na trenowanie znacznie głębszych sieci i przyspieszyła cały proces uczenia.

Jak działa Batch Normalization?

Dla każdego mini-batcha w danej warstwie oblicza się średnią i wariancję aktywacji, a następnie normalizuje dane:

μ_B = (1/m) ∑ x_i
σ²_B = (1/m) ∑ (x_i − μ_B)²
x̂_i = (x_i − μ_B) / √(σ²_B + ε)
y_i = γ x̂_i + β

Parametry γ i β są uczone – pozwalają modelowi zdecydować, czy chce przywrócić poprzedni rozkład.

Zalety Batch Normalization

  • Znacznie przyspiesza trening (pozwala na wyższe learning rate)
  • Zmniejsza problem vanishing/exploding gradient
  • Działa jak regularizacja (efekt podobny do Dropout)
  • Zmniejsza wewnętrzną zmianę rozkładu aktywacji (Internal Covariate Shift)
  • Umożliwia trenowanie bardzo głębokich sieci

Ograniczenia

  • Zależność od rozmiaru batcha – przy małych batchach statystyki są niestabilne
  • Problemy w Recurrent Neural Networks i Transformerach (dlatego tam częściej LayerNorm)
  • Podczas inferencji wymaga zapamiętania średnich i wariancji z treningu
  • Nie działa dobrze w przypadku sekwencyjnych lub dynamicznych danych

BatchNorm vs inne normalizacje

  • Layer Normalization – normalizuje po cechach każdej próbki (popularna w Transformerach)
  • Instance Normalization – normalizuje po każdej próbce i kanale osobno
  • Group Normalization – kompromis między BatchNorm a LayerNorm

Aktualny status (2026)

Batch Normalization nadal jest szeroko stosowana, szczególnie w klasycznych architekturach CNN (ResNet, EfficientNet). W modelach Transformerów została w dużej mierze zastąpiona przez Layer Normalization lub RMSNorm. Nowoczesne warianty (BatchNorm z adaptacją, Ghost BatchNorm) rozwiązują problemy z małymi batchami. Mimo pojawienia się nowszych technik normalizacji, BatchNorm pozostaje jedną z kluczowych innowacji, które umożliwiły boom deep learningu w latach 2015–2020.