Neurális hálók tanítása során alkalmazott optimalizáció

Hasonló dokumentumok
Konjugált gradiens módszer

Osztályozási feladatok képdiagnosztikában. Orvosi képdiagnosztikai 2017 ősz

Gépi tanulás a gyakorlatban. Lineáris regresszió

Nemlineáris egyenletrendszerek megoldása április 15.

Numerikus módszerek beugró kérdések

Saj at ert ek-probl em ak febru ar 26.

Deep Learning a gyakorlatban Python és LUA alapon Tanítás: alap tippek és trükkök

ACM Snake. Orvosi képdiagnosztika 11. előadás első fele

Differenciálegyenletek numerikus megoldása

Gépi tanulás. Hány tanítómintára van szükség? VKH. Pataki Béla (Bolgár Bence)

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

Hidraulikus hálózatok robusztusságának növelése

Számítási feladatok a Számítógépi geometria órához

Numerikus módszerek 1.

Eddig csak a polinom x-ben felvett értékét kerestük

Diszkréten mintavételezett függvények

Gauss-Seidel iteráció

Számítógépes geometria (mester kurzus)

Lineáris algebra numerikus módszerei

alakú számot normalizált lebegőpontos számnak nevezik, ha ,, és. ( : mantissza, : mantissza hossza, : karakterisztika) Jelölés: Gépi számhalmaz:

n n (n n ), lim ln(2 + 3e x ) x 3 + 2x 2e x e x + 1, sin x 1 cos x, lim e x2 1 + x 2 lim sin x 1 )

I. LABOR -Mesterséges neuron

Legkisebb négyzetek módszere, Spline interpoláció

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Nem-lineáris programozási feladatok

Numerikus módszerek 1.

Norma Determináns, inverz Kondíciószám Direkt és inverz hibák Lin. egyenletrendszerek A Gauss-módszer. Lineáris algebra numerikus módszerei

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

10. Előadás. 1. Feltétel nélküli optimalizálás: Az eljárás alapjai

Mit látnak a robotok? Bányai Mihály Matemorfózis, 2017.

Robotok inverz geometriája

Sajátértékek és sajátvektorok. mf1n1a06- mf1n2a06 Csabai István

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

Explicit hibabecslés Maxwell-egyenletek numerikus megoldásához

Nemlineáris modellek

Line aris f uggv enyilleszt es m arcius 19.

Készítette: Trosztel Mátyás Konzulens: Hajós Gergely

YBL - SGYMMAT2012XA Matematika II.

6. gyakorlat. Gelle Kitti. Csendes Tibor Somogyi Viktor. London András. jegyzetei alapján

Rekurzív sorozatok. SZTE Bolyai Intézet nemeth. Rekurzív sorozatok p.1/26

Adatbányászati szemelvények MapReduce környezetben

Végeselem modellezés alapjai 1. óra

Matematika (mesterképzés)

3. előadás Stabilitás

1 Lebegőpontos számábrázolás

Matematika III előadás

KOMPOZITLEMEZ ORTOTRÓP

Függvények növekedési korlátainak jellemzése

Numerikus módszerek 1.

Differenciálegyenletek numerikus integrálása április 9.

DIFFERENCIAEGYENLETEK

A KLT (Kanade Lucas Tomasi) Feature Tracker Működése (jellegzetes pontok választása és követése)

January 16, ψ( r, t) ψ( r, t) = 1 (1) ( ψ ( r,

Numerikus matematika. Irodalom: Stoyan Gisbert, Numerikus matematika mérnököknek és programozóknak, Typotex, Lebegőpontos számok

P 2 P ábra Az f(x) függvény globális minimuma (P 1 ) és egy lokális minimuma (P 2 ).

Nemlineáris programozás 2.

Irányításelmélet és technika II.

Neurális hálózatok bemutató

Megerősítéses tanulás 7. előadás

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Numerikus matematika vizsga

ANALÍZIS III. ELMÉLETI KÉRDÉSEK

Többváltozós, valós értékű függvények

Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs rendszerek Tanszék. Neurális hálók. Pataki Béla

Losonczi László. Debreceni Egyetem, Közgazdaság- és Gazdaságtudományi Kar

Elhangzott tananyag óránkénti bontásban

Tartalom. 1. Állapotegyenletek megoldása 2. Állapot visszacsatolás (pólusallokáció)

x 2 e x dx c) (3x 2 2x)e 2x dx x sin x dx f) x cosxdx (1 x 2 )(sin 2x 2 cos 3x) dx e 2x cos x dx k) e x sin x cosxdx x ln x dx n) (2x + 1) ln 2 x dx

