Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Mesterséges neuronhálók Rekonstrukciós hálók
Lőrincz András Milacski Zoltán Ádám Zico Kolter és Alex Smola diasorai alapján
2
Lőrincz András | Neuronháló előadás
Gépi tanulás? Világban az adatmennyiség exponenciálisan nő… Ember nem tudja követni. Ha rosszul csináljuk, gépek sem! Skálázható algoritmusok kellenek „BIG DATA” 2012: 2014: Lőrincz András | Neuronháló előadás
3
Lőrincz András | Neuronháló előadás
Merre tart a világ? Gépi tanulás a múlt. Big data a jelen: Egyszerű, skálázható algoritmus + hatalmas adatbázis >> Komplex algoritmus + közepes adatbázis Lőrincz András | Neuronháló előadás
4
Lőrincz András | Neuronháló előadás
Tanulság Machine learning. Neuronhálók ide tartoznak. Elméleti dolog. Bonyolult, interpretálható matematikai algoritmusok. Soknak van Big data megfelelője, várhatólag idővel többnek is lesz (aktív kutatási terület). Sokrétű, szép matek: statisztika, optimalizálás, numerikus módszerek. Hagyományos ML: 1 gépen kb mintáig, használható, látványos. Az egész Big data ezen alapszik. Ma Big data-t kell tanulni… Elosztott számításokkal. Itt is vannak neuronhálók. Gyakorlati (technikai) dolog. Big data = Big models. Nehéz interpretálni. 1 gép ~ 1TB/óra… Sokkal több az adat a világban. Modell paraméterek (változók) száma nagy… Felhasználók millióira kell személyre szabni (pl. Gmail spam szűrő). Szerverparkok + Hadoop / Spark. MapReduce-ként felírható feladatok. Hardver elromolhat, hibakezelés kulcsfontosságú szempont. Sok gépen, több magon kell számolni párhuzamosan = Skálázhatóság. Mindkettőről szó lesz a félév során. Az alkalmazási területek száma határtalan… Lőrincz András | Neuronháló előadás
5
Lőrincz András | Neuronháló előadás
Alapproblémák Osztályozás (klasszifikáció): Pl. 28x28 bináris képek, program találja ki a számjegyeket! Lehetőség: előzetes tudás beégetése a kódba (pl. if-ek sorozatával). Másik lehetőség - gyűjtsünk sok (kép,szám)=(input vektor,diszkrét címke) párt: ; ; ; ; ….. Ezt tanító adatnak (mintának) nevezzük. „Felügyelt tanulás”: valaki odaadja. Tanulja meg egy ℎ 𝜗 hipotézis függvény 𝜗 paramétereit: argumentumként egy eddig nem látott képet kap, kimenete pedig hogy melyik számra tippel. Szeretnénk, ha minél jobban tippelne, de tévedhet = 2 ; = 3 ; …. Címke = output. Lényegében tehát egy input->output leképezést tanul. „Modell”. A tévedést szeretnénk elkerülni (pl. számuk minimalizálásával). Lőrincz András | Neuronháló előadás
6
Lőrincz András | Neuronháló előadás
Alapproblémák Osztályozásnál lényegében hipersíkkal választjuk el az osztályokat: Lőrincz András | Neuronháló előadás
7
Lőrincz András | Neuronháló előadás
Alapproblémák Regresszió (függvény-approximáció): Címke folytonos. Pl. (hőmérséklet,fogyasztás) párok, ha ma 15.6°C a csúcshőmérséklet, mekkora az áramszükséglet (GigaWatt)? 1.87 GW? Szintén korábban látott párok alapján. Ez is input->output leképezést (modellt) tanul. Felügyeletlen tanulás: Mi tanulható, ha nem kapunk a tanító adatnál címkéket? Rekonstrukció, klaszterezés, dimenziócsökkentés. Lőrincz András | Neuronháló előadás
8
Kanonikus felügyelt tanulási feladat
Adottak az ( 𝑥 (𝑖) , 𝑦 (𝑖) ) tanító adatpárok 𝑖=1,…,𝑚. 𝑥 (𝑖) ∈ ℝ 𝑛 az input változók, pl. hőmérséklet. Output érték: 𝑦 𝑖 ∈{1,…,𝑘} osztályozásnál (pl. milyen hónap van), 𝑦 𝑖 ∈ℝ regressziónál (pl. mekkora az áramszükséglet). Modell paraméterek: 𝜗 ∈ ℝ 𝑛 . Kezdetben ismeretlen, keressük az optimálisat. Hipotézisfüggvény: ℎ 𝜗 𝑥 : ℝ 𝑛 →ℝ. 𝑥 -re tippel egy 𝑦 értéket. Pl. ℎ 𝜗 𝑥 = 𝜗 , 𝑥 . Költségfüggvény: 𝑙:ℝ×ℝ→ ℝ + . Méri a hipotézis jóságát. Kicsi érték, ha a két argumentum közeli, különben nagy. Pl. regresszió: 𝑙 ℎ 𝜗 𝑥 ,𝑦 = 1 2 ( ℎ 𝜗 𝑥 −𝑦) 2 . Adott ℎ 𝜗 𝑥 -re keressük azokat a 𝜗 paramétereket, amelyek minimalizálják az összköltséget: min 𝜗 𝑖=1 𝑚 𝑙( ℎ 𝜗 𝑥 (𝑖) , 𝑦 (𝑖) ) . Ez egy optimalizációs feladat: min 𝜗 𝐽( 𝜗 ) , 𝐽: ℝ 𝑛 →ℝ. Pl. a fenti példa esetén: min 𝜗 𝑖=1 𝑚 ( 𝜗 , 𝑥 (𝑖) − 𝑦 (𝑖) ) 2 . Gyakorlatilag minden felügyelt tanulási feladat megadható ilyen formában, mindössze három dolgot kell specifikálni: ℎ 𝜗 , 𝑙, optimalizációs módszer. Utóbbi tipikusan gradiens-módszer (vagy hasonló) lehet: 𝜗 𝑡+1 ≔ 𝜗 𝑡 −𝛼 𝛻 𝜗 𝐽 𝜗 𝑡 . Probléma: ez általános esetben kizárólag lokális optimumot ad. Szeretjük, ha J konvex: ekkor minden lokális optimum globális optimum is egyben, így a gradiens alapú módszerek jól működnek. Probléma: nem minden konvex függvény deriválható. Lőrincz András | Neuronháló előadás
9
Felügyeletlen tanulás
Adottak az 𝑥 (𝑖) ∈ ℝ 𝑛 az input változók. Nem ismertek hozzátartozó output értékek. Modell paraméterek: 𝜗 ∈ ℝ 𝑛 . Hipotézisfüggvény: hogyan definiáljuk, ha nincsenek outputjaink? Ötlet: Próbálja meg rekonstruálni az inputot! ℎ 𝜗 𝑥 : ℝ 𝑛 → ℝ 𝑛 . ℎ 𝜗 𝑥 (𝑖) ≈ 𝑥 𝑖 . Ez első ránézésre triviálisnak tűnhet, de nem az, ha ℎ 𝜗 garantáltan nem az identitás függvény. A veszteséges adattömörítés (pl. hang, videó) ilyen! Itt is modellt tanulunk az adatokra. Költségfüggvény: 𝑙: ℝ 𝑛 × ℝ 𝑛 → ℝ + . Pl. 𝑙 ℎ 𝜗 𝑥 , 𝑥 = ℎ 𝜗 𝑥 − 𝑥 A következő diákon erre nézünk példát: rekonstrukciós háló („autoencoder”) Lőrincz András | Neuronháló előadás
10
Modell neuron (perceptron)
𝑎 Input (vektor): 𝑥 Kapcsolatok (paramétervektor): 𝑤 Összegzés: Nemlinearitás: 𝑓 Output (skalár): 𝑎 Küszöb: 𝑎>𝜀 𝑓 𝜃 𝑤 1 … 𝑤 𝑛 𝑤 2 𝑤 𝑛−1 𝑥 1 𝑥 𝑛 𝑥 2 … 𝑥 𝑛−1 Lőrincz András | Neuronháló előadás
11
Lineáris és nemlineáris neuron egyenletek
neuronok Lineáris output: Rövidebb alak: Tömör formában: a Nemlinearitással: 𝑎 =𝑓 𝑊 𝑇 𝑥 𝑓 lehet sigmoid, tanh, softmax komponensenként alkalmazva. Azért ezek, mert ismert és szép a deriváltjuk: 𝑓 ′ 𝑡 = 𝑐 1 𝑓 𝑡 𝑐 2 −𝑓 𝑡 . Így a gradiens módszer használható. WT x Lőrincz András | Neuronháló előadás
12
Rekonstrukció (Visszaállítás) – Lineáris eset
Visszaállítás, ha QWT=I I lehet identitás, ha W és rangja is egyenlő dimenziójával WT x Lőrincz András | Neuronháló előadás
13
Rekonstrukció (Visszaállítás) – Lineáris eset
Inputok: 𝑥 (𝑖) ∈ ℝ 𝑛 . Összefogva egy nagy mátrix oszlopaiba: 𝑋∈ ℝ 𝑛×𝑚 . Modell paraméterek: Q, 𝑊 𝑇 . Hipotézisfüggvény: 𝑥 ≡ ℎ 𝜗 𝑥 ≔𝑃 𝑥 =(Q 𝑊 𝑇 ) 𝑥 =Q 𝑊 𝑇 𝑥 =Q 𝑎 . Költségfüggvény: 𝑙 ℎ 𝜗 𝑥 , 𝑥 = ℎ 𝜗 𝑥 − 𝑥 = Q 𝑊 𝑇 𝑥 −𝐼 𝑥 = (Q 𝑊 𝑇 −𝐼) 𝑥 (Q 𝑊 𝑇 −𝐼) 𝑥 Összköltség: min 𝑄, 𝑊 𝑇 Q 𝑊 𝑇 −𝐼 𝑋 𝐹 2 = min 𝑄, 𝑊 𝑇 Q 𝑊 𝑇 −𝐼 𝐹 2 . 𝑋 -től függetlenül! Q és 𝑊 𝑇 egymás (Moore-Penrose) pszeudoinverzei. Ha bármelyik adott, a másikat expliciten meghatározza, ki is lehet számolni. pinv 𝐴 ≡ 𝐴 † :=( 𝐴 𝑇 𝐴) −1 𝐴 𝑇 . Ha ∃ 𝐴 −1 : pinv 𝐴 = ( 𝐴 𝑇 𝐴) −1 𝐴 𝑇 = 𝐴 −1 𝐴 −𝑇 𝐴 𝑇 = 𝐴 −1 . Ez az eljárás költséges, célszerű gradiens módszerrel számolni, nemlineáris esetben muszáj is. De néha jól jön, hogy lineáris esetben van explicit képlet. A P=Q 𝑊 𝑇 szorzat egy ortogonális projekció: 𝑃= 𝑃 2 = 𝑃 𝑇 . Kérdések: Honnan kapom meg az első mátrixot? Ha nem kapom meg egyiket sem, lehet mindkettőt felváltva (hol az egyiket, hol a másikat) optimalizálni? Lőrincz András | Neuronháló előadás
14
Lőrincz András | Neuronháló előadás
Megoldás Szeretnénk a rekonstrukciós hibát csökkenteni Optimalizálandó “költség”: A rekonstrukciós hiba az a helytelen értékéből ered. Kiszámolandó: hogyan lehet az a értékén javítani? Lőrincz András | Neuronháló előadás
15
Lőrincz András | Neuronháló előadás
Grafikusan Lőrincz András | Neuronháló előadás
16
Lőrincz András | Neuronháló előadás
Mit számol a háló? a = QT (x-Qa) Iteráció megáll, ha a=0 QT (x-Qa) = 0 Nézzük: QTQa = QTx a = (QTQ)-1 QTx Tfh. A mátrix a mátrix „bal pszeudoinverze”: Lőrincz András | Neuronháló előadás
17
Lőrincz András | Neuronháló előadás
Kritika Törékeny Q és a transzponáltja is benne van identitás mátrix van benne Ne legyen törékeny! Lőrincz András | Neuronháló előadás
18
Lőrincz András | Neuronháló előadás
Konvergencia a = WT (x-Qa) helyett lim t a / t = WT (x-Qa) a megoldás: a(t) = -∫t exp(WTQ(t-τ)) WT x(τ) dτ behelyettesítéssel ellenőrizhető Konvergál, ha a sajátértékek pozitívak… Lőrincz András | Neuronháló előadás
19
Lőrincz András | Neuronháló előadás
Továbbá Mivel és így és mátrix P projektor mátrix Lőrincz András | Neuronháló előadás
20
A pszeudoinverz tulajdonságai
Tegyük fel, hogy Q oszlopai kifeszítik a teret. (Ha nem, akkor tekintsük a P projektor által meghatározott alteret.) Nézzük 2D-ben és tegyük fel, hogy a1= a2=1 ferde vetítés Lőrincz András | Neuronháló előadás
21
Lőrincz András | Neuronháló előadás
Dinamika dim(x) = 201 dim(qi) = 201 i=1,2 x = q2 dim(a)=2 látszólag verseny folyik! Lőrincz András | Neuronháló előadás
22
Példa: Számfelismerés
Lőrincz András | Neuronháló előadás
23
Lőrincz András | Neuronháló előadás
Gyors “tanulás” Mindegyik osztályhoz egy-egy rekonstrukciós háló tartozik. Az az osztály nyer, amelynél a legkisebb a rekonstrukciós hiba Hibás osztályozás, mert a 3. kategória (2-es) nyer A 4. kategória (3-as) egyik oszlopvektorát egyenlővé tesszük az inputtal. Rekonstrukciós hiba eltűnik (mert ferde vetítés történik) Lőrincz András | Neuronháló előadás
24
Tanulás: súlyok hangolása
Optimalizálandó “költség”: A rekonstrukciós hiba az Q helytelen értékéből ered. Kiszámolandó: hogyan lehet az Q értékén javítani? Hebb formájú tanulási szabály Lőrincz András | Neuronháló előadás
25
Lőrincz András | Neuronháló előadás
Hebb szabály Átrajzoljuk: És a W mátrix? Feltétel: WTQ mátrix sajátértékei legyenek pozitívak WTQ pozitiv (szemi)definit Lőrincz András | Neuronháló előadás
26
Lőrincz András | Neuronháló előadás
WQ és W rögzített? Ha W rögzített, akkor a Q = βe(t)a(t)T = β(x(t) –QWTx(t)) a(t)T Hebb szabály hova konvergál? Mikor konvergál? W és Q egy altérbe vetít: Q korrekciói az altérben maradnak… WTQ négyzetes. Így a is csak az altérben módosítja a Q -t Q = 0 ha QWTx = (ami x az altérben) = Q(QTQ)-1QTx ekkor QWT = Q(QTQ)-1QT =I WTa Q pszeudoinverze Feedforward müködés! Lőrincz András | Neuronháló előadás
27
Minek ez a bonyodalom? „Csaltunk”?
Kellett a homunculus paradoxon feloldásához m<n-nel és m=n-nel foglalkoztunk… m>n ??? Helyesen e(t) = (x(t) –QWTx(t-t)) vagy t=“1”-re e(t) = (x(t) –QWTx(t-1)) Lőrincz András | Neuronháló előadás
28
Minek ez a bonyodalom? „Csaltunk”?
Lőrincz András | Neuronháló előadás
29
Minek ez a bonyodalom? „Csaltunk”?
Kellett a homunculus paradoxon feloldásához m<n-nel és m=n-nel foglalkoztunk… m>n ??? Végtelenül gyors processzálást tettünk fel. Ha nem végtelenül gyors az eljárás, akkor e(t) = (x(t) –QWTx(t)) közelítés helytelen. Helyesen e(t) = (x(t) –QWTx(t-t)) vagy t=“1”-re e(t) = (x(t) –QWTx(t-1)) Lőrincz András | Neuronháló előadás
30
Lőrincz András | Neuronháló előadás
Predikció Végtelenül gyors processzálást tettünk fel. Ha nem végtelenül gyors az eljárás, akkor helytelen. Ez is helytelen t=“1”-re és „helyesen”: Lőrincz András | Neuronháló előadás
31
Lőrincz András | Neuronháló előadás
Predikció Predikció hibája: A hiba költsége: Lőrincz András | Neuronháló előadás
32
Predikciós mátrix javítása
Az MTM mátrix szimmetrikus és poz szemidefinite. Azonban természetes képekre nagyon nagy… Jobb lenne a reprezentáción használni, ha a reprezentácó „mindent tud” az x-ről… Lőrincz András | Neuronháló előadás
33
Prediktív mátrix használata
F Lőrincz András | Neuronháló előadás
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.