Wiem, że opadanie gradientu stochastycznego ma losowe zachowanie, ale nie wiem dlaczego.
Czy jest na to jakieś wyjaśnienie?
Wiem, że opadanie gradientu stochastycznego ma losowe zachowanie, ale nie wiem dlaczego.
Czy jest na to jakieś wyjaśnienie?
Odpowiedzi:
Algorytm gradientu stochastycznego (SG) zachowuje się jak algorytm symulowanego wyżarzania (SA), w którym szybkość uczenia się SG jest związana z temperaturą SA. Losowość lub hałas wprowadzony przez SG pozwala uciec od lokalnych minimów, aby osiągnąć lepsze minimum. Oczywiście zależy to od tego, jak szybko zmniejszysz tempo uczenia się. Przeczytaj rozdział 4.2 Stochastycznego uczenia gradientowego w sieciach neuronowych (pdf) , gdzie wyjaśniono to bardziej szczegółowo.
W stochastycznym spadku gradientu parametry są szacowane dla każdej obserwacji, w przeciwieństwie do całej próbki w regularnym spadku gradientu (opadanie gradientu serii). To daje dużo losowości. Ścieżka stochastycznego zejścia gradientu błąka się po większej liczbie miejsc i dlatego jest bardziej prawdopodobne, że „wyskoczy” z lokalnego minimum i znajdzie globalne minimum (Uwaga *). Jednak stochastyczne zejście gradientowe wciąż może utknąć w lokalnym minimum.
Uwaga: Często utrzymuje się stałą szybkość uczenia się, w tym przypadku opadanie gradientu stochastycznego nie jest zbieżne; po prostu błąka się po tym samym punkcie. Jeśli jednak szybkość uczenia się maleje z upływem czasu, powiedzmy, jest odwrotnie proporcjonalna do liczby iteracji, wówczas zejście gradientu stochastycznego zbiegnie się.
Jak już wspomniano w poprzednich odpowiedziach, stochastyczne opadanie gradientu ma znacznie głośniejszą powierzchnię błędu, ponieważ iteracyjnie oceniasz każdą próbkę. Podczas gdy robisz krok w kierunku globalnego minimum w zejściu gradientu wsadowego w każdej epoce (omiń zestaw treningowy), poszczególne kroki swojego stochastycznego gradientu zejścia gradientu nie zawsze muszą wskazywać w kierunku globalnego minimum, w zależności od ocenianej próbki.
Aby to zobrazować na dwuwymiarowym przykładzie, oto kilka rysunków i rysunków z lekcji uczenia maszynowego Andrew Ng.
Pierwsze zejście gradientu:
Po drugie, stochastyczne zejście gradientowe:
Czerwone kółko na dolnej cyfrze pokazuje, że opadanie gradientu stochastycznego „będzie się aktualizować” gdzieś w okolicy globalnego minimum, jeśli używasz stałej szybkości uczenia się.
Oto kilka praktycznych wskazówek dotyczących stochastycznego spadku gradientu:
1) potasuj zestaw treningowy przed każdą epoką (lub iteracją w wariancie „standardowym”)
2) użyj adaptacyjnego wskaźnika uczenia się, aby „wygrzać” bliżej globalnego minimum
for