Mesterséges neurális hálózatok II. - A felügyelt tanítás paraméterei, gyorsító megoldásai - Versengéses tanulás

Grafikonok automatikus elemzése

Gépi tanulás Gregorics Tibor Mesterséges intelligencia

Numerikus matematika

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Matematika szigorlat, Mérnök informatikus szak I máj. 12. Név: Nept. kód: Idő: 1. f. 2. f. 3. f. 4. f. 5. f. 6. f. Össz.: Oszt.

Optimalizációs eljárások hatása a mért értékek megbízhatóságának a növelésére

Irányításelmélet és technika I.

Irányításelmélet és technika II.

Matematika szigorlat június 17. Neptun kód:

Intelligens Rendszerek Gyakorlata. Neurális hálózatok I.

Vektorterek. =a gyakorlatokon megoldásra ajánlott

Tartalom. Állapottér reprezentációk tulajdonságai stabilitás irányíthatóság megfigyelhetőség minimalitás

Példák jellemzőkre: - minden pixelérték egy jellemző pl. neurális hálózat esetében csak kis képekre, nem invariáns sem a megvilágításra, sem a geom.

Nemkonvex kvadratikus egyenlőtlenségrendszerek pontos dualitással

MATEMATIKA EMELT SZINTŰ SZÓBELI VIZSGA TÉMAKÖREI (TÉTELEK) 2005

Megerősítéses tanulás 9. előadás

Többváltozós, valós értékű függvények

Principal Component Analysis

Optimalizálási eljárások GYAKORLAT, MSc hallgatók számára. Analízis R d -ben

Teljesen elosztott adatbányászat pletyka algoritmusokkal. Jelasity Márk Ormándi Róbert, Hegedűs István

Szélsőérték-számítás

Fraktálok. Kontrakciók Affin leképezések. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék. TARTALOMJEGYZÉK Kontrakciók Affin transzformációk

Sergyán Szabolcs szeptember 21.

A legjobb közeĺıtés itt most azt jelentette, hogy a lineáris

cos 2 (2x) 1 dx c) sin(2x)dx c) cos(3x)dx π 4 cos(2x) dx c) 5sin 2 (x)cos(x)dx x3 5 x 4 +11dx arctg 11 (2x) 4x 2 +1 π 4

Lineáris leképezések. Wettl Ferenc március 9. Wettl Ferenc Lineáris leképezések március 9. 1 / 31

Konvolúciós neurális hálózatok (CNN)

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

12. Mikor nevezünk egy részhalmazt nyíltnak, illetve zártnak a valós számok körében?

A fontosabb definíciók

Átírás:

Neurális hálók tanítása során alkalmazott optimalizáció

Háló paramétereinek tanulása Lényegében egy szélsőérték keresési feladat: θ: háló paramétereinek vektora X: tanító minták bemeneteiből képzett mátrix : tanító mintákhoz tartozó elvárt kimenet f, : háló által megvalósított leképezés L, : úgynevezett Loss function J L f J θ arg min θ, X, d arg min θ d θ L f θ θ, X, d θ

Optimalizációs algoritmusok Hibafelület jellege szerint: Konvex: egyszerűbb eset a célfüggvény konvex függvénye a keresett paramétervektornak Globális: lassabb algoritmusok ha nem konvex célfüggvény szélsőértékének helyét keressük Neurális hálók esete: Nemlinearitások miatt nem konvex hibafelület Általában konvex optimalizációs eljárások Lokális optimumot képesek csak megtalálni Mély hálóknál ez kevésbé jelent problémát

Konvex optimalizációs algoritmusok Továbbiakban konvex optimalizáció: Iteratív algoritmusok (kivéve pár egyszerű eset) Iterációk során javítóirányt keresünk: θ θ k 1 k Δθ k Δθ k becslése J θ Taylor polinomja alapján Csoportosítás Taylor polinom fokszáma szerint: 0-ad rendű: pl. Genetikus algoritmus Elsőrendű: pl. SGD, Momentum, AdaGrad Másodrendű: Newton / kvázi Newton módszerek

Newton módszer 2 T T J 0 J 0 J 0 12 0 θ θ θ θ θ θ θ H θ θ 0 2 J θ 0 H θ jelöli Hesse-mátrixát 0 J i, j θ θ J θ 0 J θ jelöli a gradienst -ban 0 i θ 0 θ Ha Hθ 0 pozitív definit, akkor θ Tehát i arg min J θ i j 2 θ θ 0 1 θ H θ J θ 0 0 2 0 Jθ θ 0

