Backpropagation

Udostępnij𝕏infKopiuj link

Wprowadzenie

Backpropagation (wsteczna propagacja błędu) to podstawowy algorytm używany do trenowania sztucznych sieci neuronowych. Pozwala efektywnie obliczać gradienty funkcji straty względem wag sieci, dzięki czemu możemy je aktualizować metodą gradient descent.

Jak działa Backpropagation?

Algorytm składa się z dwóch faz:

  • Forward Pass – dane przechodzą przez sieć od wejścia do wyjścia i obliczana jest funkcja straty
  • Backward Pass – błąd jest propagowany wstecz od wyjścia do wejścia, obliczając gradient dla każdej wagi

Matematyczna podstawa

Backpropagation opiera się na regule łańcuchowej (chain rule) z rachunku różniczkowego. Dzięki temu możemy efektywnie obliczać pochodne cząstkowe dla bardzo głębokich sieci.

Zalety

  • Bardzo efektywny obliczeniowo (dynamic programming)
  • Możliwość trenowania głębokich sieci (deep learning)
  • Podstawa dla wszystkich nowoczesnych frameworków (PyTorch, TensorFlow)

Wady i ograniczenia

  • Problem zanikającego gradientu (Vanishing Gradient)
  • Problem eksplodującego gradientu (Exploding Gradient)
  • Duże zużycie pamięci przy bardzo głębokich sieciach

Historia i znaczenie

Pomysł backpropagation pojawił się już w latach 70., ale popularność zdobył dzięki pracy Rumelhart, Hinton i Williams w 1986 roku. Dziś jest fundamentem całego uczenia głębokiego i leży u podstaw sukcesu modeli takich jak GPT, Stable Diffusion czy AlphaFold.

Aktualny status (2026)

Mimo pojawienia się wielu nowszych technik (Transformer, Diffusion Models, Mamba), backpropagation pozostaje podstawową metodą trenowania sieci neuronowych. Aktualne badania skupiają się na jego ulepszeniach (np. second-order optimization, memory-efficient backprop, distributed training).

Powiązane pojęcia