Backpropagation

Wprowadzenie

Backpropagation (propagacja wsteczna błędu) to algorytm umożliwiający efektywne trenowanie wielowarstwowych sieci neuronowych. Pozwala obliczać gradient funkcji straty względem wszystkich parametrów modelu i aktualizować wagi za pomocą Gradient Descent. Jest to jeden z najważniejszych algorytmów w historii głębokiego uczenia.

Historia

Koncepcja pojawiła się już w latach 70., ale przełomową pracą była publikacja Rumelhart, Hinton i Williams w 1986 roku. To właśnie ona umożliwiła praktyczne trenowanie wielowarstwowych sieci, co wcześniej było uważane za niemożliwe ze względu na problem vanishing gradient.

Jak działa Backpropagation?

Algorytm składa się z dwóch etapów:

  • Forward Pass – dane przechodzą przez sieć od wejścia do wyjścia, obliczana jest strata (loss).
  • Backward Pass – używając reguły łańcuchowej (chain rule) gradient błędu jest propagowany wstecz przez wszystkie warstwy, obliczając pochodne cząstkowe względem każdej wagi.

Matematyczna zasada

Dla każdej wagi obliczamy:

∂L/∂w = (∂L/∂a) · (∂a/∂z) · (∂z/∂w)

Dzięki chain rule gradient jest mnożony warstwa po warstwie od wyjścia do wejścia.

Zalety Backpropagation

  • Efektywne obliczeniowo (tylko jedno przejście w przód i wstecz)
  • Możliwość trenowania bardzo głębokich sieci
  • Łatwość implementacji w frameworkach (PyTorch, TensorFlow)
  • Podstawa wszystkich nowoczesnych optymalizatorów (Adam, RMSprop itp.)

Ograniczenia i problemy

  • Vanishing Gradient – gradient zanika w głębokich sieciach (rozwiązane przez ReLU, ResNet, LayerNorm)
  • Exploding Gradient – gradient eksploduje (rozwiązane przez gradient clipping)
  • Wymaga różniczkowalnej funkcji straty i aktywacji

Aktualny status (2026)

Backpropagation w swojej podstawowej formie nadal jest sercem treningu wszystkich sieci neuronowych – od małych modeli po największe LLM. Nowoczesne frameworki automatycznie obliczają gradienty (autograd), a zaawansowane techniki (mixed precision, distributed training, ZeRO) pozwalają skalować algorytm na miliardy parametrów. Mimo pojawienia się alternatyw (np. Direct Feedback Alignment), backpropagation pozostaje dominującą metodą uczenia głębokich modeli.

To właśnie backpropagation umożliwił rewolucję deep learningu, która trwa do dziś.