Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Neurális hálók.

Hasonló előadás


Az előadások a következő témára: "Neurális hálók."— Előadás másolata:

1 Neurális hálók

2 Neurális hálók Hogyan dolgozza fel az információt az agy?
A neurális tudományok (neuroscience) az idegrendszert, de főleg az agyat tanulmányozzák. Az hogy hogyan kelekteznek a gondolatok az agyban, még mindig nem teljesen világos a tudósok számára. Az agy részese a gondolatnak, mert egy erős fejbeütés a mentális funkciók károsodásához vezethet.

3 Neurális hálók Még Arisztotelész írta, hogy az összes állat közül méretéhez képest az embernek van a legnagyobb agya. Ennek ellenére, csak a 18. században fedezték fel, hogy a tudat az agyban keletkezik. Korábbi jelöltek a szív és a lép voltak.

4 Neurális hálók A tudósok a 19. század közepe felé jöttek rá arra, hogy az agy neuronokból áll. Az agy aktivitásának mérése 1929-ben kezdődött amikor Hans Berger kidolgozta az elektroencefalográfia (EEG) elvét. A funkcionális mágneses rezonancia (fMRI) részletesen tárják a kutatók elé az agy aktivitását.

5 Neurális hálók Az idegsejt vagy neuron részei

6 Neurális hálók Minden neuron sejttestből vagy szómából áll, amely sejtmagot tartalmaz. A sejttestből ágazik el néhány dendritnek nevezett, és egy axonnak nevezett szál. Az axon messzebbre ér el mint ahogy azt az ábra mutatja. Az axonok kb. 1cm hosszúak (ez a sejttest átmérőjének 100-szorosa), de elérhetik az 1m-t is. Egy neuron más neuronnal tart kapcsolatot a szinapszisoknak nevezett csatlakozásokon keresztül. A jeleket neuronról neuronra egy összetett elektrokémiai reakció továbbítja.

7 Neurális hálók A jelek rövid távon szabályozzák az agy aktivitását, hosszú távon pedig befolyásolják a neuronok helyzetét és kapcsolódási rendszerüket. Úgy tartják, hogy e mechanizmusok képezik az agyi tanulás alapját. Az információfeldolgozás zöme az agy kérgében történik, ami az agy külső rétege. A feldolgozás szervezeti egysége egy kb. 0.5mm átmérőjű szövetoszlop. Egy szövetoszlop kb neuront tartalmaz.

8 Neurális hálók

9 Neurális hálók A táblázat adatai 2003-ból vannak. Azóta a számítógépekre vonatkozó adatok kb. 10-szer megnőttek, és ez a növekvés várhatóan a jövőben is növekedni fog. Az agyra jellemző adatok az utolsó évben nem változtak. Az emberi agyban kb szer több neuron van, mint ahány kapu található egy korszerű számítógép processzorában. A Moore törvény alapján meg lehet jósolni, hogy a processorban lévő kapuk száma 2020-ban fogja elérni az agyi neuronok számát.

10 Neurális hálók A processzor sebessége már most is domináns az agyhoz képest. Egy chip nanomásodpercek (10-9s) alatt hajt végre egy utasítást, a neuronok ennél milliószor lassabbak (10-3s). A lassúságot az agy a párhuzamossággal kompenzálja. Minden neuron és szinapszis egyidejűleg aktív, holott a legkorszerűbb számítógépeknél is csak egy vagy legfeljebb néhány processzor van. Annak ellenére, hogy a számítógép nyers kapcsolási sebessége milliószor (106) gyorsabb, végeredményben az agy százezerszer (105) gyorsabban oldja meg a feladatot.

11 Neurális hálók Az agy lehetőségei:
Részleges károsodás esetén az agy még mindig elég jól funkcionál. Ezzel ellentétben a számítógépes programok lefagynak ha valamelyik tetszőleges részüket kihagyjuk. Az agy képes tanulni (átrendeződni) a tapasztalatokból. Ez azt jelenti, hogy részleges károsodás esetén javulás történhet úgy, hogy az agy egészséges részei átveszik és megtanulják a károsodott feladatokat ellátni. A párhuzamos számításokat kivételesen hatékonyan végzi. Például, egy összetett vizuális érzet kevesebb mint 100ms alatt keletkezik, ami 10 „utasításvégrehajtásnak” (processing step) felel meg. Támogatja az intelligenciánkat és tudatunkat (arra még nincs válasz hogy hogyan).

