Vanishing Gradient

Wprowadzenie

Vanishing Gradient Problem (problem zanikającego gradientu) to zjawisko występujące podczas treningu głębokich sieci neuronowych, w którym gradienty stają się ekstremalnie małe podczas propagacji wstecznej (backpropagation). W efekcie wagi w początkowych warstwach praktycznie przestają się uczyć.

Przyczyna problemu

Główną przyczyną jest użycie funkcji aktywacji, których pochodne są mniejsze od 1 (np. sigmoid, tanh). Podczas propagacji wstecznej gradient jest mnożony przez te pochodne w każdej warstwie. W głębokiej sieci (np. 20+ warstw) iloczyn wielu liczb < 1 bardzo szybko zbliża się do zera.

Skutki Vanishing Gradient

  • Początkowe warstwy sieci uczą się bardzo wolno lub w ogóle
  • Model nie potrafi uchwycić złożonych cech na niskim poziomie
  • Trudności w treningu bardzo głębokich sieci
  • Słaba generalizacja i niska dokładność

Rozwiązania problemu

  • ReLU i jej warianty (Leaky ReLU, ELU, GELU) – pochodna = 1 dla wartości dodatnich
  • Batch Normalization – normalizacja aktywacji w każdej warstwie
  • Residual Connections (ResNet) – pomijanie warstw
  • LSTM / GRU – w przypadku sieci rekurencyjnych
  • Proper weight initialization (Xavier, He Initialization)
  • Gradient Clipping (głównie przy Exploding Gradient)

Vanishing vs Exploding Gradient

Przeciwieństwem vanishing gradient jest exploding gradient – sytuacja, w której gradienty stają się ekstremalnie duże, co prowadzi do niestabilnego treningu.

Aktualny status (2026)

Dzięki nowoczesnym architekturom (ResNet, Transformer, DenseNet, Highway Networks) oraz technikom takim jak Layer Normalization i lepszej inicjalizacji, problem vanishing gradient został w dużej mierze opanowany. Niemniej jednak nadal jest istotnym zagadnieniem przy projektowaniu bardzo głębokich sieci i pozostaje ważnym tematem w badaniach nad uczeniem głębokim.