Neurális hálók

Download Report

Transcript Neurális hálók

Neurális
hálók
A mesterséges neuron modellje
1.
A neuron modellja a következő 3 elemből áll:
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.
Skup sinapsi kojim su neuroni međusobno povezani.
Svakoj sinapsi je pridružen težinski koeficijent. Za
proizvoljni k-ti neuron oznaka wkj označava težinski
koeficijent na njegovoj j-toj sinapsi. To znači da se j-ti
ulaz xj u k-ti neuron, prethodno množi sa adekvatnim
težinskim koeficijentom wkj. U slučaju negativne
vrednosti wkj radi se o inhibicionoj sinapsi, u
suprotnom, sinapsa je eksitaciona.
A mesterséges neuron modellje
2. Sumator ulaznih signala prethodno
pomnoženih sa odgovarajućim težinama
sinapsi. Ovaj element se naziva još i linearni
kombinator, a njegov ozlaz predstavlja
aktivaciju neurona ili nivo aktivacije neurona.
3. Aktivaciona funkcija kojom se ograničavaju
vrednosti izlaza neurona. Opseg izlaza
neurona obično se kreće u intervalu [0,1] ili
[-1,1].
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:
n
ulaz
k

w
kj
xj
j 1
y k  f ulaz
x1, x2, ..., xn
k
k 
- bemeneti jelek
wk1, wk2, ..., wkn - a k-dik neuron súlyai
ulazk – 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)
A neuron nemlineáris modellje (2)
n
ulaz
k

w
kj
xj
j0
y k  f ulaz
k

x0=-1, wk0=θk
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
A neuron nemnegatív aktivációja esetén a neuron kimenete 1, ellenkező esetben 0.
Darabokból összeállított lineáris
függvény
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:
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:
A neurális hálók architektúrája
1.
2.
3.
4.
5.
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.
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
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.
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, za 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
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
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.