12 Neurális hálók Az agy és a számítógép képességeinek összehasonlítása

13 Az idegrendszer struktúrája
Az idegrendszer olyan neuronokból áll amelyek összetett módon vannak egymással összekötve. Minden neuront egy csomópontként lehet elképzelni, a köztük lévő összeköttetést pedig éleknek. Az ilyen struktúrát irányított gráfnak nevezzük. Minden élnek van egy súlya is, amely azt reprezentálja, hogy a két összekötött neuron milyen mértékben hathat (interact) egymásra. Ha ennek a súlynak nagyobb az értéke, a két neuron jobban hathat egymásra, és az élen keresztül erősebb jelet továbbíthatunk.

14 Az idegrendszer struktúrája

15 Az idegrendszer működése
Két neuron közötti kapcsolat olyan, hogy az egyik vagy stimulálja (stimulate), vagy akadályozza, gátolja (inhibit) a másikat. Két neuron között csak akkor léphet fel kapcsolat, ha egy éllel vannak összekötve.

16 Az idegrendszer működése
Ha az A neuron a B neuronhoz van kötve egy w súlyon keresztül, és ha az A neuront megfelelő intenzitással stimuláljuk, akkor egy jelet fog küldeni a B neuronnak. A jel függ a w súlytól, és attól, hogy a jel stimuláló vagy inhibíciós. Ez attól függ, hogy a w pozitív-e vagy negatív. Ha megfelelő erősségű jelet küldünk, B stimulálva lesz.

17 Az idegrendszer működése
Az A neuron csak akkor fog jelet küldeni ha megfelelő erősséggel stimuláljuk, vagyis ha a stimuláció nagyobb egy előre meghatározott küszöbnél. Ha az A neuron jelet küld, akkor el fogja küldeni minden neuronnak amelyikkel össze van kötve. Különböző neuronok küszöbe eltérő lehet. Ha több neuron küld jelet az A neuronnak, a kombinált stimuláció meghaladhatja a küszöb értékét.

18 Az idegrendszer működése
Ha a B neuront megfelelően stimuláljuk, a kimeneti jele azokat a neuronokat stimulálhatja amelyek rá vannak kötve. Az összesített komplexitást figyelve, a teljes háló működése nagyon összetett lehet, de az egyes neuronok működése továbbra is ezen az alapelven működik.

19 Az agy működésének modellezése neurális hálóval
Amint láttuk, egy neuron működése nagyon egyszerű. Miért nehéz számítógéppel modellezni az agy működését? Nehéz eldönteni, hogy melyik neuront melyikkel kössük össze. Ezt a problémát a neurális háló struktúrájának meghatározásának nevezzük. Ezen kívül, az agyban az összeköttetések állandóan változnak. Az élek súlya és a neuronok küszöbértékei állandóan változnak.

20 Az agy működésének modelezése neurális hálóval
A következő hozzáállást kell alkalmazni: Ha egy meghatározott bemenetre a neurális háló hibás eredményt ad, pontosan meg lehet határozni, hogy mely neuronok voltak aktívak mielőtt a hiba fellépett volna. Akkor ennek tudatában megváltoztathatjuk a súlyok értékét és a küszöböket a hiba csökkentésének érdekében.

21 Az agy működésének modelezése neurális hálóval
Ahhoz hogy ez a hozzáállás működjön, a neurális hálónak muszáj „tudnia”, hogy hibázott. A valós életben a hiba hosszú idő után válik nyilvánvalóvá. Ez egy nehéz eset, mert lehet, hogy nem tudjuk, hogy melyik bemenet okozta a hibát. Mindent összevetve, az egyéni neuronok működése lehet hogy többé nem egyszerű. Ha például a neuronok több környező neuronból fogadnak jelet, a kombinált stimuláció meghaldhatja a küszöböt. Ugyanakkor lehet, hogy a neuronhoz nem egyidőben fognak érkezni a jelek.

22 Az agy működésének modellezése neurális hálóval
Még egy eltérés a normális működéstől abban az esetben fordulhat elő ha valamely élek mind a két irányban továbbítják a jeleket. Valójában mindegyik neuron képes a kétirányú jelátvitelre, de általában csak egy irányban mozognak az információk.