Newton módszer 2 J θ θ csak approximálja J-t: 0 Viszont J θ 0 pontbeli kvadratikus közelítésének t.f.h. a minimumhelye: θ θ Tehát meghatározása line-search algoritmusokkal. Az alábbi trade-off problémát oldják meg: J θ θ 2 J θ θ0 θ θ0 θ 0 0 0 0 J θ J θ θ 2 2 θ 0 θ 0

Newton módszer Interpretációja: 1. Aktuális paramétervektor környezetében egy kvadratikus felülettel közelítjük J θ -t. 2. Megkeressük a közelítés minimumhelyét, majd annak irányába lépünk elegendően nagyot. 3. Ha nem teljesül a leállási feltétel, akkor GOTO 1. Előnyei: Pár 10 / 100 iteráció gyakorlatban elég J θ affin transzformációjára érzéketlen

Newton módszer Hátrányai: Minden iterációban újra kell számolni, és invertálni a Hesse mtx.-ot (mely akár 10^8 10^8 méretű): Kvázi Newton módszerek ezt próbálják kikerülni Batch-elt tanításhoz illeszkedik jól túl nagy lépéseket tesz ahhoz, hogy sztochasztikus (pl. mini batch) optimalizációra alkalmas legyen: Így nem is lehet jól párhuzamosítani Klasszikus Neurális hálóknál alkalmazható inkább (lsd. Levenberg-Marquadt)

Kvázi Newton módszerek BFGS A Hesse mátrix inverzét közelítik BFGS algoritmus ú.n. secant feltétele: 2 J J és θ θ θ k k k 2 Első feltétel J definíciója miatt teljesül θ k Második feltétel kifejtését követően: Tehát a secant feltétel igaz, ha 2 J Jθ θ θ k k1 k1 J θ J θ H θ θ θ k 1 k k k 1 k 1 J J H θ θ θ θ θ k k 1 k k 1 k

Kvázi Newton módszerek BFGS Mit tudunk eddig 1 H θ k -ről: Szimmetrikus, hiszen szimmetrikus mátrix inverze 1 J J H θ θ θ θ θ k k 1 k k 1 k De ilyenből végtelen van regularizáció kell: Éljünk a simasági feltételezéssel ( H folytonos) 1 2 1 1 H θk arg min H H θk 1... 1 H F Szerencsére analitikusan megoldható

Kvázi Newton módszerek BFGS BFGS frissítés tulajdonságai: Ha Hθ 0 -t diagonálisnak választjuk, akkor θk számítása Ok sizeθ komplexitású. Ehhez viszont szükség van J θ -re és -ra, minden i 0,..., k esetén k θ k Nagyméretű problémák esetén ez már problémát jelent (memória). Memória használata túl nagy: Pl. 1E5 iteráció, és 1E7 paraméter esetén ~1 TB

Kvázi Newton módszerek L-BFGS Belátható, hogy konvergál az optimumhoz De esetenként jóval lassabban, mint a Newton módszer tipikusan pár tíz/százezer iteráció kell Skálázásra érzékeny (sok numerikus művelet) Mini Batch módszerek problémásak L(imitált memóriahasználatú)-bfgs: Bár a közelített inverz Hesse kiszámításához szükség lenne az összes addigi gradiensre és paraméterre, ezt csak az utolsó m db alapján becsli. Matematikai bizonyítása a konvergenciának nincs, de praktikusan konvergens (itt már jelentősen függ a szükséges iterációk száma a változók számától). Mini Batch-es tanítást ez sem igazán kedveli

Kvázi Newton módszerek Konjugált Gradiens módszer Lineáris egyenletek megoldására találták ki, 1 most θ H J θ -t keressük iteratívan. Alapötlet lineáris egyenlet megoldása: 0 arg min H θ k θk esetén 1 1 2 T k 1 J 0 k 1 k 1 θ θ H θ θ T k1 k θ H θ θ 0 Tehát az k-adik javítóirány H feletti konjugáltja a (k-1)- T ediknek, azaz θk 1 H θk 0

Kvázi Newton módszerek Konjugált Gradiens módszer Mint lineáris egyenlet megoldó: 1 x A b pi : i-edik keresési irány, x : i-edik becslése x -nak i

