Batch Normalization

Udostępnij𝕏infKopiuj link

Wprowadzenie

Batch Normalization (BatchNorm) to technika wprowadzona w 2015 roku przez Sergey Ioffe i Christiana Szegedy. Jest jedną z najważniejszych innowacji w historii głębokiego uczenia, która znacząco przyspiesza i stabilizuje trening sieci neuronowych.

Problem, który rozwiązuje

Podczas treningu głębokich sieci rozkład aktywacji w warstwach ciągle się zmienia (tzw. Internal Covariate Shift). To zmusza sieć do ciągłego dostosowywania się, co spowalnia trening i wymaga mniejszych learning rate’ów.

Jak działa Batch Normalization?

  • Dla każdej mini-partii (batch) oblicza średnią i odchylenie standardowe
  • Normalizuje dane do rozkładu o średniej 0 i wariancji 1
  • Dodaje skalowanie (γ) i przesunięcie (β) – parametry uczone przez sieć

Zalety Batch Normalization

  • Znacznie szybszy trening sieci (nawet 10–14×)
  • Pozwala na większe wartości learning rate
  • Działa jak regularizacja (zmniejsza potrzebę Dropout)
  • Zmniejsza wrażliwość na inicjalizację wag
  • Umożliwia trenowanie bardzo głębokich sieci

Wady i warianty

  • Zależność od rozmiaru batcha (słabo działa przy małych batchach)
  • Problemy w rekurencyjnych sieciach i GAN-ach
  • Warianty: Layer Normalization, Instance Normalization, Group Normalization

Aktualny status (2026)

Batch Normalization nadal jest bardzo popularna, choć w najnowszych architekturach (np. Transformer, Diffusion Models) często zastępowana jest przez Layer Normalization lub RMSNorm. Mimo to pozostaje standardem w sieciach konwolucyjnych (CNN) i wielu modelach tabularnych.

Powiązane pojęcia