23 A neurális hálók előnyei
Olyan feladatokat is el tud látni amelyeket egy lineáris program nem képes. Ha a neurális háló egy eleme „elromlik”, a párhuzamosság miatt folytatja a működést különösebb gond nélkül. A neurális háló képes tanulni, és nem szükséges az újraprogramozás. Bármilyen területen alkalmazható. Az alkalmazásnak nincs semmilyen akadálya.

24 A neurális hálók hátrányai
Ahhoz hogy a neurális háló működőképes legyen, tanításra van szüksége (training). A neurális hálók architektúrája különbözik a mikroprocesszorok architektúrájától, és ezért emulációra van szükség. Nagy neurális hálóknál nagy a számítási igény is.

25 A perceptron A perceptron bemenetei (xi – valós számok vagy boole értékek), súlyai (wi – valós számok) és kimenete (y) T a küszöb, értéke reális.

26 A perceptron Ez egy nagyon egyszerű modell, és egy betanítható neuronból áll. A betaníthatás annyit jelent, hogy a küszöbérték és a súlyok változtathatók. A bemeneteket a neuronra vezetjük, és minden bemeneti kombinációnak egy kívánt kimenet felel meg (amit a felhasználó határoz meg). Ha a neuron nem a kívánt kimenetet adja, akkor hibázott. Ahhoz, hogy ezt kijavítsuk, a küszöbértéket és/vagy a súlyokat meg kell változtatni. Ezeknek a paramétereknek a változtatásának módját a tanító algoritmus határozza meg.

27 A perceptron A perceptron kimenete egy boole érték (igaz, hamis), (1,0), (1,-1) vagy valami hasonló. Ez nem korlátozás, mert ha a perceptron kimenete valamilyen más egység bemenete lenne, a kimeneti élhez is súlyt lehet rendelni. Akkor a kimenet ettől a súlytól is függne.

28 A perceptron A perceptron kimeneti y értéke 1, ha w1x1+w2x2+...+wnxn
nagyobb mint a T küszöb. Ellentett esetben a kimenet értéke 0.

29 A perceptron tanítása Az alapötlet az, hogy a perceptront úgy tanítsuk be, hogy megfelelő bemeneti kombinációkra a kívánt kimenetet adja. A betanítás után megfelelő és értelmes kimeneteket kell hogy adjon akármilyen bemenetre. Ha nem is volt betanítva az adott bemenetre, meg kell találnia a legjobb lehetséges megoldást a betanítási szabályok alapján.

30 A perceptron tanítása Ezek szerint a betanítási folyamat alatt a perceptron bemenetére egyenként vezetünk jeleket, és ellenőrizzük a kimenetet. Ha a kimenet hibás, „közöljük” a perceptronnal, hogy hibázott. Akkor ki kell cserélnie a súlyokat és/vagy a küszöböt annak érdekében, hogy máskor ilyen hibát ne vétsen.

31 A perceptron tanítása A perceptron modellje általában valamivel más formában van megadva. A bemeneteket általában nem direkt vezetjük a betanítható neuronra, hanem egy „előfeldolgozási egységre” amely módosítja azokat. Ezek az egységek különböző komplexitásúak lehetnek, ami azt jelenti, hogy a bemeneteket akárhogy módosíthatják. Ezek a módosító elemek az ábrán nincsenek feltüntetve.

32 A perceptron tanítása A perceptron működésének megértéséhez egy egyszerű példát mutatunk be: a logikai „és”, „vagy” és „nem” műveletek kiszámítása egy adott boole változók halmazára.

33 A perceptron tanítása A logikai „és” függvény kiszámítása: Összesen n bemenet van, mindegyik értéke 0 vagy 1. Az n változó között a logikai „és” eredménye akkor és csak akkor lesz 1, ha az összes bemenet értéke 1. Ezt könnyen el lehet érni, ha a küszöb értékét n-re állítjuk. Az összes él súlya 1. A bemenetek összege csak akor lehet n, ha az öszes bemenet aktív (1).

34 A perceptron tanítása A logikai „vagy” függvény kiszámítása:
Egyszerű belátni, hogy ha a küszöböt 1-re állítjuk, a kimenet 1 lesz ha legalább az egyik bemenet aktív (1). A perceptron akkor logikai „vagy” kapuként működik.