Kvázi Newton módszerek Konjugált Gradiens módszer Mint veszteségfüggvény minimalizáló eljárás: Aktuális pontbeli gradiensből az előző javítóiránnyal párhuzamos komponenst levonva áll elő az új javítóirány: Javító lépés nagysága: Nem igényli a Hesse mtx. kiszámítását Konvergencia: θ J θ θ Nagyságrendileg Newton iterációk száma 60 változók száma iterációra van szükség k k 1 k 1 arg min J θ k1 θ k

Futási példák Csonkolt Newton

Futási példák BFGS

Futási példák CG

Newton / kvázi Newton módszerek CG-t főleg viselkedése és komplexitása miatt soroltuk ide (gyakorlatban H I feltételezés). Általában bonyolultabb iterációk: De jóval kevesebb elég belőle Batch tanításnál Mini-batch/ LMS esetén viszont nem éri meg Klasszikus neurális hálóknál fontos szerep: Levenberg Marquadt algoritmus Newton módszer és elsőrendű módszer keveréke

Elsőrendű módszerek Gradiens irányába lépnek: Mikor pontosabb a másodfokú közelítés? Ha 2 J 0 J θ θ θ θ H θ θ k1 k k k Általánosságban is igaz, hogy minél izotropikusabb a hibafelület, annál jobbak az elsőrendű módszerek Kérdés, mi a helyzet, ha θ J θ k 1 1 1 1 H θ I θ J θ k1 k1 Hθ k 1 1 egy forgatás? 1

Gradiens módszer Gradienssel ellentétes irányba lépünk: θ k θk 1 J θk 1, bátorsági tényező Konvex függvények esetén meghatározható az : Polyak módszer : J θ J θ J θ Léteznek line search algoritmusok (pl. Armijo) Gyakori az választás (pl. ) Problémás, ahol k 2 2 k k k k 1 0 0.99 J rosszul kondicionált: Pl. szűk völgyek, elnyújtott hibafelület Azaz kb. ahol min H I túl nagy F

Gradiens módszer szemléltetés Pl. egy vízszintesen elnyújtott, kvadratikus J Gradiens vektor függőleges tengelyre eső vetülete jóval nagyobb, mint a vízszintes tengelyre eső vetülete pedig vízszintes irányban vagyunk messze a minimumtól

Gradiens módszer szemléltetés Pl. egy vízszintesen elnyújtott, kvadratikus J A A Lassú, kis amplitúdójú lépések vízszintesen Nagy lépések függőlegesen, ami cikk-cakk jellegű becslővektor trajektóriához vezet

Gradiens módszer szemléltetés Szűk völgy körül oszcillál Lapos felületen lelassul

Gradiens módszer konvergenciája Belátható, hogy minden esetben létezik olyan bátorsági tényező, mellyel konvergál Akár fix bátorsági tényező esetén is De a konvergencia sebessége nagyon függ a hibafelülettől (ellentétben a Newton módszerekkel) A paramétertér affin transzformációja érzékeny Jól tűri a sztochasztikus jelleget is Alkalmas mini batch-re (pl. LMS) 1 valószínűséggel konvergál, de jóval több lépés kell

Momentum módszerek Első interpretáció alul-áteresszük -at: Ezzel a cikk-cakkos ugrásokat kiküszöbölhetjük ' ' θ θ 1 J θ 0,1 Másik interpretáció fizikai modell: Integráljuk a gyorsulást ( ), súrlódással Integráljuk a sebességet k k 1 k 1 θ θ θ ' k k 1 k vk vk 1 J θk 1 0.5, 1 θ θ θ v k k 1 k J k 1 θ k

Nesterov Momentum Ha úgyis ellépünk vk 1 irányba, akkor az ottani gradiens irányába lépjünk tovább: Egyszerű momentum: Nesterov: k k 1 k 1 v v J θ v v J θ v k k 1 k 1 k 1

Momentum módszerek Sima momentum hasonló a CG-vel: Csak itt hasból választjuk -t, -t Gyakorlatban jobbak a gradiens módszernél Elméletileg ez nehezen látható be A Nesterov momentum viszont elméletileg is gyorsabb a sima momentumnál Jellemző az állapot-trajektóriára a túllövés: Nagy amplitúdójú gradiensek sokáig magukkal húzzák az azt követő javító lépéseket

