Faster Gradient Descent Methods Rychlejší gradientní spádové metody Ing. Lukáš Pospíšil, Ing. Martin Menšík Katedra aplikované matematiky, VŠB - Technická univerzita Ostrava 24.1.2012 Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 1/28
Osnova prezentace Motivace Stochastické metody Barzilai-Borweinova metoda Numerické testy Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 2/28
Motivace Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 3/28
Základní úloha kvadratického programování Úloha Nalezněte minimum ryze konvexní kvadratické funkce, tj. 1 x = arg min x R n 2 x T Ax b T x, ekvivalentně řešte soustavu lineárních rovnic Ax = b, kde A R n,n je SPD, b R n, x R n. (Nalezněte kořeny rovnice g(x) := Ax b = 0) Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 4/28
Iterační metody Krylovovské metody Metody tvořící ortogonální bázi podprostoru K m = {g 0, Ag 0,..., A m 1 g 0 } Velmi rychlé Velmi náchylné na chybu sdružené gradienty (CG), Lanzosova metoda,... Gradientní spádové metody Minimalizace ve směru gradientu Velmi stabilní Velmi pomalé Richardsonova metoda, metoda největšího spádu Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 5/28
Gradientní spádové metody Obecná spádová metoda x k+1 = x k 1 β k g k Metoda největšího spádu x k+1 = x k (g k, g k ) (Ag k, g k ) g k Richardsonova metoda s optimální délkou kroku 2 x k+1 = x k λ A max + λ A min g k Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 6/28
Rekurentní výpočet gradientu Jelikož x k+1 = x k 1 β k g k, lze jednoduše upravit g k+1 = Ax k+1 b = A(x k 1 β k g k ) b = g k 1 β k Ag k. µ (k) α = (Aα g k, g k ) (g k, g k ). Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 7/28
Stochastická volba délky kroku Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 8/28
Pravděpodobnostní míra nad gradientem Pro jednoduchost předpokládejme (bez újmy na obecnosti) A za diagonální matici A = diag{λ 1,..., λ d }, kde 0 < m = λ 1 λ d = M < z k = g k (gk, g k ) p (k+1) i = p (k) i = {z k } 2 i (λ i β k ) 2 βk 2 2β kµ (k) 1 + µ (k) 2 Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 9/28
Atraktivní (přitažlivé) extrémy (okraje) p Mějme posloupnost β k > 0, β k {m, M} pro všechna k s distribuční funkcí F (β) s nosičem m, M, kde 0 < m M < a navíc platí: log(β λ) 2 df (β) < max{ log(m β) 2 df (β), λ {λ 2,..., λ d 1 } Pak existují konstanty C > 0, k 0 > 0, 0 θ < 1 takové, že: d 1 i=2 = p (k) i CΘ k k > k 0 log(m β) 2 df (β)} Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 10/28
Výhodné n-tice Pro pokles budeme volit opakující se n-tice {β 0,..., β N } symetrické podle středu spektra - m+m 2 Odhad R R2 2 (β m)(m β) (β) = β(m + M β) 1 N R N = (β j m) 2 N+1 j=0 β 2 j Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 11/28
a dostáváme se tak k... ( M m + 2 ɛ(m m ɛ) R arcsin,ɛ = M + m + 2 (M ɛ)(m + ɛ) ) 2 R arcsin,ɛ = R (1 + 4 ɛ(m m)) + O(ɛ), ɛ 0 Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 12/28
Algoritmus vyberme malé kladné τ, např. τ = 10 6, z 0 = 0 pro k = 0, 1 volme β k = µ (k) 1 a začněme s odhady m, M pro k > 1, nastavme ɛ k = τ(m m) pro k = 2j: z j = z j 1 + ϕ a β 2j = m k + ɛ k + (cos(πz j ) + 1)(M m 2ɛ) pro k = 2j + 1 : β 2j+1 = M + m β 2j vylepšeme odhad m, M V algoritmu je použita konstanta ϕ = 1 2 ( 5 1). Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 13/28
Problémy s nepřesností Gradient g k+1 se obvykle počítá rekurzivně: g k+1 = A (k+1) x k+1 b = (A (k+1) x k b) 1 β k A (k+1) g k = g k 1 β k A (k+1) g k Problém vězí v nepřesné aplikaci A: g k = A (k) x k b A (k+1) x k b = g k Ignorace vede k výsledu... ale špatnému! Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 14/28
Řešení leží v kompromisu Máme dva způsoby ja získat g k+1 Rekurzivní g k+1 = g k 1 β k A (k+1) g k PRO: poskytuje kvalitní odhad spektra CON: vede k špatnému výsledku Restartovaný g k+1 = A (k+1) x k+1 b PRO: vede ke správnému výsledku CON: odhad spektra je velmi slabý Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 15/28
Barzilai-Borweinova metoda Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 16/28
Odvození Metoda sečen (modifikace Newtonovy metody) Nalezněte kořeny rovnice g(x) = 0, g : R R x k+1 = x k x k x k 1 g k g k 1 g k (pokud g na a, b x k splňuje určité podmínky) Metoda sečen je spádová metoda x k+1 = x k 1 β k g k β k = g k g k 1 x k x k 1 Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 17/28
Odvození Metoda sečen v nd? Nalezněte kořeny rovnice g(x) = Ax b = 0, g : R n R n. β k = g k g k 1 x k x k 1 nelze dosadit Místo toho řešme tzv. secant equation metodou nejmenších čtverců, tj. (x k x k 1 )β k = g k g k 1 β k := arg min β R (x k x k 1 )β (g k g k 1 ) 2 2. Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 18/28
Odvození Metoda sečen v nd? Označme s k := x k x k 1, y k := g k g k 1, pak řešením minimalizační úlohy β k := arg min β R s kβ y k 2 2. je (z nutné podmínky existence minima) Hotovo? β k = (s k, y k ) (s k, s k ). Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 19/28
Překvapení Menší úprava a překvapení Jelikož y k = g k g k 1 = (Ax k b) (Ax k 1 b) = As k s k = x k x k 1 = (x k 1 β 1 k g k 1) x k 1 = β 1 k pak dosazením g k 1 β k = (s k, As k ) (s k, s k ) = ( β 1 k g k 1, β 1 k Ag k 1) ( β 1 g k 1, β 1 g k 1) = (Ag k 1, g k 1) (g k 1, g k 1 ). k k Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 20/28
Překvapení Menší úprava a překvapení Tedy Barzilai-Borweinova metoda má předpis x k+1 = x k (g k 1, g k 1 ) (Ag k 1, g k 1 ) g k. metoda největšího spádu s opožděním. Rekurentní výpočet gradientu Navíc g k+1 = Ax k+1 b = A(x k 1 β k g k ) b = g k 1 β k Ag k. Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 21/28
Konvergence spádových metod Konvergence spádových metod g k = γ k 1 v 1 + + γ k n v n kde v 1,..., v k je ortogonální báze z vlastních vektorů a γi k souřadnice vektoru g k v této bázi. Jelikož g k+1 = g k 1 Ag k β k jsou pak dosazením a úpravou i = 1,..., n : γ k+1 i = ( 1 λ ) i γi k β k Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 22/28
Konvergence spádových metod Konvergence spádových metod Dále také ( n ) n g k 2 2 = (g k, g k ) = γi k v i, γi k v i = i=1 i=1 n (γi k ) 2 i=1 lim g k 2 = 0 lim k k γk i = 0, i = 1,..., n ( ) Proto chování funkcí 1 λ i β k je v otázkách konvergence kĺıčové. Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 23/28
Rychlost konvergence BB metody Rychlost konvergence BB metody Necht minimalizovaná kvadratická funkce f je ryze konvexní. Necht {x k } je posloupnost generovaná metodou BB. Pak existuje konečné k takové, že g k = 0 posloupnost { g k 2 } konverguje k nule R-lineárně, konkrétně g k 2 ( ) 1 k.c g 1 2, 2 kde C R je konstanta závislá na λ max a λ min. Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 24/28
Numerické testy Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 25/28
Numerický test 1 - jednoduchá matice Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 26/28
Numerický test 2-3D elektrostatika (Doc. Lukáš) Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 27/28
Děkujeme za pozornost J. Barzilai, J. M. Borwein: Two point step size gradient methods. IMA Journal of Numerical Analysis, 8:141-148, 1988. M. Raydan: Convergence properities of the Barzilai and Borwein gradient method. Rice University, 1991. Dai, Y.H., Liao, L.-Z.: R-linear convergence of the Barzilai and Borwein gradient method. IMA J. Numer.Anal. 26, 1 10 (2002) L. Pronzato, A. Zhigljavsky: Gradient algorithm for quadratic optimization with fast convergence rates. Springer, 2010. Ing. Lukáš Pospíšil, Ing. Martin Menšík Faster Gradient Descent Methods 28/28