35 A perceptron tanítása A logikai „nem” függvény kiszámítása:
A negálás valamivel trükkösebb, de meg lehet valóstani. Ebben az esetben csak egy boole változóval dolgozunk. Legyen az él súlya -1, így a bemenet melynek értéke vagy 0 vagy 1, 0 vagy -1 lesz. A küszöböt nullára kell álltani. Ha a bemenet 0, a küszöb el van érve és a kimenet 1. Ha a bemenet 1 (-1 súlyozás után), a küszöb nincs elérve, és a kimenet 0.

36 A XOR probléma Vannak olyan problémák amelyeket nem lehet perceptronnal megoldani. Valójában több olyan probléma van amit nem lehet megoldani, mint olyan amit meg lehet oldani. A leggyakrabban említett példa a XOR probléma: Olyan perceptront építeni amely 2 bemenetet fogad, és a kimeneten a bemenetek XOR függvényét adja.

37 A XOR probléma A célunk olyan perceptront építeni amely kimenete akkor lesz 1, ha a bemenetek különböznek, Ha pedig a bemenetek megegyeznek, a kimenet 0.

38 A XOR probléma Ha mind a két bemenet 0, a perceptron bemenetei nullák (kisebb mint a küszöb – 0.5). A kimenet 0 (OK). Az egyik bemenet 0, a másik 1, a perceptron bemenete 1 (nagyobb mint a Küszöb – 0.5). A kimenet 1 (OK). Ha mind a két bemenet 1, a kimenet téves lesz. Nem létezik olyan perceptron amely megoldaná ezt a problémát.

39 Pattern recognition (mintafelismerés)
Pattern – minta, alak, példány A bemeneteket (x1,x2,...,xn) pattern-eknek (minta) is nevezik. Ha a perceptron egy mintára a helyes, kívánt kimenetet adja, akkor azt mondjuk, hogy a perceptron felismerte (recognize) a mintát. Azt is mondhatjuk, hogy a perceptron helyesen osztályozta (classify) a mintát.

40 Pattern recognition (mintafelismerés)
Mivel a definíció szerint a pattern nem más mint számok sorozata, reprezentálhat akármit amit egy fájlban tárolhatunk (kép, dal, szöveg). Ekkor a perceptron megtanulja ezeket a bemeneteket, és osztályokba sorolja őket. Új (ismeretlen) bemenetek esetén a perceptron a már megtanult korábbi tapasztalatai alapján dönt az osztályzásról. Baj akkor következhet be, ha valami olyanra szeretnénk megtanítani a perceptront mint pl. a XOR függvény. Akkor a perceptron nem nyújt segítséget, de lehet hogy más neurális háló igen.

41 Lineárisan szétválasztható minták (Linearly separable patterns)
Ha egy perceptron az adott mintahalmazt szabályosan képes osztályozni, akkor a mintát lineárisan szétválaszthatónak (elkülöníthetőnek) nevezzük. A „lineáris” kifejezést azért használjuk, mert a perceptron egy lineáris rendszer. A neuron bemenete lineáris függvénye az egyéni bemeneteknek, a kimenet pedig lineáris függvénye a neuron bemenetének. A lineáris annyt jelent, hogy nincs négyzet (x2) vagy magasabb kitevő (x3) a képletekben.

42 Lineárisan szétválasztható minták (Linearly separable patterns)
A minta (x1,x2,...,xn) egy pont az n-dimenziós térben. Ez annak a gondolatnak a kibővítése, hogy (x,y) egy pont a 2-dimenziós térben, (x,y,z) pedig egy pont a 3-dimenziós térben. Az euklideszi távolság az origótól 2 dimenzióban r2=x2+y2 Ugyanez a távolság n dimenzióban r2=x12+x xn2 Az r-t a (x1,x2,...,xn) pont norm-jának (Euklideszi norm-jának) nevezzük.

43 Lineárisan szétválasztható minták (Linearly separable patterns)
Az egyenes vonal 2D-ben az ax+by=c egyenlettel van megadva. 3D-ben ez az egyenlet ax+by+cz=d. Általánosítva egy hipersík (hyperplane) objektumot kapunk, melynek egyenlete w1x1+w2x2+...+wnxn=T Az utolsó egyenlet nem más mint a perceptron bemenete. Az összes pont (minta) melyre a neuron bemenete nagyobb mint T egy osztályhoz tartozik (ugyanaz lesz a kimenet). Az összes többi pont egy másik osztályhoz fog tartozni.

