Deep Learning Academy · Lekcja

SGD z momentum

Wygładzać aktualizacje, aby przechodzić przez szum

Lekcja 1 z 413 kroki

SGD z momentum to bezpłatna lekcja Deep Learning Academy na CoddyKit. To lekcja 1 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.

Zwykły SGD zapomina

Wersja vanilla SGD wykonuje kroki, korzystając wyłącznie z bieżącego gradientu. Każda aktualizacja zaczyna się od zera, więc zaszumione nachylenie powoduje chwiejny i powolny ruch w stronę minimum.

Dodaj odrobinę bezwładności

Momentum zapewnia SGD pamięć. Przechowuje bieżącą średnią wcześniejszych gradientów i porusza się w tym kierunku, jak kula nabierająca prędkości podczas staczania się ze zbocza.

Wektor prędkości

Momentum śledzi prędkość, która łączy poprzednią prędkość z nowym gradientem. Wagi są następnie aktualizowane w każdym kroku zgodnie z tą wygładzoną prędkością.

v = beta * v + grad
w = w - lr * v

Pokrętło beta

Współczynnik momentum beta określa, jak duże znaczenie mają wcześniejsze kroki. Typowa wartość to 0.9, co oznacza, że większość prędkości zostaje zachowana.

Wygładza szum

Ponieważ momentum uśrednia wiele gradientów, losowy szum w pojedynczej partii w dużej mierze się znosi. Droga do minimum staje się płynniejsza i bardziej stabilna.

Przejeżdża przez małe nierówności

Zgromadzona prędkość pozwala optymalizatorowi przejść przez małe zagłębienia i płaskie obszary, które mogłyby zatrzymać zwykły SGD. Kula nie zatrzymuje się na każdym kamyku.

Włącz momentum w PyTorch

Nie trzeba implementować tego ręcznie. Wystarczy przekazać momentum do wbudowanego optymalizatora SGD, a PyTorch będzie śledzić prędkość.

opt = torch.optim.SGD(model.parameters(), lr=0.01, momentum=0.9)

Nesterov patrzy w przyszłość

Bardziej zaawansowany wariant, momentum Nesterova, sprawdza, dokąd zmierza prędkość, zanim zmierzy gradient. Często zbiega odrobinę szybciej.

opt = torch.optim.SGD(model.parameters(), lr=0.01, momentum=0.9, nesterov=True)

Uważaj na przekroczenie minimum

Zbyt duża prędkość może przenieść model poza dno doliny. Jeśli strata oscyluje lub rozbiega się, proszę zmniejszyć learning rate albo nieco ograniczyć momentum.

Dlaczego nadal ma znaczenie

Nawet przy dostępności zaawansowanych optymalizatorów SGD z momentum pozostaje solidnym punktem odniesienia i często bardzo dobrze generalizuje w modelach wizyjnych.

Szybsze opadanie

Korzyść jest realna: momentum zwykle osiąga dobre minimum w mniejszej liczbie epok niż zwykły SGD, a po drodze wykonuje mniej zygzaków.

Szybkie sprawdzenie

Proszę upewnić się, że rola momentum jest jasna.

Podsumowanie

Momentum zapewnia SGD prędkość łączącą wcześniejsze gradienty, wygładza szum i pozwala przejeżdżać przez małe nierówności. Warto ustawić momentum w pobliżu 0.9, aby uzyskać szybsze i stabilniejsze opadanie. 🏂

Bezpłatny start

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 „SGD z momentum” jest bezpłatna?

Tak — pełny tekst „SGD z momentum” 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 „SGD z momentum”?

Wygładzać aktualizacje, aby przechodzić przez szum Ć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 1 z 4.

Ile czasu zajmuje lekcja „SGD z momentum”?

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

  1. SGD z momentum
  2. Adam i AdamW wyjaśnione
  3. Weight decay a regularyzacja L2
  4. Harmonogramy learning rate i warmup
← Powrót do Deep Learning Academy