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

Mesterséges Intelligencia 1. 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.

Hasonló előadás


Az előadások a következő témára: "Mesterséges Intelligencia 1. 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."— Előadás másolata:

1 Mesterséges Intelligencia 1

2 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. 2

3 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. 3

4 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. 4

5 6.1. ábra: Az idegsejt vagy neuron részei 5

6 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. 6

7 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. 7

8 6.2. ábra: A számítógépek számítási erőforrásainak és az agy erőforrásainak durva összehasonlítása. 8

9 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 processzorban lévő kapuk száma 2020-ban fogja elérni az agyi neuronok számát. 9

10 A processzor sebessége már most is domináns az agyhoz képest. Egy chip nanomásodpercek (10 -9 s) alatt hajt végre egy utasítást, a neuronok ennél milliószor lassabbak (10 -3 s). 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 (10 6 ) gyorsabb, végeredményben az agy százezerszer (10 5 ) gyorsabban oldja meg a feladatot. 10

11 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ás végrehajtásnak” (processing step) felel meg.  Támogatja az intelligenciánkat és tudatunkat (arra még nincs válasz hogy hogyan). 11

12 6.3. ábra: Az agy és a számítógép képességeinek összehasonlítása 12

13 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. 13

14 14 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

15 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. 15

16 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. 16

17 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. 17

18 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. 18

19 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. 19

20 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. 20

21 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ó meghaladhatja a küszöböt. Ugyanakkor lehet, hogy a neuronhoz nem egy időben fognak érkezni a jelek. 21

22 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. 22

23  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. 23

24  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. 24

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

26 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. 26

27 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. 27

28 A perceptron kimeneti y értéke 1, ha w 1 x 1 +w 2 x w n x n nagyobb mint a T küszöb. Ellentett esetben a kimenet értéke 0. 28

29 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. 29

30 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. 30

31 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. 31

32 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. 32

33 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 akkor lehet n, ha az összes bemenet aktív (1). 33

34 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. 34

35 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. 35

36 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. 36

37 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. 37

38 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. 38

39 Pattern – minta, alak, példány A bemeneteket (x 1,x 2,...,x n ) 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. 39

40 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. 40

41 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 annyit jelent, hogy nincs négyzet (x 2 ) vagy magasabb kitevő (x 3 ) a képletekben. 41

42 A minta (x 1,x 2,...,x n ) 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 r 2 =x 2 +y 2 Ugyanez a távolság n dimenzióban r 2 =x 1 2 +x x n 2 Az r-t a (x 1,x 2,...,x n ) pont norm -jának (Euklideszi norm -jának) nevezzük. 42

43 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 w 1 x 1 +w 2 x w n x n =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. 43

44 Ez a perceptron geometriai interpretációja. Egy perceptron a w 1,w 2,...,w n 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. 44

45 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. 45

46 A tanulási folyamat alatt bemenetek sorozatát vezetünk a perceptronra (mindegyiknek (x 1,x 2,...,x n ) 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 w 1 x 1 +w 2 x w n x n. Ha a háló bemenete kisebb a küszöbnél, akkor a kimenet 0, különben a kimenet 1. 46

47 Ha a perceptron rossz (nemkívánatos) kimenetet ad, akkor két dolog történhetett: 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 – cx i ) Több algoritmus van arra, hogy a c együtthatót hogyan határozzuk meg. Egyelőre tekintsük állandónak. 47

48 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 hiba legnagyobb részéhez. Ezért annak az élnek a súlyát jobban csökkentjük (a bemenettel arányosan). 48

49 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 + cx i ) 49

50 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. 50

51 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áállá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. 51

52 52


Letölteni ppt "Mesterséges Intelligencia 1. 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."

Hasonló előadás


Google Hirdetések