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.