Adaptive Gradient (AdaGrad) A hibafelület alakjához próbálunk adaptálódni / dimenziónként skálázunk: k-adik lépésnél J θ i 1,2,..., k 1 alapján becsüljük a dimenziónkénti elnyújtottságot: k 1 τ k J θ i j i j1 2 Majd ezzel normálunk (elkerülve a 0-val osztást): J i 1 i i θ θ τ k k k Sok iteráció után már túl kicsik a lépések: i Ez sima felületeknél általában nem baj, de neurális hálókra tipikusan nem ez a jellemző

RMSProp Ötlet: összegzés helyett mozgó átlag alapján becsüljük a hibafelületet 2 τk τk 1 1 J θk 0, 1 Mozgó átlagolás miatt elfelejti a hibafelület távolabbi részeit Ráadásul nem nő minden határon túl i i i θ k J θk 1 k i τ i i Ebből jön az elnevezésbeli RMS Mély NN esetén általában jobb az AdaGrad-nál

Adaptive Momentum (Adam) Kombináljuk az RMSProp-ot a Momentummal: 1. vk 1 vk 1 1 1 J θk 1 0, 1 2. τk 2 τ 1 1 i k 2 J θ i k i 2 0, 1 3. θ k θ i k 1 vk τ i i k i Ötvözi a két módszer előnyét: Simítja a lépési irányt, mint a Momentum Adaptálódik a hibafelülethez, mint az RMSprop Mély hálók tanításának standard módszere

Módszerek szemléltetése Kvadratikus hibafelület: http://home.mit.bme.hu/~hadhazi/oktatas/nn/1.gif Összetettebb, konvex hibafelület: http://home.mit.bme.hu/~hadhazi/oktatas/nn/2.gif Nyeregpont: http://home.mit.bme.hu/~hadhazi/oktatas/nn/4.gif Elnyúló völgy: http://home.mit.bme.hu/~hadhazi/oktatas/nn/3.gif

Elsőrendű módszerek összegzés Milyen az ideális optimalizáló módszer? Azon irány mentén mozog gyorsan, melyre eső gradiens vetület stabil (még akkor is, ha ez kicsi) Az instabil gradiens vetületű irány mentén megfontoltabb (nagy amplitúdó esetén is) Különböző változatok a hibafelület lokális görbületét próbálják becsülni a gradiens vektorokból Jelentős hasonlóság a BFGS / CG módszerekkel Sokat segíthet az előfeldolgozás cél az izotrópia Bemenetenkénti normalizálás Bemenetek de-korrelációja (pl. PCA, igaz sok változó esetén nem egyszerű)

Görbület figyelembe vétele Módszerek áttekintése / osztályozása Másodrendű Newton Módszer, (LM) (Csonkolt Newton) BFGS, L-BFGS Konjugált Gradiens Származtatás Elsőrendű Adam, (Adadelta), RMSprop, Adagrad, Nesterov Momentum Momentum Gradient Descent

Általános megfontolások -1- Klasszikus NN-ek esete: Általában kevésbé redundáns tanítóminták Egy epoch-ban minden mintát felhasználunk Másodrendű módszerek jól használhatóak Mély NN-ek esete: Sok redundáns tanítóminta Érdemes a mintákat mini-batch-ekre partícionálni Egy partícióba kevésbé korrelált minták essenek Fontos, hogy kiegyensúlyozottak legyenek a bacth-ek

Általános megfontolások -2- Mini-batch mérete általában nagy legyen Szélsőséges eset (1 minta) on-line tanulás Másodrendű módszerek kevésbé hatékonyak: Bonyolultabb a hibafelület, kvadratikus approx.-ból származó javítóirányok csak kicsit jobbak a gradiensnél Gyakorlatban tetszőlegesen kis hibát a tanítómintákon el lehet velük érni (de ez gépi tanulásnál kb. lényegtelen) Hibafelület alakja: Lineáris neuron esetén kvadratikus NN / DNN esetén lokálisan kvadratikus (lsd. RELU)

Felhasznált források Felhasznált források: 1. Stanford CS231n - http://cs231n.stanford.edu/syllabus.html 2. Denzi Yuret - Alec Radford's animations for optimization algorithms http://www.denizyuret.com/2015/03/alec-radfords-animations-for.html 3. Horváth Gábor (szerk.) : Neurális hálózatok - 2.5.1 alfejezet https://www.mit.bme.hu/books/neuralis/ch02s05 4. Faragó István Horváth Róbert : Numerikus módszerek, Typotex (2013) http://tankonyvtar.ttk.bme.hu/pdf/30.pdf 5. Stephen Boyd and Lieven Vandenberghe : Convex Optimization, Cambridge University Press (2009) http://stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf 6. Toronto University CSC321 Lect6: http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf