Ręczna propagacja wsteczna w małej sieci
Obliczać gradienty na papierze i potwierdzać je w kodzie
Ręczna propagacja wsteczna w małej sieci to bezpłatna lekcja Deep Learning Academy na CoddyKit. To lekcja 3 z 4. 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 Deep Learning Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Deep Learning Academy zawiera 4 lekcji w sumie.
Nasza mała sieć
Prześledźmy ręcznie najmniejszą sieć: jedno wejście x, jedna waga w i brak obciążenia. Wynik to po prostu y = w razy x. Jest na tyle mała, że można ją policzyć na papierze.
y = w * xDodaj prostą funkcję straty
Porównujemy wynik z wartością docelową t za pomocą błędu kwadratowego. Ta funkcja straty karze za duże odchylenie od celu i łatwo obliczyć jej pochodną ręcznie.
loss = (y - t) ** 2Przejście w przód z liczbami
Podstaw x = 2, w = 3, t = 10. Przejście w przód daje y = 6 oraz loss = (6 - 10) squared = 16. Teraz przejdziemy wstecz, aby znaleźć dloss/dw.
Krok pierwszy: od straty do wyniku
Pierwsze ogniwo: jak strata zmienia się względem y? Pochodna (y - t) squared to 2(y - t), co tutaj daje 2 razy (6 - 10) = -8.
dloss_dy = 2 * (y - t)Krok drugi: od wyniku do wagi
Drugie ogniwo: jak y zmienia się względem w? Ponieważ y = w razy x, dy/dw to po prostu x, czyli w naszym przykładzie 2.
dy_dw = xPołącz oba ogniwa
Reguła łańcuchowa mnoży ogniwa: dloss/dw = dloss/dy razy dy/dw = -8 razy 2 = -16. Ta pojedyncza liczba jest naszym gradientem.
dloss_dw = dloss_dy * dy_dwOdczytaj znak gradientu
Ujemny gradient oznacza, że zwiększenie w obniżyłoby stratę. Należy więc nieznacznie zwiększyć w, aby następnym razem uzyskać lepszy wynik.
Wykonaj jeden krok aktualizacji
Przy współczynniku uczenia 0.1 aktualizacja wygląda tak: w = w - 0.1 razy (-16) = 3 + 1.6 = 4.6. Waga przesunęła się w kierunku lepszej wartości.
w = w - lr * dloss_dwPotwierdź poprawę
Powtórz przejście w przód dla w = 4.6: y = 9.2, a loss = (9.2 - 10) squared = 0.64. To znacznie mniej niż 16, więc krok rzeczywiście pomógł.
Sprawdź to w PyTorch
PyTorch automatycznie oblicza ten sam gradient. Ustaw requires_grad dla w, wykonaj przejście w przód, wywołaj backward i odczytaj w.grad, aby zobaczyć -16.
w = torch.tensor(3.0, requires_grad=True)
loss = (w * 2 - 10) ** 2
loss.backward()
print(w.grad)Te same kroki, większe sieci
Sieć z milionem wag robi dokładnie to samo, tylko z większą liczbą połączonych ogniw. Matematyka wykonana ręcznie skaluje się bezpośrednio.
Szybkie sprawdzenie
Sprawdźmy wykonane przez Ciebie obliczenia.
Podsumowanie
Prześledzili Państwo małą sieć: przejście w przód dla wartości, następnie przejście wstecz z mnożeniem lokalnych pochodnych w celu uzyskania gradientu, a na końcu krok obniżający stratę. ✏️
Ucz się Python dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 30
- Lekcje
- 120
Często zadawane pytania
Czy lekcja „Ręczna propagacja wsteczna w małej sieci” jest bezpłatna?
Tak — pełny tekst „Ręczna propagacja wsteczna w małej sieci” 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 Deep Learning Academy, przejdź na CoddyKit PRO. Kurs Deep Learning Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Ręczna propagacja wsteczna w małej sieci”?
Obliczać gradienty na papierze i potwierdzać je w kodzie Ćwiczysz Deep Learning 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ąć Deep Learning Academy?
Nie wymagamy żadnego doświadczenia. Deep Learning 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 3 z 4.
Ile czasu zajmuje lekcja „Ręczna propagacja wsteczna w małej sieci”?
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 Deep Learning Academy?
Tak. Każda lekcja Deep Learning 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
- Reguła łańcuchowa, warstwa po warstwie
- Przejście w przód zapisuje dane, wsteczne je wykorzystuje
- Ręczna propagacja wsteczna w małej sieci
- Zanikające i eksplodujące gradienty