i i “982-Gustin-Nevronske” — 2010/6/16 — 13:13 — page 1 — #1 i i i i i i List za mlade matematike, fizike, astronome in računalnikarje ISSN 0351-6652 Letnik 17 (1989/1990) Številka 3 Strani 177–181 Veselko Guštin: NEVRONSKE MREŽE, I. DEL Ključne besede: računalništvo. Elektronska verzija: http://www.presek.si/17/982-Gustin.pdf c© 1989 Društvo matematikov, fizikov in astronomov Slovenije c© 2010 DMFA – založništvo Vse pravice pridržane. Razmnoževanje ali reproduciranje celote ali posameznih delov brez poprejšnjega dovoljenja založnika ni dovo- ljeno. OOl-il'VO' NlcT' 'll'" , _ _ 1 II 1'- _, "" _ NEVRONSKE MREŽE 1. del. Uvod Nekateri računalnikarji so prepričani, da bo računalnik prihodnosti deloval kar se da paralelno, sestavljen iz množice podobnih elementov, ki bodo med seboj vsepovprek povezani. Znal bo sam odpravljati manjše napake, oziroma tudi ob delno pokvarjenih podatkih bo dal še vedno dobre rezultate. Skratka, deloval bo podobno kot možgani živih bitij. Izdelava takega računalnika je še zelo odmaknjena, vendar nekateri rezultati v elektronski tehnologiji kažejo, da je to možna pot. Do kemijskega ali biološkega računalnika pa je še zelo daleč. Zaradi obsežnosti smo prispevek razbili v dva dela. V prvem delu smo opisali teoretično ozadje nevronskih mrež, v drugem pa nekaj izkušenj in spoznanj, ki smo jih dobili s programiranjem mreže. Možgani živih bitij lahko hkrati izvajajo več opravil: hojo na primer spremlja opazovanje okolice, reagiranje na njo, sporazumevanje s podobnimi bitji, ipd. Najboljši in najhitrejši računalnik komaj zmore eno od navedenih opravil. Izredna sposobnost procesiranja možganov je že od nekdaj porajala vprašanje kako narediti model, ki bi bil čimbolj podoben živim možganskim celicam. Kaj omogoča množici preprostih celic, da so sposobne tolikšne procesne moči? Biološko procesiranje Sku šajmo na preprost idealiziran način prikazati delovanje nevrona, možganske celice, kot jo vidimo na sliki 1. Slika 1. Nevron sestavljajo: A - akson, B - telo nevrona in D - dendrit. 178 Možganska celica dobiva dražljaje od drugih sorodnih celic preko vhodov, dendritov. Aksoni so njeni izhodi, preko katerih potujejo dražljaji k drugim sorodnim celicam. Nevroni prevajajo in ustvarjajo nova vzburjenja, potem ko se signali s primerjanjem z drugimi krepijo ali slabijo. Vzburjenje iz aksona ene celice k dendritom druge celice potuje preko sinapse. Poznamo več vrst sinaps . Nekatere so stimulatome. Te naj bi delovale vzbujajoče, druge inhibitome, pa naj bi zavirale vzbujanje nevrona. Povprečni možgani človeka vsebujejo nekje med 1010 in 1012 nevronov. Nekateri od teh nevronov imajo samo nekaj sinaps, medtem ko je le-teh pri drugih nekaj sto tisoč. Lahko rečemo, da je v možganih okrog 1015 sinaps. Vsaka sinapsa se lahko nahaja v vsaj dveh različnih stanjih (vzbujajočem ali zaviralnem), Zato obstaja (210) 15 na različne načine povezanih nevronov ali topologij nevronov. Ker se z učenjem ustvarjajo nove sinapse, ali pa se jačajo oziroma slabijo obstoječe povezave, se topologija sinaptičnih povezav neprestano spreminja. Omenimo še nekaj značilnosti nevronov: a. Nevroni so počasni; najhitreje se odzovejo šele v nekaj milisekundah. b. Trošijo zelo malo energije, celotni človeški možgani samo okrog 100 wattov. c. So neobčutljivi na točnost podatkov in okvare. Vemo namreč, da vsak dan odmre veliko možganskih celic. Ne glede na to pa možgani delujejo brez prekinitev. Zgradba računalnika Zelo zarumrva je primerjava računalnika z možganskim modelom. Moderni super računalnik ima tja do 109 zlogov pomnilnika, kar bi pomenilo približno 1010 tranzistorjev, medtem ko v centralnem procesorju ni niti 108 tranzistorjev. Hitrost delovanja je okrog 10-9 sekunde. Za delovanje porabi računalnik 105 wattov energije. Če želimo natančne rezultate, moramo imeti tudi točne podatke. Kar se popravljanja napak tiče, smo omejeni le na odkrivanje ali popravljanje napak pri prenašanju informacij iz pomnilnika v centralno procesno enoto in nazaj. Tipičen računalnik vsebuje še precej manj elementov. Kaj hitro spoznamo, da je možganskih celic neprimerno več, a so veliko počasnejša 179 od tranzistorjev računalnika. Za elektronski računalnik tudi velja, da ima iz polprevodnikov zgrajene preproste gradnike kot so logična vrata IN oziroma ALI, iz teh pomniine celice, iz skupine pomnilnih celic registre itd. Na vrhu piramide sestavljanja pa imamo že kar procesorje, ki jih sestavljamo v večprocesorske sisteme, na primer paralelne procesorje. Res je računalnik zamotana naprava, vendar lahko v vsakem trenutku natančno ugotovimo, v kakšnem logičnem stanju so vezja in katero bo njihovo naslednje stanje. Tega vsekakor ne moremo reči za možgane. Poglejmo še enkrat večprocesorske sisteme: čeprav vsak procesor zase ne predstavlja neke posebne procesne moči, pa naletimo na silno zanimivo obnašanje, če so povezani med seboj v mreže. Pokaže se, da se tudi nevroni, povezani v mreže, obnašajo na podoben način. En sam nevron ne pomeni veliko, mreža le-teh paje sposobna zelo zamotanih operacij. Načelo povezanosti srečamo še drugod v naravi: ena sama mravlja ni nevarna, pa tudi ni sposobna zgraditi mravljišča. Zgradijo ga le organizirane mravlje v skupnosti. V nadaljevanju bomo opisali izbrani (elektronski) model nevronske celice, s katerim skušamo ponazoriti (zelo poenostavljeno) delovanje posameznega nevrona. Želimo pokazati nekaj zanimivih spoznanj, ko tovrstne celice povezujemo v mrežo. Model nevrona Povejmo še enkrat, da je model nevrona zelo poenostavljen. Kot vidimo na sliki 2, nam vhodne povezave pomenijo dendrite, ki prenašajo signale preko pozitivne (stimulatorne) ali negativne (inhibitorne) upornosti (sinapse) k vhodu nevrona, kije v našem primeru ojačevalnik. 3 '1 T'---v--' 3 3 12 15 1: akson, 2: sinapsa, 3: dendrit, 4: odziv in 5: stanje nevrona. Slika 2. a. Model (elektronskega) nevrona, b. Shematični prikaz nevrona. 180 Odziv nevrona nam v modelu ponazarja izhod ojačevalnikaz različnimi prenosnimi funkcijami. (Glej sliko 3). a . sigmoidna b , linearna c , stop ni e a s ta Slika 3. Prenosne funkcije nevrona. Nevroni pošiljajo izhodne dražljaje k drugim nevronom po aksonih. V modelu izhod nevrona ponazorimo s prenosno funkcijo f ojačevalnika: 0= f(A), (1) kjer je O izhod ojačevalnika inA vpliv sinaps. Povezave se v modelu ne spreminjajo, prav tako se informacija prenaša samo v eno smer. Sinapsa pomeni v modelu spremenljivo upornost, ki je na eni strani povezana z nevronom, na drugi pa z aksonom. Vzbujajoče in zaviraine sinapse bomo v modelu ponazorili s pozitivno in negativno utežjo Wij. Rezultirajočvpliv sinaps bomo poenostavljeno zajeli venačbi (2). V našem modelu pomeni j sprejemajoči nevron, i pa oddajajoči nevron. Izhodna vrednost (oddajajočega) nevrona pride do sinapse, se primerja . oziroma množi z jakostjo povezave (utežjo) ter vstopi v nevron. Tako dobimo za j-ti nevron vsoto zmnožkov uteži in vrednosti i-tega vhoda. Simbolično to zapišemo: Aj =LWjiOi i (2) kjer so: Aj skupni vpliv sinaps j-te celice, O i izhod i-te (predhodne) celice in Wj i utež povezave med nevronoma iz različnih nivojev. Vloga sigmoidne funkcije je izhodne vrednosti postaviti med vnaprej določene vrednosti . Jakost povezave je pozitivna (vzbujajoča) ali negativna (zaviralna) ali nič (ni povezave). Njena vrednost se s časom lahko spreminja. Navadno uteži niso vnaprej znane, pač pa se spreminjajo z učenjem. 181 Večnivojske nevronske mreže Ker en sam nevron ne pomeni veliko, jih povezujemo v nivoje. Tako vodijo izhodi predhodnega nivoja kot vhod v naslednji nivo, izhodi le-tega zopet v naslednjega itd. Na izhodih zadnjega nivoja dobimo rezultat (glej sliko 4). Vmesnih nivojev, torej tistih med prvim in zadnjim nivojem, je lahko več. Tudi število nevronov v nivoju je poljubno. Večnivojski način povezovanja nevronov je samo eden od načinov povezovanja nevronov v mreže. Ko so izhodi nevronov povezani z nevroni v različnih nivojih ali sami s seboj, govorimo o poljubno povezanih nevronih. Zaradi velikega števila topologij se omejimo na nekatere značilne povezave: vsak nevron z vsakim, vsak samo s svojimi sosedi, naključno povezani nevroni ipd. V splošnem velja, da je funkcija (1) stopničasta (glej sliko 3c). Tedaj imamo opraviti z linearnimi modeli nevronov. Le-ti so običajno povezani v eno nivojsko mrežo. Uporabljamo jo za asociativno pomnenje ali kot asociativne pomnilnike. Druga skrajnost nastopi, ko imamo več nivojev, tedaj govorimo o več nivojskih linernih mrežah . Vsekakor so bolj zanimivi tisti modeli nevronskih mrež, ki uporabljajo sigmoidne in linearne prenosne funkcije na izhodih (glej sliko 3a,b). Tovrstnim modelom zato tudi rečemo sigmoidni, mreži takih celic pa sigmoidna mreža. Skico dvo nivojske mreže vidimo na sliki 4. Kakor je mrež več vrst, tako je tudi postopkov učenja več. Omejili se bomo na tistega, ki je najbolj primeren za (več) nivojske mreže. Spoznali bomo, da nam učenje ne predstavlja nič drugega kol način, kako poiskali lake Uleži, da bo nevronska mreža dala želeno preslikavo vhoda na izhod . Veselko Guštin RAZREŽi KOSA IN KVADRAT NA DVA SESTAVI Rešitev Lik razrežemo kot na sliki in nato premaknemo desni del za 1 enoto navzgor in za 2 enoti v levo. Marija Vencelj