44 Lineárisan szétválasztható minták (Linearly separable patterns)
Ez a perceptron geometriai interpretációja. Egy perceptron a w1,w2,...,wn súlyokkal és T küszöbbel reprezentálható az adott hipersíkkal. Az összes pont a hipersík egyik oldalán egy osztályhoz tartozik. A hipersík (perceptron) az összes pontot (mintát) két elkülöníthető osztályba sorolja.

45 Lineárisan szétválasztható minták (Linearly separable patterns)
Most láthatjuk, hogy miért nincs a XOR problémának megoldása. Adott két bemenet, ezért (szerencsére) csak két dimenzió van. Az osztályozni kívánt pontok a (0,0) és (1,1) – első osztály, és (0,1) és (1,0) – második osztály. Egy egyenes vonallal nem különíthetjük el a kék x-eket a piros pontoktól, ezért egy perceptron nem képes megoldani a XOR problémát.

46 Perceptron tanulási algoritmusok
A tanulási folyamat alatt bemenetek sorozatát vezetünk a perceptronra (mindegyiknek (x1,x2,...,xn) alakja van). Minden ilyen bemenetre létezik egy kívánt kimenet – 0 vagy 1. Az aktuális kimenetet a neuron bemenete határozza meg, ami nem más mint w1x1+w2x2+...+wnxn. Ha a háló bemenete kisebb a küszöbnél, akkor a kimenet 0, különben a kimenet 1. Ha a perceptron rossz (nemkívánatos) kimenetet ad, akkor két dolog történhetett:

47 Perceptron tanulási algoritmusok
1. A kívánt kimenet 0, de a neuron bemenete a küszöb felett van. Így az aktuális kimenet 1 lesz. Ilyen esetben a súlyokat csökkenteni kell. Az a kérdés, hogy mennyivel? A perceptron betanító algoritmus szerint, a súly csökkentésének a mértéke egyenesen arányos kell, hogy legyen az adott bemenettel. (az i-dik él új súlya) = (régi súly – cxi) Több algoritmus van arra, hogy a c együtthatót hogyan határozzuk meg. Egyelőre tekintsük állandónak.

48 Perceptron tanulási algoritmusok
Itt az az ötlet, hogy ha valamelyik élre kapcsolt bemenet nagyon nagy volt, akkor valószínűleg az az él járult hozzáa a hiba legnagyobb részéhez. Ezért annak az élnek a súlyát jobban csökkentjük (a bemenettel arányosan).

49 Perceptron tanulási algoritmusok
2. A másik eset amikor a perceptron hibázik, amikor a kívánt kimenet 1, de a bemenet a küszöb alatt van. Most a súlyokat növelnünk kell. Hasonló logikával mint az előbb, az él súlyainak növelése arányosnak kell lennie az él bemenetével. (az i-dik él új súlya) = (régi súly + cxi)

50 Perceptron tanulási algoritmusok
Hogyan határozzuk meg c-t? Ha c állandó, akkor az algoritmust „fixed increment rule”-nak hívjuk. Ebben az esetben a perceptron lehet, hogy nem javítja ki azonnal a hibáját. Ha hiba miatt kicseréljük a súlyokat, az új súlyok nem garantálják, hogy ugyanaz a hiba nem fog újra megismétlődni. Ez akkor történhet meg ha c kicsi. Ha ismételjük ugyanazt a bemenetet, a súlyok minden alkalommal lassan változni fognak, amíg a hibát el nem kerüljük.

51 Perceptron tanulási algoritmusok
A c paramétert úgy is megválaszthatjuk, hogy biztosan elkerülje a hibát ha következő alkalommal ugyanazt a bemenetet alkalmazzuk. Ezt „absolute correction rule”-nak nevezzük. Ezzel a hozzáálással az a baj, hogy egy bemenet megtanulásával a rendszer „elfelejtheti” a korábban megtanult bemenetet. Ez a probléma akkor jelentkezhet ha egy bemenet a súlyok növelését követeli, egy másik bemenet pedig a súlyok csökkentését követeli.


Letölteni ppt "Neurális hálók."

Hasonló előadás


Google Hirdetések