Strona główna Uczenie Maszynowe Spadek gradientu — trójwymiarowa powierzchnia straty i optymalizatory

📉 Spadek gradientu — trójwymiarowa powierzchnia straty i optymalizatory

Przemierzaj trójwymiarowy krajobraz straty (Rosenbrock, Rastrigin, Himmelblau) za pomocą SGD, Momentum, RMSprop i Adam. Obserwuj trajektorie i porównaj szybkość zbieżności.

Uczenie Maszynowe3DŚredni60 FPS
gradient-descent-3d ↗ Otwórz osobno
Interfejs samej symulacji jest w języku angielskim.

O tej symulacji

Ta symulacja umieszcza cztery optymalizatory — SGD, Momentum, RMSprop i Adam — na tej samej trójwymiarowej powierzchni straty i pozwala obserwować ich wyścig w kierunku minimum. Wybierz spośród czterech klasycznych funkcji testowych optymalizacji (Rosenbrock, Rastrigin, Himmelblau, Beale), z których każda ma własną znaną pułapkę dla metod gradientowych, od wąskich zakrzywionych dolin po pola minimów lokalnych. Każdy optymalizator startuje z tego samego punktu i stosuje regułę aktualizacji dokładnie taką, jak w prawdziwych wzorach używanych do trenowania sieci neuronowych, więc kolorowe ślady, które widzisz, to autentyczne zachowanie algorytmu, a nie scenariuszowa animacja. Gradienty są obliczane numerycznie metodą centralnej różnicy skończonej, a nie symbolicznie — dokładnie tak, jak w implementacji pisanej od podstaw.

🔬 Co pokazuje

Żywą trójwymiarową siatkę wybranej funkcji straty (Rosenbrock, Rastrigin, Himmelblau lub Beale), kolorowaną według wysokości, z czterema kulami — po jednej na optymalizator — schodzącymi po niej równolegle. Każda kula pozostawia kolorowy ślad (czerwony SGD, turkusowy Momentum, żółty RMSprop, zielony Adam), dzięki czemu można porównać ścieżki, szybkość oraz to, czy optymalizator utyka w minimum lokalnym lub oscyluje w poprzek doliny.

🎮 Jak korzystać

Wybierz powierzchnię straty z listy rozwijanej, a następnie dostrój Learning Rate (skala logarytmiczna), Momentum β₁, Adam β₂ i Steps/frame. Włącz lub wyłącz dowolny z czterech optymalizatorów, aby wyizolować jego zachowanie, przeciągnij, by obracać scenę 3D, przewiń, by przybliżyć, oraz użyj Pause/Reset, by zatrzymać przebieg lub zrestartować każdy optymalizator z jego wspólnego punktu startowego.

💡 Czy wiesz, że?

Adam (Adaptive Moment Estimation) został wprowadzony przez Kingmę i Ba w 2014 roku i łączy idee stojące za Momentum i RMSprop: śledzi ruchomą średnią zarówno gradientu, jak i jego kwadratu, a następnie koryguje je pod kątem obciążenia, tak aby wczesne kroki nie były przesunięte w stronę zera. Ta kombinacja sprawia, że Adam jest domyślnym optymalizatorem w większości dzisiejszego głębokiego uczenia.

Najczęściej zadawane pytania

Czym jest spadek gradientu?

Spadek gradientu to iteracyjny algorytm optymalizacji, który minimalizuje funkcję straty, wielokrotnie przesuwając parametry w kierunku ujemnego gradientu. Jest podstawą trenowania sieci neuronowych i większości modeli uczenia maszynowego.

Jak współczynnik uczenia wpływa na zbieżność?

Współczynnik uczenia kontroluje wielkość kroku podejmowanego w kierunku ujemnego gradientu. Zbyt duży współczynnik powoduje, że optymalizator przeskakuje minima i rozbiega się; zbyt mały sprawia, że trening jest bardzo wolny. Metody adaptacyjne, takie jak Adam, automatycznie dostosowują efektywne współczynniki uczenia dla każdego parametru.

Jaka jest różnica między SGD a Adam?

SGD (stochastyczny spadek gradientu) aktualizuje parametry, odejmując stały ułamek gradientu. Adam (Adaptive Moment Estimation) utrzymuje wykładnicze średnie ruchome zarówno gradientów, jak i ich kwadratów, nadając każdemu parametrowi własny adaptacyjny współczynnik uczenia z korekcją obciążenia, co zwykle zbiega znacznie szybciej na złożonych powierzchniach.

Czym jest funkcja Rosenbrocka i dlaczego to trudny test?

Funkcja Rosenbrocka f(x,y) = (1−x)² + 100(y−x²)² ma globalne minimum w punkcie (1,1) wewnątrz wąskiej, zakrzywionej doliny. Gradient wzdłuż dna doliny jest znikomy w porównaniu z gradientem w poprzek niej, więc zwykły SGD ma tendencję do powolnego zygzakowania wzdłuż ścian doliny, podczas gdy Momentum i Adam przyspieszają przez nią znacznie szybciej.

Dlaczego Momentum czasami wyprzedza Adam, a czasami nie?

Momentum akumuluje wektor prędkości, więc stale przyspiesza w kierunkach, gdzie gradient konsekwentnie wskazuje tę samą stronę, co sprawdza się w gładkich dolinach, takich jak dolina Rosenbrocka. Adam dodatkowo normalizuje krok każdego parametru za pomocą bieżącego oszacowania jego kwadratu gradientu, co pomaga bardziej na krajobrazach o bardzo różnej krzywiźnie w różnych kierunkach, takich jak liczne małe wzniesienia funkcji Rastrigina.

Podobne symulacje