Czy zejście gradientu ma kluczowe znaczenie dla każdego optymalizatora?


Odpowiedzi:


28

Nie. Zejście gradientu jest wykorzystywane w algorytmach optymalizacyjnych, które wykorzystują gradient jako podstawę jego ruchu krokowego. Adam, Adagradi RMSPropwszystkie używają jakiejś formy spadku gradientu, jednak nie składają się one na każdy optymalizator. Algorytmy ewolucyjne, takie jak optymalizacja roju cząstek i algorytmy genetyczne inspirowane zjawiskami naturalnymi, nie wykorzystują gradientów. Inne algorytmy, takie jak optymalizacja bayesowska , czerpią inspirację ze statystyk.

Sprawdź tę wizualizację optymalizacji bayesowskiej w akcji: Optymalizacja bayesowska w akcji

Istnieje również kilka algorytmów łączących koncepcje z optymalizacji ewolucyjnej i opartej na gradientach.

Nieopochodne algorytmy optymalizacji mogą być szczególnie przydatne w nieregularnych, niewypukłych funkcjach kosztu, niezróżnicowanych funkcjach kosztu lub funkcjach kosztu, które mają inną lewą lub prawą pochodną .

Aby zrozumieć, dlaczego można wybrać algorytm optymalizacji oparty na pochodnych. Spójrz na funkcję testu porównawczego Rastrigin . Optymalizacja oparta na gradiencie nie jest odpowiednia do optymalizacji funkcji przy tak wielu lokalnych minimach.

Funkcja testu porównawczego Rastrigin


Dziękuję Ci bardzo. Bardzo
podoba

8

Zgodnie z tytułem:
Nie. Tylko określone typy optymalizatorów oparte są na spadku gradientu. Prosty kontrprzykład ma miejsce, gdy optymalizacja odbywa się w dyskretnej przestrzeni, w której gradient jest niezdefiniowany.

Według ciała:
Tak. Adam, Adagrad, RMSProp i inne podobne optymalizatory (Nesterow, Nadam itp.) Próbują zaproponować adaptacyjny rozmiar kroku (szybkość uczenia się) dla spadku gradientu, aby poprawić szybkość zbieżności bez poświęcania wydajności (tj. Prowadząc do gorszego lokalnego minimum / maksymalny).

Warto zauważyć, że istnieją również metody Newtona i podobnie quasi-Newtonowe metody, które działają z pochodną drugiego rzędu funkcji straty (pochylenie gradientu działa z pochodną pierwszego rzędu). Metody te straciły kompromis prędkości-skalowalności na spadku gradientu z powodu dużej liczby parametrów modelu w praktycznych problemach.

Kilka dodatkowych notatek

  1. Kształt funkcji utraty zależy zarówno od parametrów modelu, jak i danych, dlatego wybór najlepszej metody zawsze zależy od zadania i wymaga prób i błędów.

  2. Stochastyczny część metoda gradientu prostego uzyskuje się za pomocą porcji danych, zamiast kompletnych danych. Ta technika jest równoległa do wszystkich wymienionych metod, co oznacza, że ​​wszystkie mogą być stochastyczne (przy użyciu partii danych) lub deterministyczne (przy użyciu całych danych).

  3. Rzutowane zejście gradientu jest używane, gdy niektóre regiony parametrów są niewykonalne (nieprawidłowe, niedozwolone), więc przywracamy (projektujemy) parametr do wykonalnego regionu, gdy przechodzi on w niewykonalny. Załóżmy na przykład, że zezwalamy tylko na , gdy parametr przechodzi do , przywracamy go do lub lub innych możliwych do wykonania punktów w zależności od trajektorii i określonego metoda. Ta technika jest również równoległa do wspomnianych metod, moglibyśmy zaprojektować stochastycznego Adama .w21(0,1.1)(0,1)(0.43,0.9)


3

Odpowiedź na pytanie może być przecząca. Powodem jest po prostu wiele dostępnych algorytmów optymalizacyjnych, ale wybór jednego zależy od kontekstu i czasu potrzebnego na optymalizację. Na przykład algorytm genetyczny jest dobrze znanym podejściem optymalizacyjnym, w którym nie ma żadnego spadku gradientu. Istnieją również inne podejścia, takie jak cofanie się w niektórych kontekstach. Można stosować wszystkie, które nie wykorzystują stopniowego spadku gradientu.

Z drugiej strony, w przypadku zadań takich jak regresja, można znaleźć formę zbliżoną do rozwiązania problemu w celu znalezienia ekstremum, ale chodzi o to, że w zależności od przestrzeni cech i liczby danych wejściowych można wybrać równanie formy zbliżonej lub gradient zejście, aby zmniejszyć liczbę obliczeń.

Chociaż istnieje tak wiele algorytmów optymalizacji, w sieciach neuronowych podejścia oparte na spadku gradientu są stosowane częściej z wielu powodów. Przede wszystkim są bardzo szybkie. W głębokim uczeniu musisz podać tyle danych, że nie można ich jednocześnie załadować do pamięci. W związku z tym należy zastosować metody gradientu wsadowego w celu optymalizacji. To trochę statystyki, ale można wziąć pod uwagę, że każda próbka dostarczana do sieci może mieć mniej więcej podobny rozkład do rzeczywistych danych i może być wystarczająco reprezentatywna, aby znaleźć gradient, który może być zbliżony do rzeczywistego gradientu funkcji kosztu, który powinien być konstruowane przy użyciu wszystkich dostępnych danych.

Po drugie, złożoność znajdowania ekstremów za pomocą macierzy i ich odwrotności wynosi dla prostego zadania regresji, którego parametry można znaleźć za pomocą . Okazuje się, że proste metody oparte na gradiencie mogą mieć lepszą wydajność. Należy również wspomnieć, że w pierwszym przypadku musisz jednocześnie przenieść dane do pamięci, co nie jest możliwe w sytuacjach, gdy wykonujesz zadania dużych zbiorów danych.O(n3)w=(XtX)1(Xty)

Po trzecie, istnieją problemy z optymalizacją, które niekoniecznie mają rozwiązanie w ścisłej formie. Regresja logistyczna jest jedną z nich.


3

Wybrałeś optymalizatory, które są używane w sieciach neuronowych, te optymalizatory używają algorytmów opartych na gradiencie. Większość algorytmów opartych na gradiencie jest wykorzystywana w sieciach neuronowych. Dlaczego? Czy wolałbyś znaleźć minimum znając nachylenie krzywej, czy nie wiedząc o tym? Jeśli nie możesz obliczyć gradientu, wrócisz do optymalizacji bez pochodnych . Biorąc to pod uwagę, zdarzają się przypadki, gdy chociaż masz informacje na temat gradientu, lepiej jest użyć metody bez gradientu. Zwykle dzieje się tak w przypadku funkcji, które mają wiele lokalnych minimów. Przewaga mają algorytmy oparte na populacji, takie jak strategie ewolucyjne i algorytmy genetyczne. Jest też gałąź optymalizacji kombinatorycznej, w której wykorzystywany jest cały zestaw narzędzi.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.