Algorytm propagacji wstecznej
Koncepcje uczenia i optymalizacji
Algorytm propagacji wstecznej to bezpłatna lekcja Python Academy 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 Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy 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 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. Do popularnych funkcji straty należą:
- Błąd średniokwadratowy (MSE): Do zadań regresji.
- Strata entropii krzyżowej: Do zadań klasyfikacji.
Metoda spadku gradientu
Metoda spadku gradientu
Metoda spadku 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ą:
Za pomocą przejść w przód i wstecz dostosowujemy wagi, aby minimalizować 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ą
Do typowych problemów należą:
- Zanikające gradienty: Gradienty stają się zbyt małe, co spowalnia uczenie.
- Eksplodujące gradienty: Gradienty stają się zbyt duże, powodując niestabilność.
- Minima lokalne: Algorytm może utknąć w rozwiązaniach nieoptymalnych.
Udoskonalenia propagacji wstecznej
Udoskonalenia propagacji wstecznej
Aby sprostać tym wyzwaniom, stosuje się między innymi nowoczesne techniki:
- Funkcje aktywacji: ReLU pomaga ograniczyć zanikające gradienty.
- 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 gradientu i regułę łańcuchową.
- Omówiliśmy wyzwania oraz nowoczesne udoskonalenia 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 Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 5 lekcji w sumie.
Co nauczysz się w „Algorytm propagacji wstecznej”?
Koncepcje uczenia i optymalizacji Ćwiczysz Python Academy 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ąć Python Academy?
Nie wymagamy żadnego doświadczenia. Python Academy 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 Python Academy?
Tak. Każda lekcja Python Academy 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 z TensorFlow