Momentum
Chcesz nauczyć prosty model przewidywać czas dostawy. W naszym małym przykładzie właściwy wynik to 10 minut, a model zaczyna od 6. Po każdej poprawce sprawdza, w którą stronę dalej zmienić przewidywanie. Jeśli pamięta tylko ostatnią wskazówkę, nie wykorzystuje tego, że kilka wcześniejszych prowadziło w tę samą stronę.
Momentum dodaje do kolejnych poprawek modelu pamięć wcześniejszych wskazówek. Zachowuje część poprzedniego śladu i łączy ją z nowym gradientem — informacją, jak mała zmiana ustawienia wpływa na błąd. Zgodne wskazówki mogą się wzmacniać; wpływ dawnych stopniowo słabnie. Podstawowy wariant, classical momentum, opisują Sutskever i współautorzy, §2, równania 1–2.

Dwie poprawki tej samej prognozy
Żeby policzyć przykład, oceniamy błąd jako połowę kwadratu różnicy między prognozą a 10. To własna, uproszczona funkcja straty: liczba, którą chcemy zmniejszać. Jej gradient wynosi prognoza − 10. Ujemny podpowiada zwiększenie prognozy, dodatni — zmniejszenie. Wielkość reakcji ustalamy współczynnikiem uczenia (learning rate) 0,2.
Bez pamięci pierwszy krok daje 6 − 0,2 × (−4) = 6,8. Drugi używa tylko nowego gradientu −3,2: wynik to 7,44.
Z Momentum również zaczynamy od 6,8, lecz przy drugiej poprawce zachowujemy 80% poprzedniego śladu. Nowy ślad to 0,8 × (−4) + (−3,2) = −6,4, więc prognoza rośnie do 8,08. Ta sama bieżąca wskazówka daje większą poprawkę dzięki historii. Nie oznacza to zapamiętywania wszystkich dostaw.
Oto stosowana reguła, zgodna z podstawowym wariantem w dokumentacji PyTorch 2.11 SGD, uwaga o Momentum:
w to prognoza, g — bieżący gradient, b — zapamiętany ślad, t — numer kroku. μ określa zachowaną część śladu, a η wielkość reakcji. Zaczynamy z b=0. Przy μ=0 zostaje zwykła poprawka bez pamięci. Używamy stałego η=0,2, bez dodatkowych korekt algorytmu.
Dlaczego pamięć wymaga ostrożności?
W tym przykładzie Momentum szybciej zbliża prognozę do 10, ale w czwartym kroku przekracza cel: 10,7168. Następny gradient podpowiada już zmniejszenie prognozy, lecz wcześniejszy ślad nadal ją zwiększa — do 11,55648. Strata rośnie z około 0,257 do 1,211. Pamięć może więc pomagać, a później opóźniać zmianę kierunku; nie gwarantuje poprawy po każdym kroku.
Przejdź kolejne kroki poniżej. Przy kroku 5 porównaj wskazówkę z faktycznym ruchem. Potem ustaw pamięć na zero: czy obie drogi się pokryją? Zmiana suwaka przelicza całą drogę od tego samego startu.
Model językowy ma wiele wag — liczb sterujących jego obliczeniami — i trudniejszą funkcję straty. Momentum może uzupełniać Stochastic Gradient Descent, który wylicza wskazówki z części danych. Zachowany ślad należy do Optimizer State, czyli pamięci algorytmu aktualizacji. Adam także wykorzystuje historię kierunku, ale dodatkowo dostosowuje skalę reakcji osobno dla wag; jego reguła różni się od pokazanego Momentum.
Wykorzystuję treści generowane przez AI jako część mojego codziennego procesu nauki.