NEURÁLIS HÁLÓZATOKH 1. eloadás 1
Biológiai elozmények nyek: az agy Az agy az idegrendszerunk egyik legfontosabb része: - képes adatokat tárolni, - gyorsan és hatékonyan mukodik, - nagy a megbízhatósága, - tanul. 2
Biológiai elozmények nyek: neuron A neuron az agy és az egész idegrendszer alapveto funkcionális egysége. 3
Az egyszeru processzáló elem (EPE) A neuront mintájának használva létrejott az egyszeru processzáló (számítási) elem. 4
Az EPE részei 1. Bemeneti kapcsolatok és a hozzá tartozó súlyok 2. Bemeneti fuggvény 3. Aktivációs fuggvény 4. Kimenet 5. Kimeneti kapcsolatok 5
Bemeneti kapcsolatok és a hozzá tartozó súlyok Minden neuronnak van n db bemenete melyek értékei rendre x 1, x 2,..., x n, (a bemenetek lehetnek más EPEk kimenetei is) és minden kapcsolatnak van egy súlya (w 1, w 2,..., w n ). A tanuláskor pont a súlyokat módosítjuk. 6
Bemeneti fuggvény A bemeneti fuggvény értékét a kovetkezo képpen számoljuk ki: n In=Σx i w i + bias i=1 a bias a kuszobot reprezentálja. 7
Aktiváci ciós fuggvény Ha a g aktivációs fuggvényként kulonbozo matematikai fuggvényeket alkalmazunk, akkor eltéro neurális modellekhez jutunk. A három leggyakrabban használt: ugrásfuggvény step(x) = 1, ha x > 0 0, máskulonben elojelfuggvény sign(x) = +1, if x > 0-1, if x 0 szigmoidfuggveny sigmoid(x) = 1/(1+e -x ) 8
Kimenet és a kimeneti kapcsolatok Az EPE egy univerális fuggvény aproximátor. Ez azt jelenti hogy miután megtanítjuk ot, a bemenetelekhez tartozo kimenetelt a helyes eredmenyhez aproximálja. A kimeneti kapcsolatok segítségével az eredményt(kimenetet) egy másik EPE bemenetelének használhatjuk. 9
Az elemi logikai fuggvények x 1 x 2 x 1 x 2 x 1 1 1 1 1-1 AND W=1.5-1 W=0.5 OR NOT -1 W=-0.5 o(x 1,x 2 ) o(x 1,x 2 ) o(x 1,x 2 ) o(x1,x2) = 1 ha 1.5 + x1 + x2 > 0 = 0 máskulonben o(x1,x2) = 1 ha 0.5 + x1 + x2 > 0 = 0 máskulonben o(x1) = 1 ha 0.5 - x1 > 0 = 0 máskulonben 10
Perceptron A legegyszerubb neuralis hálózat. Egy neuronból áll, struktúráját nézve elorecsatolt. Használata a dichotomikus klaszifikáción alapul, ami két osztálybeli szétosztást jelent, melyeknek lineárisan szeparálhatónak kell lenniuk (Rosenblatt, 1960). N bemenetele és egy kimenetele van. 11
Perceptron - schéma Szenzor réteg x 1 Aszociatív réteg w 1 x 2 w 2 Kimenetel x n w n w 0 =0-1 12
Perceptron A perceptron bemenetele: n In(t)=Σwj(t)xj(t) + θ j=1 n az aszociatív rétegbeli neuronok száma wj(t) a súlyok az aszociatív réteg és a kimenetel kozott xj(t) j-edik neuron állapota és θ a bias. A perceptron kimenetele: Ou(t)= 1; in(t) >= 0, -1; in(t) < 0. 13
Perceptron Nevezzuk az osztályokat, melyekbe klaszifikálunk CL1 és CL2nek. A szeparációs sík a kovetkezo képpen van megadva: n In(t)=Σw j (t)x j (t) + θ = 0, j=1 w(t)=(w 0 (t)=θ, w 1 (t),..., w n (t)) vektor, x(t)=(x 0 (t)=-1, x 1 (t),..., x n (t)) is vektor és n a vektorok mérete vagyis az aszociatív réteg neuronainak száma. 14
Perceptron - tanulás A perceptron tanítása a megfelelo súlyok keresése: 1. A súlyok inicializálódnak 2. Ha a w(t) segítségével klaszifikált x(t) helyes, akkor w(t+1) súlyok nem változnak: w(t)=w(t+1) 3. Ha nem helyes, azaz x(t) є CL2 avagy CL1: ha w(t)x(t)<0 és x(t)єcl1, akkor w(t+1)=w(t)+ γ x(t) és ha w(t)x(t) 0 és x(t)єcl2, akkor w(t+1)=w(t)- γ x(t) ahol γ a tanítási parameter. 15
Perceptron Mit jelent ha a perceptron nem konvergál? - A két osztály lineárisan nem szeparálható. Alaptétel. Ha a minta lineárisan szeparálható, akkor a perceptron eljárás megoldásvektorhoz konvergál. 16
Hálózati struktúrák Nagyon sokféle létezik Eltéro számítási tulajdonságokat eredményeznek Legfontosabbak az elorecsatolt (feed-forward) és visszacsatolt (recullent) hálók 17
Elorecsatolt hálók A kapcsolatok egyirányúak Nincs hurok a hálóban Másképp mondva irányított, hurokmentes gráf Nincs kapcsolat az ugyanazon rétegbe tartozó egységekkel, visszafelé az elozo rétegbe tartozó egységekhez és a kapcsolatok enm ugornak át rétegeket. A számítás egyenletesen halad a bemeneti egységektol a kimenetelig A hálózatnak nincs más belso állapota, csak a súlyok. 18
Elorecsatolt hálók - schéma Bemeneti egységek 1. rejtett e. 2. rejtett e. Kimeneti e. 19
Visszacsatolt hálók A kapcsolatok által kialakított topológia tetszoleges Olyan belso állapottal rendelkeznek, amelyet az aktivációs értékek tárolnak Instabilan, kaotikusan mukodhetnek A tanulás nehezeb, hosszú idot vesz igénybe Képesek bonyolultabb feladatok medoldására. 20
Visszacsatolt hálók - schéma Bemeneti egységek 1.rejtett egységek 2. rejtett e. Kimeneti e. 21
Inteligens rendszerek Egy renszer, mely gépi inteligenciával rendelkezik a kovetkezo elemeket kell hogy tartalmazza: Tudás elraktározása tanulás Problémák megoldása Az inteligens rendszerek inteligens technológiákhoz vezetnek. 22
A tudás formái Deklaratív forma olvasható (tobbnyire simbolikus formában) Procedurális forma nem olvasható (tobbnyire numerikus formában). A neuron hálózatnak 2 életszakasza van: 1. A tanulás változnak a súlyok 2. Maga a létezés a súlyok már nem változnak. 23
Hálók tanulása A tanítás mindig példák alapján történik A tanítás a neurális hálózat súlyainak valamilyen algoritmus általi megfelelő beállítását jelenti Kontrolált Nem kontrolált 24
Nem kontrolált lt tanulás unsupervised learning A hálózatot, mely kontrolálás nélkul tanul, on organizálódó hálózatnak is hívjuk (selforganising NN) a hálózatnak csak a bemeneteket tudjuk megadni, a kimenetet onmaga dolgozza fel A tanulás akkor marad abba ha a súlyok változása a t. és a (t+1). Idoben elegendoen kicsi, azaz ΔW(t)-ΔW(t+1) ε. 25
Nem kontrolált lt tanulás Nagyon gyakran használt a konkurens tanulás Competitive learning), melyben érvényes a nyertes visz mindent torvény mely a kovetkezo lépésekbol áll: 1. A bemenet után a szignális a kovetkezo rétegbe halad 2. A neurón nelynek a legnagyobb az értéke, lesz a nyertes, értéke 1 lesz, míg a tobbi neuronnak 0. Csak azok a súlyok változnak melyek a nyerteshez vezetnek. A konkurens tanulás csoportosításhoz vezet. 26
Kontrolált lt tanulás A kontrolált tanulás filozófiája a tanár jelenlétén van megalapozva A bemeneteleken kívul a hálózatnak a bemenetelekhez tartozó kimeneteleket is meg kell adnunk. Tehát a kontrolált tanítást 3 csoportra osztjuk: 1. a hiba kijavítása alapján torténo tanulás (error correction learning) 2. stochasztikus (stochastic learning) 3. és a tevékenység kiértékelése alapján torténo tanulás (reinforcement learning) 27
Mire jó az inicializáci ció? A hálók tanulásánál az elso lépés tobbnyire a súlyok inicializálása Az értékek vélatlenszeruen vannak generálva tobbnyire (-1,1) intervalumból Az elso iteráció után a súlyok értéke a kovetkezo lesz: W(1)=w(0)+Δw(0). Ha hálózat túltanulta magát azaz konstáns eredményt produkál, újrainicializálhatjuk ot és újból próbálhatjuk tanítani. 28
Neurális hálózatok alkalmazásakor felmerilo kérdések Milyen hálózati architektúrát használjunk? Hogyan válasszuk meg a hálózat paramétereit? Hogyan válasszuk meg a bemeneti és kimeneti reprezentációt? Hogyan válasszuk meg a tanító halmazokat? Milyen tanító algoritmust válasszunk? Meddig tanítsuk a hálózatot? 29
Alkalmazási teruletek Függvény közelítés(aproximálására), méréstechnika (pl: prognózisok) Objektum felismerés, osztályozás Képfeldolgozás: kézírás, arcfelismerés, térképek elemzése Szöveg elemzés Signálisok transzformálására Aszociációs problémák megoldására Az emlékezet szimulációjára A neurális hálózatok aplikálása az alaptulajdonságaiból indul ki. A legfontosabb az, hogy a NH a fuggvény univerzális aproximálója. 30
Fejlodési irányok Hibrid rendszerek Neurális hálózatok, szabályalapú és hagyományos rendszerek egyuttes használata, a kulonbozo megkozelítések elonyeinek kihasználása Moduláris felépítés Feladatok részfeladatokra osztása Hierarchikus feldolgozás A felsobb szinteken az alsóbb szintek eredményeinek felhasználása. 31
Neurális hálózatok elonyei Egyszerű, és könnyen megérthető működési elv. Nem baj, ha nincs meg minden tulajdonsága a tanító példáknak Egymásnak ellentmondó példák esetén is működik Hatékonyan párhuzamosítható A hálózat a feladathoz alkalmazkodik, tanul Nincs szükség a hagyományos értelemben vett programozásra. 32
Neurális hálózatok hátrh trányai a tanuláshoz nagyon sok példára van szükség a tanítási folyamat hosszú időt is igénybe vehet a betanított hálózat súlyai nem mondanak semmit a tanulás hatékonysága nagyban függ a példák előfeldolgozottságától nincsenek kialakult módszerek (paraméterek próbálgatás útján). 33
Fuggvények kozelítését tanuló hálózat -1 http://neuron.eng.wayne.edu/bpfunctionapprox/bpfunctio napprox.html Rengeteg paramétert változtathatunk (a megtanulandó fuggvény, a neuronok száma, aktiválási fuggvény stb.), és figyelhetjuk a tanulás hibájának alakulását. Sajnos magát a neurális hálózatot nem tudja vizuálisan megjeleníteni. 34
Fuggvények kozelítését tanuló hálózat -2 Vegyunk például egy szigmoid fuggvényt és inicializáljuk a súlyokat: 35
Fuggvények kozelítését tanuló hálózat -3 Vagy 600 gyakorló ciklus után így fog aproximálni: 36
A klaszikus SNNS http://www-ra.informatik.uni-tuebingen.de/snns/ Stuttgart Neural Network Simulator- itt a programtól kezdve az User manual-ig minden megtalálható 37
Képtomorítés neurális hálózattal - 1 http://neuron.eng.wayne.edu/bpimag ecompression9plus/bp9plus.html Célja a képek méretének csokkentése, de nem az igazi: túlságosan lassan tanul, és a minoség is elég gyatra. A program surun kivételt dob, de azért elég látványos. 38
Képtomorítés neurális hálózattal - 2 Maga a program így néz ki: 39
Kézírást felismero program http://members.aol.com/trane64/java/jrec.html Mintákat kell neki megadni, és megmondani, hogy az milyen számjegy volt. Majd taníttatni kell, és lehet tesztelni a képességeit. 40
Itt a vége, fuss el véle Tehát ennyi a neurális hálózatokról. Kérdések?...koszonom a figyelmet 41