Algorytm propagacji wstecznej
Koncepcje uczenia i optymalizacji.
Algorytm propagacji wstecznej to bezpłatna lekcja Learn AI with Python na CoddyKit. To lekcja 4 z 5. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Learn AI with Python, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn AI with Python zawiera 5 lekcji w sumie.
Czym jest propagacja wsteczna?
Algorytm propagacji wstecznej
Propagacja wsteczna to kluczowy algorytm używany do trenowania sieci neuronowych. Oblicza gradient funkcji straty względem każdej wagi, propagując błędy wstecz przez sieć.

Najważniejsze etapy propagacji wstecznej
Najważniejsze etapy propagacji wstecznej
Proces propagacji wstecznej obejmuje:
- Przejście w przód: Obliczenie wyniku i funkcji straty.
- Przejście wstecz: Obliczenie gradientu funkcji straty względem wag i obciążeń.
- Aktualizacja wag: Dostosowanie wag za pomocą algorytmu optymalizacji, takiego jak spadek gradientu.
Funkcja straty
Funkcja straty
Funkcja straty określa różnicę między wartościami przewidywanymi a rzeczywistymi. Typowe funkcje straty to:
- Średni błąd kwadratowy (MSE): Do zadań regresji.
- Strata entropii krzyżowej: Do zadań klasyfikacyjnych.
Spadek gradientu
Spadek gradientu
Spadek gradientu to algorytm optymalizacji używany do minimalizowania funkcji straty. Aktualizuje wagi i obciążenia, wykonując małe kroki w kierunku przeciwnym do gradientu.
Reguła aktualizacji:
Weight = Weight - Learning_Rate * Gradient
Reguła łańcuchowa w propagacji wstecznej
Reguła łańcuchowa w propagacji wstecznej
Reguła łańcuchowa służy do obliczania gradientu funkcji straty dla każdej warstwy. Umożliwia propagowanie błędu wstecz przez sieć.
Na przykład gradient funkcji straty względem wagi wynosi:
∂L/∂W = ∂L/∂O * ∂O/∂Z * ∂Z/∂W
Przykład propagacji wstecznej
Przykład propagacji wstecznej
Rozważmy prostą sieć neuronową z jedną warstwą wejściową, jedną warstwą ukrytą i jedną warstwą wyjściową:
Korzystając z przebiegów w przód i wstecz, dostosowujemy wagi, aby zminimalizować błąd w wielu epokach.
import numpy as np
# Example: Simple backpropagation setup
weights = np.array([0.5, -0.5])
inputs = np.array([2, 3])
target = 1
learning_rate = 0.01
# Forward pass
output = np.dot(inputs, weights)
loss = (target - output) ** 2
# Backward pass
error = 2 * (output - target)
gradients = error * inputs
# Weight update
weights -= learning_rate * gradients
print("Updated Weights:", weights)Wyzwania związane z propagacją wsteczną
Wyzwania związane z propagacją wsteczną
Typowe problemy to:
- Zanikanie gradientów: Gradienty stają się zbyt małe, co spowalnia uczenie.
- Eksplozja gradientów: Gradienty stają się zbyt duże, powodując niestabilność.
- Minima lokalne: Algorytm może utknąć w rozwiązaniach nieoptymalnych.
Ulepszenia propagacji wstecznej
Ulepszenia propagacji wstecznej
Aby sprostać tym wyzwaniom, stosuje się między innymi następujące nowoczesne techniki:
- Funkcje aktywacji: ReLU pomaga ograniczyć problem zanikających gradientów.
- Optymalizatory: Algorytmy takie jak Adam i RMSProp poprawiają zbieżność.
- Regularyzacja: Zapobiega przeuczeniu, nakładając karę za duże wagi.
Podsumowanie i kolejne kroki
Podsumowanie i kolejne kroki
W tej lekcji:
- Przeanalizowaliśmy algorytm propagacji wstecznej i jego rolę w trenowaniu sieci neuronowych.
- Poznaliśmy metodę spadku gradientowego i regułę łańcuchową.
- Omówiliśmy wyzwania oraz nowoczesne usprawnienia propagacji wstecznej.
Następnie zaimplementujemy pierwszą sieć neuronową za pomocą TensorFlow, aby zobaczyć propagację wsteczną w działaniu.

Często zadawane pytania
Czy lekcja „Algorytm propagacji wstecznej” jest bezpłatna?
Tak — pełny tekst „Algorytm propagacji wstecznej” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Learn AI with Python, przejdź na CoddyKit PRO. Kurs Learn AI with Python zawiera 5 lekcji w sumie.
Co nauczysz się w „Algorytm propagacji wstecznej”?
Koncepcje uczenia i optymalizacji. Ćwiczysz Learn AI with Python z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Learn AI with Python?
Nie wymagamy żadnego doświadczenia. Learn AI with Python w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 5.
Ile czasu zajmuje lekcja „Algorytm propagacji wstecznej”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Learn AI with Python?
Tak. Każda lekcja Learn AI with Python zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Wprowadzenie do sieci neuronowych
- Funkcje aktywacji
- Sieci neuronowe jednokierunkowe
- Algorytm propagacji wstecznej
- Pierwsza sieć neuronowa w TensorFlow