Szabadkai Műszaki Szakfőiskola Neurális hálók 2. rész
A mesterséges neuron modellje A neuron modellje a következő 3 elemből áll: 1. A szinapszisok halmaza amelyekkel a neuronok egymáshoz vannak kapcsolva. Minden szinapszishoz egy súly van rendelve. Egy teteszőleges k-adik neuronra a wkj jelölés a j-dik szinapszisán jelöli a súlyt. Ez azt jelenti, hogy a k-adik neuron xj bemenetét be kell szorozni a megfelelő wkj együtthatóval. Negatív wkj érték esetén inhibíciós szinapszissal van dolgunk, ellenkező esetben exitációssal.
A mesterséges neuron modellje 2. Az összegző a bemeneti jeleit összegzés előtt a hozzájuk tartozó szinapszis-súlyokkal kell beszorozni. Ennek az elemnek a kimenete a neuron aktivációs állapota, vagy a neuron aktivációs szintje. 3. Az aktivációs függvény az, mely meghatározza a neuron kimeneti értékét. A kimenet mindig a [0,1] vagy a [-1,1] tartományba esik.
A mesterséges neuron modellje A neuron tartalmazhat egy θ küszöböt is amelynek az a feladata, hogy korlátozza a neuron aktivációjának szintjét. A neuron matematikai leírása két egyenletből áll: x1, x2, ..., xn - bemeneti jelek wk1, wk2, ..., wkn - a k-dik neuron súlyai bemenetk – a bemenetek lineáris kombinációja Θk – a k-dik neuron küszöbe f(•) – a neuron aktivációs függvénye yk – a k-dik neuron kimeneti jele
A neuron nemlineáris modellje (1) X1 X2 xn bemenetek wk1 wk2 wkn súlyok Σ Lineáris összegző Aktivációs függvény f(.) bemenetk Kimenet yk Θk küszöb .
A neuron nemlineáris modellje (2) x0=-1, wk0=θk X1 X2 xn bemenetek wk1 wk2 wkn súlyok Σ Lineáris összegző Aktivációs függvény f(.) vi Kimenet yk . wk0 wk0=Θk X0=-1 Fix bemenet
Aktivációs függvények A neuron kimenetének viselkedésében jelentős szerepet játszik a kiválasztott aktivációs függvény. Leggyakrabban 3 alaptípusú aktivációs függvényt használunk: 1. Küszöbfüggvény 2. Darabokból összeállított lineáris függvény 3. Szigmoidális függvény
Küszöbfüggvény f(.) 1 bemenet A neuron nem negatív aktivációja esetén a neuron kimenete 1, ellenkező esetben 0.
Darabokból összeállított lineáris függvény 1 f(.) bemenet
Szigmoidális függvény A szigmoidális függvény nem lineáris és differenciálható. Ez a neuron aktivációjának leggyakrabb alakja. Monoton növekvő, sima, és tart az aszimptóták felé. A szigmoidális függvény képlete: 1 f(.) bemenet Az a paraméter a függvény meredekségét határozza meg. Ha a nagy, a függvény a küszöbfüggvény alakjához tart. Ez az unipoláris szigmoidális függvény ((0,1) intervallum).
Szigmoidális függvény Ha azt szeretnénk, hogy az aktivációs függvény kimenete a (-1,1) tartományban legyen, használhatjuk a tangens hiperbolikus függvényt: 1 f(.) bemenet -1
A neurális hálók architektúrája A neuronok összekötési módja határozza meg a neurális háló architektúráját. A hálókat 5 csoportba oszthatjuk: Egyrétegű Többrétegű Rekurens Oldalról összekötött Hibrid
Egyrétegű hálók Az összes neuron egy rétegbe van szervezve. Ez egyben a háló kimeneti rétege. A hálónak van egy bemeneti rétege is, amely a bemeneti adatok fogadására szolgál. Egy rétegen belül nincsenek összeköttetések.
Többrétegű hálók Akár az egyrétegű hálóknál, a többrétegű hálóknak is van egy bemeneti rétegük amelyek amelyek a bemeneti adatok fogadására szolgálnak, és van egy kimeneti réteg is. A többrétegű hálóknál viszont megjelenhet egy vagy több rejtett réteg isamelyeknek nincs kapcsolatuk sem a bemenettel, sem a kimenettel. Ezek a hálók lehetnek teljesen vagy részlegesen összekapcsoltak.
Rekurens hálók Ezek a hálók egy vagy több visszacsatolást tartalmaznak. Lehetnek rejtett rétegeik is. Bemenetek Kimenetek Z-1 -1 késés
Oldalról összekötött hálók Ennél a típusnál a bemeneti és kimeneti rétegeken kívül van rejtett réteg is. Ennek a rétegnek a neuronjai a szomszédos neuronokkal is össze vannak kötve (oldalösszeköttetés).
Hibrid hálók Ezeket a hálókat az eddig felsorolt architektúrák kombinálásával kapjuk.
A neurális hálók tanítása Ahhoz, hogy elvégezhessük egy függvény approximációját, mintákat osztályokba klasszifikáljunk, következtessünk valamilyen paraméterre, vagy valamilyen más feladatot elvégezzünk neurális háló segítségével, az adott problémát példahalmaz-minta formában szükséges felállítani, amit tanítóhalmaznak nevezünk. Ha minden bemeneti x vektorhoz egy kívánt d kimenet tartozik, akkor a súlyok módosításának módszerét felügyelt tanítási módszernek nevezzük (supervised learning/training).
A neurális hálók tanítása Ha csak a bemeneti vektor és a háló struktúrája adott, akkor a súlyokat a kívánt kimenetek ismerete nélkül kell módosítani. Ezt a módszert nem felügyelt tanítási módszernek nevezzük (unsupervised learning/training). Ez a két alapvető módszeren kívül léteznek más, kevésbé ismert tanítási módszerek is, pl. tanítás kritizálással (reinforcement learning).
Felügyelt tanítás A felügyelt tanítási módszer feltételezi a kívánt d kimenet ismeretét minden x bemenetre. A tanító jel generátora (“tanító”) a kívánt kimeneti d jel segítségével lehetővé teszi a kívánt és a valódi jelek közti különbség meghatározását (ρ(d,y) távolság). A korábbn meghatározott algoritmus alapján a “tanító” képes elvégezni a súlyok változtatását (a W mátrix elemeit) a pillanatnyi eltérés minimalizálása érdekében.
Felügyelt tanítás x Adaptív VNM (W) d tanító jel y p(d,y) A tanító jel generátora Tanító jel generátor A háló paramétereinek változtatását a “tanító” emulációja miatt lépésenként végezzük, vagyis a “tanító” tudását a neurális hálóra visszük át. A felügyelt tanítás alkalmas az approximációs és interpolációs technikák megvalósítására, regresszióanalízisre és paraméteresztimációra.
Felügyelet nélküli tanítás Ennél a tanítási módszernél a kívánt kimenet közvetlenül nem ismert, ezért a háló adaptációjának kritériuma csak a háló kimenetei lehetnek az aktuális bemenetekre. y x Adaptív VNM (W)
A neurális hálók tanítása A felügyelet és felügyelet nélkül betanított neurális hálók jelentősen különböznek. A felügyelet nélküli tanítás lehetővé teszi a rendszer összetett jellemzőinek osztályokba sorolását, míg a felügyelt tanítással ki lehet számítani az adott osztályok jellemzőit.
A neurálsi hálók tanításának alapszabálya A neurális hálók tanítása a súlyok változtatásaival történik. A súlyok változása annak a következménye, hogy különböző tanítójeleket hozunk a neurális háló bemeneteire. Ha a tanítás folyamata alatt a kimeneti jelek is rendelkezésünkre állnak, akkor felügyelt tanításról beszélünk. Ellentett esetben, a tanítás felügyelet nélküli.
A neurálsi hálók tanításának alapszabálya Az i-dik neuron wi=[wi1 wi2 … win]T súlyvektora a bemeneti x vektor és az r tanítási jel szorzatával arányosan változik. A tanítójel a wi súlyok, a neuron x bemenete és néha a kívánt d kimenet függvénye, vagyis r=r(wi,x,di) A súlyvektor változását a k diszkrét pillanatban a következőképpen definiálhatjuk: Δwi(k)=ηr(wi(k),x(k),di(k))x(k) η – tanítási állandó Ez a kifejezés mutatja a súlyok változásának összefüggését a bemeneti jel és a tanítójel függvényében. Diszkrét esetben a tanítási szabályt a következőképpen írhatjuk le: wi(k+1)=wi(k)+ ηr(wi(k),x(k),di(k))x(k) wi(k+1)=wi(k)+ Δwi(k)
Hebb tanítási szabály Ez a módszer felügyelet nélküli tanítás amelyet Hebb neuropszichológus a következőképpen definiált: “Ha egy A idegsejt az akszonon keresztül állandóan stimulál egy B idegsejtet, akkor erősödnek a fizikai és kémiai reakciók vagy az egyik, vagy mind a két idegsejtben, ami az A stimuláló idegsejt nagyobb hatékonyságát erdményezi”.
Hebb tanítási szabály Ha az i-dik neuron j-dik bemenetének és kimenetének yixj szorzata pozitív, akkor a wij súly növekedni fog. Ellenkező esetben ez a súly csökkenni fog. Az x és y változók a neuron bemenete és kimenete. Matematikailag az i-dik neuron j-dik súlyának változását a következő képlettel definiáljuk: Δwij= ηyixj , j=1,2,...,n (n a neuron bemeneteinek száma)
Hebb tanítási szabály Tanítási jelnek a neuron kimeneti jelét vesszük r=f(wiTx) Mivel r=yi, írhatjuk a következőt Δwij= ηf(wiTx)xj Ez a kifejezés a j-dik súly változását jelenti, míg az i-dik neuron összes súlyának változása Δwi= ηf(wiTx)x Az yixj korrelációs együtthatók határozák meg a kritériumot amely szerint születik az a döntés, hogy mely súlyok fognak növekedni (yixj>0) vagy csökkenni (yixj<0).
Perceptron tanítási szabály Ebben az esetben felügyelt tanításról van szó, a tanítási jel pedig a neuron kívánt és valódi kimenetei közti különbség, a képlete: r=di-yi yi=sgn(wiTx) a neuron valódi kimenete, di pedig az i-dik neuron kimenete. Ennek alapján az i-dik súlyvektor változásait a következőképpen fejezhetjük ki: Δwi= η(di-sgn(wiTx))x Az egyes szinapszisok változását a következő képlet szerint számítjuk: Δwij= η(di-sgn(wiTx))xj, j=1,2,...,n
Bipoláris perceptron + x ui x1 x2 x3 x4 . wi1 wi2 wii win yi 1 -1 di - di-yi η(di-yi)x X ∆W η Ezt a tanítási szabályt csak a bináris kimenetek esetében alkalmazhatjuk. Változás csak akkor lesz, ha az yi kimenet nem pontos. Mivel a neuron kimenete csak 1 vagy -1 lehet, a szinapszis változásának csak a következő értéke lehet: Δwi=+/-2ηx
Bipoláris perceptron Az előjel akkor pozitív ha di=1 és sgn(wTx)=-1, akkor negatív ha di=-1 és sgn(wTx)=1. A súlyok kezdeti értékeit tetszőlegesen válszthatjuk.
Delta tanítási szabály Ezt a módszert még kontinuális perceptron szabálynak nevezzük, vagy hibakorrekció módszernek. Ez a módszer a felügyelt módszerek csoportjába tartozik. Csak az olyan neuronoknál használjuk amelyeknek kontinuális aktivációs függvénye van (kontinuális perceptron). Ennek a módszernek az alapötlete a célfüggvény minimalizációja a hibajel alapján, vagyis a neuron valódi kimenetét a kívánt kimenetekhez minél közelebb állítani.
Kontinuális perceptron + x ui x1 x2 x3 x4 . wi1 wi2 wii win yi di - di-yi r X ∆W f’(ui) f(ui) η
Delta tanítási szabály A célfüggvényt a hibajel négyzetes összegeként határozzuk meg, a hiba pedig a kívánt és a valódi kimenetek különbsége. E=0.5*(di-yi)2, (kriterium függvény) vagy E=0.5*(di-f(wiTx))2
Delta tanítási szabály A Delta tanítási szabályt a kritériumfüggvény deriválásával nyerjük a súlyok szerint, ami a hibavektor gradiensét eredményezi: Ennek a gradiensvektornak az egyes komponensei Mivel a hiba minimalizációja azt követeli, hogy a súlyok változtatása a gradiens negatív irányába történjenek: ,η a tanítási koefficiens.
Delta tanítási szabály A tanítási jel (Delta jel) alakja: Most az egyes súlyok változását, illetve az egyes komponenseket a következő képlet alapján számoljuk:
Delta tanítási szabály A célfüggvény ábrázolásával a súlyok változásának függvényében egy többdimenziós felületet kapnánk, amely a hiba felületet képviseli. Az alkalmazott aktivációs függvények típusától függően két esetet különböztetünk meg. Ha lineáris aktivációs függvényeket használunk, a hibafelület a súlyok másodfokú függvénye, ezért a felületnek egy minimuma van.
Delta tanítási szabály Ha nemlineáris aktivációs függvényeket használunk, a hibafelületnek több minimuma van. Mind a két esetben a Delta algoritmus célja, hogy megfelelő algoritmussal, lépésenként, egy tetszőleges pontból kiindulva megtalálja a globális minimumot. Nemlineáris aktivációs függvények esetén a globális minimumot nem mindig lehetséges megtalálni, mert megtörténhet, hogy az algoritmus először egy lokális minimumra talál. Az algoritmus gyorsaságát és stabilitását az η tanítási együtthatóval lehet szabályozni. Az η kisebb értékeire a tanítás biztosan a minimumhoz konvergál, de a tanítási folyamat hosszabb ideig tart.
Vége