Dunaúvársi Főiskla Inrmatikai Intézet Mesterséges neurális hálók Dr. Seebauer Márta őisklai tanár seebauer.marta@szgti.bm.hu
Szimblikus és nem-szimblikus MI Szimblikus tudáseldlgzás. Tudásbeszerzés 2. Tudásábrázlás 3. Szimblikus következtetés Mesterséges neurális hálók. Tanulási minta kiválasztása 2. Tanítás 3. Analóg következtetés
Az emberi agy. Nagyagy 2. Kérges test 3. Köztes agy Thalamus Hypthalamus 4. Agyalapi mirigy 5. Középagy 6. Kisagy 7. Híd 8. Nyúlt velő
Az agy és a digitális számítógép összehasnlítása Műveletvégző egység Tárló Ciklusidő Sávszélesség Működési mód Hibatűrés bit RAM, 2 bit HDD -8 s 9 bit/s Néhány párhuzamsan működő CPU srs eldlgzást végez lehet kritikus Számítógép 6 lgikai kapu/cpu neurn neurn -3 s 4 bit/s Telesen párhuzams eldlgzás ó, de rmlik Emberi agy
A bilógiai és a mesterséges neurn A környező idegsetekből a dendritek veszik át az ingerületet, és tvábbíták a settesthez. A beövő elek emelik vagy csükkentik a settest ptenciálát. Megelelő küszöbérték elérése esetén elektrms impulzus ut végig az axnn. A eleket bnylult elektrkémiai reakciók szállíták a szinapsziskn keresztül egyik idegsetről a másikra. Dendrit K K 2 K w 2n w n w n n Bemei üggvény K n act a n Aktivációs üggvény ut n Kimei üggvény Setmag Settest vagy szóma Axn Beövő szinapszisk Kivezető szinapszisk Bemei értékek a súlyüggvényeken w in keresztül lép be a neurnba. A lineáris bemei üggvény n kiszámíta a bemei értékek súlyztt összegét: n = w n A nemlineáris aktivációs üggvény act a bemei üggvényből egy meghatárztt küszöbérték θ n igyelembe vételével előállíta a neurn aktivációs értékét: an = act ( n, θ n A kimei üggvény ut előállíta a n aktivációs értékből n kimei értéket, amely a következő neurnk bemeére kerül: n = ut (a n
Aktivációs üggvények ellemzően szigmid ellegűek act ( x = cx, act ( x =, ha x θ egyébként, act ( x =, ha x egyébként lineáris θ ugrásüggvény előelüggvény act ( x = + e cx act ( x = tanh( c x szigmid üggvény Tangens Hyperblicus
Hálózati struktúrák Előrecsatlt háló Bemei neurn réteg (input layer Kimei neurn réteg (utput layer Retett réteg (hidden layer Előrecsatlt háló több retett réteggel Előrecsatlt háló egy retett réteggel közvetlen kapcslatkkal a bementi és a kimei réteg között (shrtcut cnnectin Részlegesen visszacsatlt háló
Tanulás A tanulás nem más, mint a háló paramétereinek hanglása ly módn, hgy a alkalmazkdn a tanító halmaz adataihz, annak érdekében, hgy a prblématérben a háló minden eladatt a lehető legbban ldn meg (általánsító képesség Felügyelt tanulás (supervised learning ismertek a bemei értékek és a nekik megelelő kimei értékek. Hatékny elárás. Megerősítéses tanulás (reinrcement learning a kimei értékekhez nem rendelhetőek egzakt bemei értékek, csak azt lehet megállapítani, hgy a kimei érték helyes vagy nem. Kevésbé hatékny módszer Nem elügyelt tanulás (unsupervised learning a háló saát maga dönti el, hgyan kell a eladatra reagálnia. Akkr alkalmazzák, ha az eredmény előzetesen nem ismert, pl. klassziikáció.
Neurális hálók elesztési lyamata Háló struktúra kialakítása A háló kimei értékének kiszámítása Példahalmaz kiválasztása Tanulás Összehasnlítás a példahalmazzal Háló struktúráának megváltztatása Túl nagy hiba Súlytényezők váltztatása Tesztelés Összehasnlítás az elvárt értékekkel Alkalmazás Túl nagy hiba Pntsság megelelő Pntsság megelelő Tesztadatk kipróbálása A háló kimei értékének kiszámítása
Perceptrn mdell egyszerű előre csatlt háló nincs retett réteg a emberi szem működését utánzza bementi réteg kimei réteg bementi réteg kimei réteg x w w y x w x 2 w 2 w 2 y 2 x 2 x 3 x n.. w 2 w 3 w n Egy kimeű perceptrn w y, y=, ha ha n i= n i= x w > w i x w w i i i w x 3 3. w. n x. n w 3 y 3 w 4 y 4 Több kimeű perceptrn
Tanulási példa AND üggvény megvalósítása perceptrnnal 2 w w 2 θ =.5 act=? = w + w 2 2, θ act =, egyébként Input x,,,, =act Output t w = w 2 = x = (, 2 = (, = *+* = x = err x = t x x =- = w = w +err x = + * = w 2 = w 2 +err x 2 = + * = x 2 = (, 2 = (, err x2 = t x2 x2 =- = - w = w +err x2 = + (-* = w 2 = w 2 +err x2 2 = + (-* =
Delta-szabály egy egyszerű adaptív elárás a súlyk beállítására előre csatlt hálók esetében. A delta-szabály lyan arányban váltztata az adtt súlytényező értékét, ahgyan az hzzáárult az adtt hiba értékéhez. Hibának az adtt bemei mintától várt eredmény és a ténylegesen kiszámíttt kimei érték különbségét értük. PROCEDURE Delta-szabaly REPEAT FOR m:= TO Mintak_szama DO Minta m a bemei retegen; Kimei ertekek szamitasa; FOR :=TO Neurnk_szama DO IF teachutput utput THEN FOR i:= TO Bemei_neurnk_szama DO w i := w i + Tanitasi_tenyez * utput * (teachutput - utput ; ENDIF; ENDFOR; ENDFOR; Az sszes mintara; UNTIL kivant pntssag; END;
Tanulási példa AND üggvény megvalósítása perceptrnnal 2 w w 2 θ =.5 act=? = w + w 2 2, θ act =, egyébként w i = w i + λ(t x x i =act λ =.2 tanulási tényező w = w 2 = x = (, 2 = (, = *+* = x = err x = t x x =- = w = w + λ err x = +.2** =.2 w 2 = w 2 + λ err x 2 = +.2** =.2 x 2 = (, 2 = (, err x2 = t x2 x2 =- = x = (, 2 = (, =.2*+.2* =.4 x = err x = t x x =- = w = w + λ err x =.2 +.2** =.4 w 2 = w 2 + λ err x 2 =.2 +.2** =.4
Perceptrn és az AND prbléma Input,,,, Output Egyenes: + 2,5 = A perceptrn csak lyan üggvényeket képes reprezentálni, amelyeknél található a kimei értékeket reprezentáló pntkat elválasztó egyenes. Az ilyen üggvényeket lineárisan szeparálhatóaknak nevezzük.
Perceptrn és az XOR prbléma Input,,,, Output Egyenes: + 2,5 =
Többrétegű előrecsatlt hálók bementi réteg x w retett réteg w kimei réteg x 2 w 2 w 2 w 2 y x 3 x n w 3... w n w 3 w 4
Hiba-visszateresztés alapán történő tanulás (back prpagatin Tanulási minta p N i i =p i N =act k N k k =act k Bemei réteg Retett réteg(ek Kimei réteg A többrétegű hálóban a súlyk mindegyike több, mint egy kime értékének kialakításában vesz részt. A hiba-visszateresztési algritmus lényege a kimei hiba ésszerű szétsztása az egyes súlyk között, azknak a kimere gyakrlt hatásának arányában.
Backprpagatin algritmus A neurn által kztt hiba. A hiba értéke e tényleges és a várt kimei érték különbsége. E(W = E(w, w 2,, w n A hibaüggvény súlytényező szerinti első parciális deriválta ada az adtt súlytényező krrekciós értékét. w ut = i = = Id E = η w A háló kimee és a súlytényező közötti összeüggés: ut i ( act w i ( A hibaértékeket a retett csmópntk és a kimei csmópntk közötti kapcslatk erőssége alapán sztuk szét, és visszateresztük a retett csmópnthz w i E = η i w i
Backprpagatin algritmus ( ( ( ( ' x x e dx d x szigmid szigmid x szigmid = + = = = k i k k i i w w w ( ' ( act act = = x szigmid e x + = ( ( ( ( ( szigmid szigmid = = i i w E w = η E = δ = t E 2 ( 2 ( ( 2 2 k k k t t E = =
PROCEDURE Backprpagatin n_ciklus := ; REPEAT hiba := ; n_ciklus := n_ciklus + ; FOR i:= TO kimei_neurnk_szama DO Minta i a bemei retegre; FOR :=TO kimei_neurnk_szama DO Kimei ertek kiszamitasa ; Hiba meghatarzasa := t - ; Krrekció meghatarzasa sig := *( * ; hiba := hiba + 2 ; ENDFOR; FOR s := kimei_reteg TO bemei_reteg DO FOR k := TO retegek_szama s DO sum := ; FOR m := TO neurnk_szama (s+ DO sum := w km * sig (s+m ; ENDFOR; sig sk := sk * (- sk *sum; FOR m := TO neurnk_szama (s+ DO w km := w km +tanulasi_tenyez * sk * sig (s+m ; ENDFOR; ENDFOR; ENDFOR; ENDFOR; UNTIL hiba < megengedett_hiba OR megadtt_ciklusszam; END Backprpagatin; Backprpagatin tanulási algritmus A megigyelt hiba elhasználásával számítsuk ki a kimei egységekre a krrekció értékét. A kimei réteggel kezdve ismételük a háló mindegyik rétegére, amíg a legelső retett réteget el nem érük: - teresszük vissza a hiba értékét az előző rétegre - módsítsuk a két réteg közötti súlykat
A mesterséges neurális hálók tipikus alkalmazásai Bnylult, sk, zas bemetel rendelkező, lytns értékkészletű üggvények reprezentációára használák, amikr a lgikai alapú módszerek nehezen alkalmazhatóak Klassziikáció adatk, minták sztályzása döntéstámgatás, minőségellenőrzés Alakelismerés kézíráselismerés, képelismerés, arcelismerés, ulenymatellenőrzés Prgnsztika tőzsdei előreelzés, anyag- és energiaelhasználás, termelésvlumen becslése Vezérlések lyamatvezérlés, rbtika