1/24 Gradient Sampling-Algoritmi Ville-Pekka Eronen April 20, 2016
2/24 Perusidea -"Stabiloitu nopeimman laskeutumisen menetelmä" - Laskevan suunnan haku: lasketaan gradientit nykyisessä pisteessä sekä muutamasta pisteestä nykyisen pisteen ympäristöstä. Otetaan gradienteista konveksi peite, haetaan tästä joukosta normin minimoiva vektori. Laskeva suunta on tämän vektorin vastakkainen suunta. - Vertaa: suunnaksi normin minimoivan aligradientin vastainen suunta.
3/24 Perusidea - Goldsteinin ε-alidifferentiaali: G ε f (x) = cl conv y B(x,ε) f (y) - Gradienttien konveksin peitteen voidaan ajatella approksimoivan tätä joukkoa. - Sunnan haku toisin: approksimoidaan ε-alidifferentiaalia ja haetaan tästä normin minimoivan vektorin vastavektori.
4/24 Optimointi ongelma - min f (x) s.t. x R n - Menetelmää voidaan soveltaa funktioon f, joka on jatkuva ja differentioituva melkein kaikkialla. - Differentioituva m.k. Jos otetaan piste tasaisesta jakaumasta yli suljetun pallon, niin piste on differentioituva todennäköisyydellä 1.
5/24 Teoreettisia oletuksia - Seuraavaksi esitetään yksinkertaistettu versio artikkelin [1] algoritmista. Alkuperäiselle algoritmille voidaan todistaa tiettyjä konvergenssi ominaisuuksia. Todistukset edellyttävät: 1) Kohdefunktio on lokaalisti Lipschitz jatkuva. 2) Funktion on oltava jatkuvasti differentioituva avoimessa joukossa D, joka on tiheä. 3) On olemassa piste x, jolle L = {x f (x) f (x)} on kompakti.
/24 Gradient sampling - algoritmi 0. askel(alustus) Olkoon x 0 L D R n, β, γ (0, 1), ε > 0, k = 0 ja m n + 1, m N. m n + 1, jotta voidaan todistaa konvergenssituloksia. Funktion oletuksista ja Caratheodoryn Lauseesta seuraa, että äärellisellä todennäköisyydellä algoritmin löytämä laskeva suunta poikkeaa ɛ-alidifferentiaalin normin minimoivan vektorin vastavektorista korkeintaan pienen luvun δ > 0 verran.
/24 1. askel( ε G f approksimointi) Aseta x k0 = x k ja x kj = x k + εu kj, j = 1, 2,..., m, missä pisteet u kj ovat otettu satunnaisotantana tasaisesta jakaumasta yli joukon B(0; 1). Aseta G k = conv { f (x k0 ), f (x k1 ),..., f (x km ) }. Huomaa: G k ε G f (x k0 ).
8/24 Gradient sampling - algoritmi 2. askel(laskevan suunnan haku) Olkoon g k = argmin g Gk g 2. Jos g k = 0, lopeta. Muutoin d k = g k g k. Löydetty suunta on laskeva suunta: f (x k ; d k ) = f (x k ) T d k sup g G k g T d k Epäyhtälö 1) seuraa konveksista analyysistä. 1) g k
9/24 Gradient sampling - algoritmi 3. askel(askelpituuden määritys) t k = max {1, γ, γ 2,...}, jolle f (x k + t k d k ) f (x k ) < βt k g k. (1) Viivahaku on äärellinen prosessi: On olemassa t > 0, jolle f (x k + td k ) < f (x k ) + βt f (x k ) T d k 2) f (x k ) tβ g k kaikilla t (0, t). 2) seuraa kalvon 10 epäyhtälöstä.
10/24 Gradient sampling - algoritmi 4. askel(päivitys) Jos x k + t k d k D, niin aseta x k+1 = x k + t k d k. Jos ei, niin etsi satunnaisesti piste x k x k + εb(0; 1), jolle x k + t k d k D ja f (x k + t k d k ) f (x k ) < βt k g k. Aseta i = i + 1 ja siirry 1. askeleeseen. Funktion f jatkuvuuden nojalla ehdon toteuttava uusi piste löydetään nollasta poikkeavalla todennäköisyydellä.
f (x, y) = max {x 2, y 2 } y 0.0 0.5 1.0 1.5 2.0 x0=(1.01,1)= eps=0.1 y=x f=0.4 f=0.8 f=1.2 f=1.6 0.0 0.5 1.0 1.5 2.0 11/24 x
12/24 gx gy 0.0 0.5 1.0 1.5 2.0 2.5 G =cl conv U f(x i ) k m i=1 0.0 0.5 1.0 1.5 2.0 2.5
13/24 f t 0.2 0.4 0.6 0.8 1.0 β, γ =0.8 f(x k) β t g k 4 3 2 1 f 0.0 0.2 0.4 0.6 0.8 1.0
14/24 x y 0.0 0.5 1.0 1.5 2.0 2 f=0.8 1 f=1.6 0.0 0.5 1.0 1.5 2.0
15/24 Konvergenssi tuloksia, huomioita - Algoritmi löytää iteraatiokierroksen aikana uuden pisteen, joka tuottaa pienemmän kohdefunktion arvon kuin edellinen piste. - Yhteen kierrokseen kuluu äärellinen määrä laskentaa. - Ratkaisupisteet ovat erit ja ne ovat kompaktissa joukossa L - Siis: jono f (x k ) konvergoi ja jono (x k ) sisältää ainakin yhden kasautumispisteen. - Näistäkin huolimatta konvergenssitodistukset ovat hankalia: syy g k satunnaisuus.
16/24 Konvergenssi tuloksia, määrittelyjä Algoritmi pyrkii löytämään Clarke ε-stationaarista pistettä. f (x) ε G f (x) eli Clarke stationaarinen piste on Clarke ε-stationaarinen. Jos ε = 0, niin 0 G f (x) = f (x) Parametria ε pienentämällä ε-stationaaristen pisteiden joukko lähestyy Clarke stationaaristen pisteiden joukkoa.
17/24 Konvergenssi tuloksia: kiinnitetty ε Olkoon ( x k) GS-algoritmin tuottama ratkaisujono. Tällöin todennäköisyydellä 1 joko i) jono ( x k) on äärellinen. Algortimin pysähtyessä askeleeseen k 0 on 0 ε G f (x k 0 ) ii) Jonon ( x k) jokainen kasautumispiste ˆx on Clarke ε-stationaarinen. Todistus: [2] (Kiwiel 2007)
18/24 Konvergenssi tuloksia: muuttuva ε Alkuperäisessä algoritmissa päivitetään parametria ε tiettyjen ehtojen täyttyessä. Tällöin pystytään todistamaan "vahvempi" tulos: Olkoon ( x k) sopiva parametrisen alkuperäisen GS-algoritmin tuottama ratkaisujono. Tällöin todennäköisyydellä 1 jono (x k ) on ääretön. On olemassa osajono ( ) x kj, jonka jokainen kasautumispiste on Clarke stationaarinen piste eli 0 f (ˆx). Todistus: [2] (Kiwiel 2007)
19/24 Numeerinen osuus: käytännössä... - Käytännössä pisteen differentioituvuuden tarkastamista ei tehdä: "This is simply impossible in finite precision and in any case would make life very difficult for the user who provides function and gradient values" (Burke, J.V. et al.). - Algoritmia testattiin viiteen eri tehtävään muutamilla eri muuttujalukumäärillä (käyrän sovittaminen eksponentti summilla, ominaisarvotulojen minimointi, spektraalisen/pseudospektraalisen abskissan minimointi, matriisin "distance to instability" maksimointi ja näiden sovellus) - Tehtäviä ei oltu ennen ratkaistu.
20/24 Numeerinen osuus: vertailua - Kvalitatiivista vertailua polytooppi menetelmän ja Bundle Trust menetelmän kanssa. - Polytooppi menetelmä pystyi ratkaisemaan vain helpoimmat tehtävät pienillä n arvolla. - BT menetelmä nopeampi, mutta epätarkempi kuin GSA. Lisäksi se ei pystynyt ratkaisemaan vaikeimpia ongelmia.
21/24 Kompleksisuudesta Joka iteraatio edellyttää: - m + 1 gradientin evaluointia - kvadraattisen tehtävän ratkaisua (m + 1 muuttujaa, 1 rajoite) - määräämätöntä määrää funktioevaluointeja (viivahaku).
22/24 GSA muualla - Artikkeliin [1] on viitattu yli 71 artikkelista - Kiwiel 2007 [2]: muutos löydetyn pisteen differentioitumis tarkistukseen ja joukon L kompaktisuus oletus pois. Modifioitu versio: laskeva suunta ei enää yksikkövektori. - Curtis & Que 2013 [3]: gradientti evaluointien vähentäminen. 2. kertaluvun informaatiota mukaan.
23/24 Viitteet [1]: Burke, J. V., Lewis, A. S., Overton, M. L., A robust gradient sampling algorithm for nonsmooth, nonconvex optimization. SIAM J. Optim. 15 no. 3, 751-779 [2]: Kiwiel, K. C., Convergence of the gradient sampling algorithm for nonsmooth nonconvex optimization. SIAM J. Optim. 18 (2007), no. 2, 379-388 [3]: Curtis, F. E., Que, X., An adaptive gradient sampling algorithm for non-smooth optimization. Optim. Methods Softw. 28 (2013), no. 6, 1302-1324.
24/24 Kiitos