Dlaczego pochodne drugiego rzędu są przydatne w optymalizacji wypukłej?


18

Wydaje mi się, że jest to podstawowe pytanie i dotyczy samego kierunku gradientu, ale szukam przykładów, w których metody drugiego rzędu (np. BFGS ) są bardziej skuteczne niż proste zejście gradientu.


3
Czy zbyt uproszczone jest po prostu obserwowanie, że „znajdowanie wierzchołka paraboloidy” jest znacznie lepszym przybliżeniem problemu „znajdowania minimum” niż „znajdowanie minimum tej funkcji liniowej” (która oczywiście nie ma minimum, ponieważ jest liniowy)?

Odpowiedzi:


20

Oto wspólny schemat interpretacji zarówno gradientu opadania, jak i metody Newtona, co może być przydatnym sposobem, aby potraktować różnicę jako uzupełnienie odpowiedzi @ Sycorax. (BFGS zbliża się do metody Newtona; nie będę tu mówić o tym szczególnie).

Minimalizujemy funkcję , ale nie wiemy, jak to zrobić bezpośrednio. Zamiast tego bierzemy przybliżenie lokalne w naszym obecnym punkcie i minimalizujemy to.xfx

Metoda Newtona aproksymuje funkcję za pomocą rozszerzenia Taylora drugiego rzędu: gdzie oznacza gradient w punkcie a Hesjan w . Następnie do i powtarza.f ( x ) f x 2 f ( x ) x arg min y N x ( y )

f(y)Nx(y):=f(x)+f(x)T(yx)+12(yx)T2f(x)(yx),
f(x)fx2f(x)xargminyNx(y)

Zejście gradientu, mające tylko gradient, a nie Hesję, nie może po prostu dokonać przybliżenia pierwszego rzędu i zminimalizować go, ponieważ jak zauważył @Hurkyl, nie ma minimum. Zamiast tego definiujemy rozmiar kroku krok do . Pamiętaj jednak, że Tak więc opadanie gradientu minimalizuje funkcję x - t f ( x ) x - ttxtf(x)Gx(y):=f(x)+f(x)T(y-x)+1

xtf(x)=argmaxy[f(x)+f(x)T(yx)+12tyx2]=argmaxy[f(x)+f(x)T(yx)+12(yx)T1tI(yx)].
Gx(y):=f(x)+f(x)T(yx)+12(yx)T1tI(yx).

Tak więc metoda gradientu prostego jest trochę jak za pomocą metody Newtona, ale zamiast podejmowania drugiego rzędu Taylor ekspansji, udajemy, że jest Hesji . Ta jest często znacznie gorszym przybliżeniem do niż , a zatem zejście gradientu często ma znacznie gorsze kroki niż metoda Newtona. Jest to oczywiście równoważone przez to, że każdy krok spadku gradientu jest o wiele tańszy do obliczenia niż każdy krok metody Newtona. To, co jest lepsze, zależy całkowicie od charakteru problemu, zasobów obliczeniowych i wymagań dotyczących dokładności.GfN1tIGfN

Patrząc na przykład @ Sycoraxa minimalizowania kwadratowego , warto zauważyć, że ta perspektywa pomaga zrozumieć obie metody.

f(x)=12xTAx+dTx+c

Dzięki metodzie Newtona otrzymamy dzięki czemu zakończy się ona dokładną odpowiedzią (aż do problemów z dokładnością zmiennoprzecinkową) w jednym kroku.N=f

Z kolei gradient opadający używa którego płaszczyzna styczna w punkcie wynosi poprawne, ale którego krzywizna jest całkowicie błędna i faktycznie odrzuca ważne różnice w różnych kierunkach, gdy wartości własne różnią się znacznie.

Gx(y)=f(x)+(Ax+d)Ty+12(xy)T1tI(xy)
xA

1
Jest to podobne do odpowiedzi @ Aksakal , ale bardziej dogłębnie.
Dougal,

1
(+1) To świetny dodatek!
Sycorax mówi: Przywróć Monikę

17

Zasadniczo zaletą metody drugiej pochodnej, takiej jak metoda Newtona, jest to, że ma jakość zakończenia kwadratowego. Oznacza to, że może zminimalizować funkcję kwadratową w skończonej liczbie kroków. Metoda taka jak opadanie gradientu zależy w dużej mierze od szybkości uczenia się, co może powodować, że optymalizacja albo zbiega się powoli, ponieważ odbija się wokół wartości optymalnej, albo całkowicie się różni. Można znaleźć stabilne wskaźniki uczenia się ... ale wymagają obliczenia hessian. Nawet przy stabilnym tempie uczenia się możesz mieć problemy takie jak oscylacja wokół optymalnego, tzn. Nie zawsze wybierzesz ścieżkę „bezpośrednią” lub „wydajną” w kierunku minimum. Może to potrwać wiele iteracji, nawet jeślijesteś stosunkowo blisko. BFGS i metoda Newtona mogą zbiegać się szybciej, nawet jeśli wysiłek obliczeniowy każdego kroku jest droższy.

Na prośbę o przykłady: Załóżmy, że masz funkcję celu Gradient to i wprowadzenie do najbardziej stromej formy zniżania ze stałą szybkością uczenia się

F(x)=12xTAx+dTx+c
F(x)=Ax+d
xk+1=xkα(Axk+d)=(IαA)xkαd.

Będzie to stabilne, jeśli wielkości wektorów własnych będą mniejsze niż 1. Możemy użyć tej właściwości, aby pokazać, że stabilna szybkość uczenia się spełnia gdzie jest największą wartością własną . Współczynnik zbieżności algorytmu najbardziej stromego jest ograniczony przez największą wartość własną, a procedura zbiega się najszybciej w kierunku odpowiadającego jej wektora własnego. Podobnie będzie on zbiegał się najwolniej w kierunkach wektora własnego najmniejszej wartości własnej. Gdy występuje duża różnica między dużymi i małymi wartościami własnymi dla , opadanie gradientu będzie powolne. DowolnyIαA

α<2λmax,
λmaxAAA z tą właściwością będzie powoli zbiegać się przy użyciu opadania gradientu.

W szczególnym kontekście sieci neuronowych książka Neural Network Design zawiera sporo informacji na temat numerycznych metod optymalizacji. Powyższa dyskusja stanowi kondensację rozdziału 9-7.


Świetna odpowiedź! Akceptuję odpowiedź @Dougal, ponieważ uważam, że zawiera ona prostsze wyjaśnienie.
Bar

6

f(x)=c+βx+αx2

2f(x)/x2=2α

guess=β2α

Przypadek wielowymiarowy jest bardzo podobny, wystarczy użyć gradientów dla instrumentów pochodnych.


2

@Dougal już dał świetną odpowiedź techniczną.

Wyjaśnienie bez matematyki polega na tym, że podczas gdy przybliżenie liniowe (rząd 1) zapewnia „płaszczyznę”, która jest styczna do punktu na powierzchni błędu, przybliżenie kwadratowe (rząd 2) zapewnia powierzchnię, która obejmuje krzywiznę powierzchni błędu.

Filmy w tym linku świetnie odwzorowują tę koncepcję. Wyświetlają przybliżenia rzędu 0, rzędu 1 i rzędu 2 na powierzchni funkcji, co po prostu intuicyjnie weryfikuje matematycznie pozostałe odpowiedzi.

Dobry blog na ten temat (dotyczący sieci neuronowych) jest tutaj .

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.