seminarski rad neuronske mreže word

99

Click here to load reader

Transcript of seminarski rad neuronske mreže word

Page 1: seminarski rad neuronske mreže word

1

T E H N I Č K I F A K U L T E T

,,M I H A J L O P U P I N’’

Z R E Nj A N I N

M E K O R A Č U N A R S T V O

H OTOMSKI D R PET A R

Page 2: seminarski rad neuronske mreže word

2

Seminarski rad: neuronske mreže

s t uden t:G vo z den o v i ć I v a n

br.i ndeksa 48 /0 9- 03

Page 3: seminarski rad neuronske mreže word

3

1.UVOD......................................................................................................................................... ....................3

2.OSNOVNO O NEURONSKIM MREŽAMA........................................................................... ...................5

3.VRSTE NEURONSKIH MREŽA............................................................................................. ...................6

4.PODELA NEURONSKIH MREŽA......................................................................................... ..................8

4.1 PODELA NEURONSKIH MREŽA PREMA BROJU SLOJEVA........................................................74.2 PODELA NM PREMA VRSTI VEZA ..................................................................................................74.3 VRSTE OBUČAVANJA NEURONSKIH MREŽA .............................................................................74.4 PODELA NM PREMA SMERU PROSTIRANJA INFORMACIJA ................................................84.5 PODELA NEURONSKIH MREŽA PREMA VRSTI PODATAKA .................................................8

5.UČENJE NEURONSKIH MREŽA............................................................................................................. .10

6.PRIMENA NEURONSKIH MREŽA.................................................................................................. .......11

7.OPTIMIZACIJA PUTEM GENETSKIH ALGORITAMA....................................................................12

8.VEŠTAČKE NEURONSKE MREŽE…………………………………………………………………………….24

7.LITERATURA................................................................................................................................... ..........65

Page 4: seminarski rad neuronske mreže word

4

. UVOD

Oblast koju danas poznajemo kao neuronske mreže nastala je kao rezultat spoja nekoliko veoma različitih pravaca istraživanja: obrade signala, neurobiologije i fizike. Neuronske mreže predstavljaju tipičan primer interdisciplinarne oblasti. S jedne strane, to je pokušaj da se razume rad ljudskog mozga, a sa druge da se to stečeno znanje primeni u obradi složenih informacija. Postoje i mnogi drugi napredni, nealgoritamski sistemi, kao što su algoritmi koji uče, genetski algoritmi (kojima ćemo se baviti u drugom delu), adaptivne memorije, asocijativne memorije, fazi logika. Meñutim, opšti je utisak da su neuronske mreže za sada najzrelija i najprimenljivija tehnologija. Navešćemo osnovne razlike izmeñu izmeñu klasičnih računara i neuronskih mreža. Konvencionalni računari rade na logičkoj osnovi, deterministički, sekvencijalno ili sa vrlo niskim stepenom paralelizma. Sofver napisan za takve računare mora biti gotovo savršen da bi ispravno radio. Za tako nešto je potreban dugotrajan i skup proces projektovanja i testiranja.Neuronske mreže spadaju u kategoriju paralelnog asinhronog distribuiranog procesiranja. Mreža je tolerantna na oštećenje ili ispadanje iz rada relativno malog broja neurona. Takoñe, mreža je tolerantna i na prisustvo šuma u ulaznom signalu. Svaki memorijski element je delokalizovan – smešten je u celoj mreži i ne možemo identifikovati deo u kome se on čuva. Klasično adresiranje ne postoji, jer se memoriji pristupa preko sadržaja, a ne preko adrese.

Page 5: seminarski rad neuronske mreže word

5

OSNOVNO O NEURONSKIM MREŽAMA

Početak neuro-računarstva obično se vezuje za 1943. godinu i članak Warrena McCullocha i Waltera Pittsa “Logički račun ideja svojstvenih nervnoj aktivnosti”. Ovaj članak je često citiran. Kibernetičar Norbert Winer i matematičar John von Neumann su smatrali da bi istraživanja na polju računarstva, inspirisana radom ljudskog mozga, mogla biti izuzetno zanimljiva. Knjiga Donalda Hebb-a iz 1949. godine “The Organization of behavior” (Organizacija ponašanja) iskazuje ideju da je klasično psihološko uslovljeno ponašanje prisutno kod svih životinja, jer je ono svojstvo neurona. Ova ideja nije bila nova, ali ju je Hebb više razradio od prethodnika, predlažući odreñeni zakon učenja za sinapse, a pomoću njega je izveo kvalitativno objašnjenje nekih eksperimentalnih rezultata iz psihologije.Početkom pedesetih godina, najviše uticaja na dalji razvoj neuronskih mreža je imao rad Marvin Minsky-a koji je u tom periodu konstruisao neuroračunar pod imenom Snark (1951). Frank Rosenblatt je zaslužan za otkriće jednoslojne neuronske mreže, zvane perceptron. Ovaj računar je mogao uspešno da podešava težinske koeficijente, meñutim ovaj računar nije postigao značajnije praktične rezultate. Tek krajem pedesetih godina (1957-1958), Frank Rosenblatt i Charles Wightman sa svojim saradnicima su uspeli da razviju računar pod nazivom Mark I koji predstavlja prvi neuroračunar.Nešto posle Rosenblatta, Bernard Widrow je sa svojim studentima (najpoznatiji je Ted Hoff, kasnije tvorac mikroprocesora) razradio novi tip “neurona” - ADALINE (ADAptivini LINearni Element, prenosna funkcija f(x)=x) i odgovarajući zakon učenja.U periodu od 1950-tih do ranih 1960-tih godina napisano je nekoliko knjiga i osnovano nekoliko kompanija koje se bave neuroračunarima. Meñutim, sredinom 1960-tih godina došlo je do zastoja zbog dva očigledna problema. Prvo, većina istraživača je prišla problemu sa kvalitativne i eksperimentalne strane, zanemarujući analitički pristup. Drugo, početni entuzijazam je bio toliko jak da su uveliko publikovana predviñanja da nas od veštačkog mozga deli samo nekoliko godina istraživanja. Ovakav zanos je dalje diskreditovao ovu oblast i odbio veliki broj istraživača. Mnogi od ovih ljudi su napustili neuroračunarstvo i prešli u srodna polja.Sredinom 1960-ih godina je pristup rešavanja problema neuronskih mreža okarakterisan kao pogrešan, nakon što Marvin Minsky i Seyour Papert u knjizi “Perceptrons” objavljuju matematički dokaz da jednoslojna neuronska mreža “Perceptron” ne može da nauči funkciju XOR, uz pretpostavku da dodavanjem više slojeva neurona taj problem neće biti prevaziñen. Tačno je da neuron nije u stanju da izvede pomenutu funkciju, ali za iole složeniju mrežu od nekoliko neurona to predstavlja veoma jednostavan zadatak. Njihov dokaz je diskreditovao istraživanja neuronskih mreža, a finansiranja su preusmerena na druge oblasti veštačke inteligencije.U periodu izmeñu 1967. do 1982. godine pojavljuju se istraživači koji daju značajan doprinos razvoju ove oblasti kao što su Teuvo Kohonen, Kunihiko Fukushima i Stephnen Grossberg. Naročito se istakao Teuvo Kohonen, koji je otkrio nekoliko tipova neuronskih mreža koje su po njemu dobile naziv. U ovom periodu se pojavio i backpropagation algoritam. U radu na ovom algoritmu su se posebno istakli sledeći načunici: Amari (1967.) dodaje unutrašnje slojeve perceptronskoj mreži, Bryson i Ho (1969.) razvijaju algoritam sličan backpropagation algoritmu, Werbos (1974) nezavisno od prethodnika razvija backpropagation algoritam, a Parker (1982) unapreñuje backpropagation algoritam. Početkom 80-ih, američka vojna agencija DARPA (Agencija za odbrambene istraživačke projekte) postala je zainteresovana za NM i finansiranja su ponovo započela. Sredinom 80-tih, poznati fizičar John Hopfield dao je veliki doprinos popularizaciji neuronskih mreža, objavljujući rad u kome je napravio paralelu izmeñu neuronskih mreža i odreñenih fizičkih sistema. Početkom devedesetih, Bart Kosko u knjizi “Neural Networks and Fuzzy Systems” dokazuje da neuronske

Page 6: seminarski rad neuronske mreže word

6

mreže i fuzzy logika opisuju isti skup problema i samim tim otvara novu oblast koja se naziva soft computing.Rumenel, Hinton i Williams (1986) dokazuju veliku promenljivost i potencijal backpropagation algoritma. Krajem 80-tih i početkom 90-tih, neuronske mreže i neuro računarstvo se uvodi kao predmet na nekoliko elitnih univerziteta u SAD, dok se danas neuronske mreže gotovo mogu sresti na svim univerzitetima.Iako su NM imale neobičnu istoriju, one su još uvek u ranoj fazi razvoja. Možda se sad može reći da smo na kraju početka. Danas NM nalaze veoma širok spektar primena u različitim

VRSTE NEURONSKIH MREŽA

Postoje dve kategorije neuronskih mreža: veštačke i biološke neuronske mreže. Predstavnik bioloških neuronskih mreža je nervni sistem živih bića. Veštačke neuronske mreže su po strukturi, funkciji i obradi informacija slične biološkim neuronskim mrežama, ali se radi o veštačkim tvorevinama. Neuronska mreža u računarskim naukama predstavlja veoma povezanu mrežu elemenata koji obrañuju podatke. One su sposobne da izañu na kraj sa problemima koji se tradicionalnim pristupom teško rešavaju, kao što su govor i prepoznavanje oblika. Jedna od važnijih osobina neuronskih mreža je njihova sposobnost da uče na ograničenom skupu primera.. Biološke neuronske mreže su daleko komplikovanije od svojih matematičkih modela koji se koriste za veštačke neuronske mreže. NM predstavljaju sistem sastavljen od veoma velikog broja jednostavnih elemenata za obradu podataka. Ovakvi sistemi su sposobni za prikupljanje, memorisanje i korišćenje eksperimentalnog znanja. Ne postoji jedinstvena definicija neuronskih mreža. Meñutim, većina ljudi bi neuronske mreže definisala na sledeći način:

Neuronska mreža je sistem sastavljen od više jednostavnih procesora (jedinica, neurona), svaki od njih ima lokalnu memoriju u kojoj pamti podatke koje obrañuje. Te jedinice su povezane komunikacionim kanalima (vezama). Podaci koji se ovim kanalima razmenjuju su obično numerički. Jedinice obrañuju samo svoje lokalne podatke i ulaze koje primaju preko konekcije. Ograničenja lokalnih operatora se mogu otkloniti tokom treninga.

Veliki broj NM su nastale kao modeli bioloških neuronskih mreža. Istorijski gledano, inspiracija za razvoj NM proizilazi iz želje da se konstruiše veštački sistem sposoban za prefinjeno, možda “inteligentno”, izračunavanje na sličan način kao što to ljudski mozak rutinski izvodi. Potencijalno, NM nam pružaju mogućnost za razumevanje rada ljudskog mozga. Veštačke neuronske mreže su kolekcija matematičkih modela koji simuliraju neke od posmatranih osobina bioloških nervnih sistema i povlače sličnosti sa prilagodljivim biološkim učenjem. Sačinjene su od velikog broja meñusobno povezanih neurona (obrañujućih elemenata) koji su, slično biološkim neuronima, povezani svojim vezama koje sadrže propusne (težinske) koeficijente, koje su po ulozi slične sinapsama.

Učenje se kod bioloških sistema obavlja putem regulisanja sinaptičkih veza koje povezuju aksone i dendrite neurona. Učenje tipičnih dogañaja putem primera se ostvaruje preko treninga ili otkrića do tačnih setova podataka ulaza-izlaza koji treniraju algoritam ponavljanjem podešavajući propusne (težinske) koeficijente veza (sinapse). Ove veze memorišu znanje neophodno za rešavanje specifičnog problema. Većina NM ima neku vrstu pravila za “obučavanje”, čime se koeficijenti veza izmeñu neurona podešavaju na osnovu ulaznih podataka. Drugim rečima, NM “uče” preko primera (kao što deca uče da prepoznaju konkretan predmet, objekat, proces ili pojavu preko odgovarajućih primera) i poseduju sposobnost za generalizaciju posle trening podataka. Veliki potencijal NM se nalazi u mogućnosti paralelne obrade podataka, tokom izračunavanja komponenti koje su nezavisne jedne od drugih. Neuronske mreže su sistemi sastavljeni od više jednostavnih elemenata (neurona)

Page 7: seminarski rad neuronske mreže word

7

koji obrañuju podatke paralelno. Funkcije koje su NM u stanju da obrañuju odreñene su strukturom mreže, jačinom konekcije a obrada podataka se izvodi u neuronima. Svaki elemenat operiše samo lokalnim informacijama. Svaki elemenat radi asinhronizovano, kao da nema sistemskog sata. Iako NM postoje od 1940-tih godina, one nisu imale značajniju praktičnu primenu sve do 1980-tih, kada su algoritmi postali dovoljno prefinjeni za opštu upotrebu (aplikacije). Danas se NM primenjuju za rešavanje sve većeg broja svakodnevnih problema sa značajnom kompleksnošću. U programiranju se mogu koristiti kao “generator” (engleski engine) koji je u stanju da vrši različita prepoznanja i klasifikacije i koji ima sposobnost da izvrši generalizaciju prilikom odlučivanja pri nepreciznim ulaznim podacima. NM nude idealno rešenje za raznovrsno klasifikovanje problema, kao što je prevoñenje teksta u govor, prepoznavanje slova, rešavanje problema za koje ne postoji algoritamsko rešenje. Pokazuju dobre rezultate prilikom predviñanja i modelovanja sistema gde fizički procesi nisu jasni ili su veoma kompleksni. Prednost NM leži u visokoj elastičnosti prema poremećajima u ulaznim podacima i u sposobnosti da uči. NM često uspešno rešava probleme koji su previše kompleksni za konvencionalne tehnologije (na primer, problem koji nema algoritamsko rešenje ili za koji je algoritam previše komplikovan da bi bio pronañen) i one su često dobra pratnja problemima koje ljudi rešavaju.

Page 8: seminarski rad neuronske mreže word

8

PODELA NEURONSKIH MREŽA

Postoji veliki broj različitih realizacija neuronskih mreža, a samim tim postoji i mnogo podela. NMmožemo klasifikovati prema:

o broju slojeva,o vrsti veza izmeñu neurona,o vrsti obučavanja neuronskih mreža,o prema smeru prostiranja informacija,o prema vrsti podataka.

Podela neuronskih mreža prema broju slojeva

Jedna od najopštijih podela NM je prema broju slojeva. Mreže možemo podeliti na:o jednoslojneo višeslojne.

Danas se uglavnom izučavaju i primenjuju višeslojne NM koje pored ulaznih i izlaznih slojeva sadrže neurone na srednjim (skrivenim) slojevima.

Podela NM prema vrsti veza

NM se mogu podeliti prema vrstama veza tj. arhitekturi na:

o slojevite Neuroni su rasporeñeni tako da formiraju slojeve. Na ulaz jednog neurona se dovode izlazi svih neurona sa prethodnog sloja, a njegov izlaz se vodi na ulaze svih neurona na narednom sloju. Neuroni sa prvog (ulaznog) sloja imaju samo po jedan ulaz. Izlazi neurona sa zadnjeg (izlaznog) sloja predstavljaju izlaze mreže. Predstavnik: backpropagation algoritam.

o potpuno povezane Izlaz jednog neurona se vodi ka ulazu svih neurona u mreži.o celularne Meñusobno su povezani samo susedni neuroni. Bez obzira na lokalnu povezanost,

signali se prostiru i na neurone i van susedstva zbog indirektnog prostiranja informacija. Predstavnik: CNN – Cellular Neural Network.4.3 Vrste obučavanja neuronskih mreža

Postoje tri različita pristupa obučavanju neuronskih mreža:

o Nadgledano obučavanje - Supervised trainingo Nadgledano obučavanje

o Delimično nadgledano obučavanje Delimično nadgledano učenje radi na principu da mreža uči samostalno, a povremeno dobija ocenu prethodnog rada. Primer ovakve mreže je mreža koja balansira štap. Dok je štap uspravan sve je u redu, ali kada štap padne, mreža treba da koriguje ponašanje da bi štap ostao uspravan. Sličan slučaj je i sa partijom šaha. Ukoliko je partija izgubljena znači da je došlo do greške, ali se ne zna u kome trenutku je povučen pogrešan potez, niti koji je potez doveo do gubitka partije.

Page 9: seminarski rad neuronske mreže word

9

o Nenadgledano obučavanje u nenadgledanom učenju mreža je nezavisna. Pri obučavanju se predstavljaju samo ulazni podaci koje NM pokušava da generalizuje i “uoči” zajedničke osobine. Predstavnik: Kohonenove samoorganizujuće mape.

Podela NM prema smeru prostiranja informacija

NM se mogu podeliti prema smeru prostiranja informacija kroz mrežu:

o Feedforward (nerekurzivne, nerekurentne ili nepovratne) - Viši slojevi ne vraćaju informaciju u niže slojeve. Vrše prostiranje signala samo u jednom smeru (od ulaza prema izlazu) odnosno propagaciju signala.Predstavnici: Višeslojni

perceptron sa primenjenim backpropagation algoritmom.o (Feedback) rekurzivne ili rekurentne ili povratne - Viši slojevi vraćaju informacije nazad u

niže slojeve. Izlaz iz neurona se vraća u niže slojeve ili u isti sloj. Predstavnici: Hopfildove, Celularne NM, Kohonenove NM, dvostruko asocijativne NM. Feedback mreže imaju mnogo veće procesne sposobnosti od Feedforward mreža.4.5 Podela neuronskih mreža prema vrsti podataka

Prema vrsti podataka koje obrañuju NM se mogu podeliti na:o analogne io diskretne.

Ova podela se retko koristi pošto su gotovo sve NM diskretne.

Page 10: seminarski rad neuronske mreže word

10

UČENJE NEURONSKIH MREŽA

Obučavanje neuronskih mreža se svodi na učenje iz primjera kojih bi trebalo da bude što više da bi mreža mogla da se ponaša preciznije u kasnijoj eksploataciji. Podaci iz trening skupa se periodično propuštaju kroz neuronske mreže. Dobivene vrijednosti na izlazu mreže se uporeñuju sa očekivanim. Ukoliko postoji razlika izmeñu dobivenih i očekivanih podataka, prave se modifikacije na vezama izmeñu neurona u cilju smanjivanja razlike trenutnog i željenog izlaza. Ulazno-izlazni skup se ponovo predstavlja mreži zbog daljih podešavanja težina, pošto u prvih nekoliko koraka mreža obično daje pogrešan rezultat. Proces učenja dovodi do korigovanja sinaptičkih težina. Poslije podešavanja težina puta za sve ulazno izlazne sheme u trening skupu, mreža nauči da reaguje na željeni način. Neuronska mreža je obučena akp može tačno da rješava; zadatke za koje je obučavana. Neuronska mreža je sposobna da izdvoji važne osobine i sheme u klasi trening primjera. Nakon obučavanja sa odreñenom vjerovatnoćom, neuronska mreža može da generalizuje nove ulazne podatke za koje nije obučavana. Na primjer, generalizaciju možemo vidjeti na primjeru mreže obučavane da prepoznaje serije slika: ako na ulaz takve mreže dovedemo slike za koje mreža nije obučavana, ona do izvjesne mjere može uspješno da klasifikuje takve slike. Kada uzorci koji se predstavljaju mreži ne dovode više do promjene ovih koeficijenata, smatra se da je mreža obučena. Proces obučavanja neuronskihmreža započinje

zadavanjem slučajnih vrijednosti težinskih koeficijenata veza i dovoñenjem oblika na ulazni sloj. Zatim se mreža aktivira i uporeñuju se izlazni i zadati (zahtjevani, onaj koji treba da se dobije) izlazni oblik. Obučavanje se vrši tako da se ažuriraju težinski koeftcijenti sa ciljem da se u sljedećoj iteraciji dobiva izlaz koji je bliži zadatoj vrijednosti. U trenutku kada se postigne zadovoljavajući rezultat sa jednim ulaznim oblikom, na ulaz se dovodi drugi, itd. Kad se završi sa ovim oblicima iz obučavajućeg skupa, na ulaz mreže se dovodi ponovo prvi ulazni oblik. Ova se procedura nastavlja sve dok se ne doñe do zadovoljavajućih rezultata za sve oblike iz obučavajućeg skupa. Jednom kada je obučavanje mreže završeno, težinski koeficijenti veza egzistiraju nepromjenjeni. Tek sada, poslije obučavanja, mreža se može primjeniti za predviñeni zadatak.Mada je u najviše slučajeva mreža sa adaptivnim težinskim koeficijentima veza, postoje mreže čijesu težine fiksne i za vrijeme obučavanja. Tada se mjenjaju samo aktivacioni nivoi

pojednih neurona. Opisani proces se naziva obučavanje sa nadglejdanjem (eng; Supervised). Dobiveni izlaz se uporeñuje sa zadatim i onda se na osnovu dobivene razlike obavlja ažuriranje pojedinih težinskih koeficijenata. Nasuprot takvom načinu obučavanja postoji i obučavanje bez nadgledanja (eng. Unsupervised). Izlazna vrijednost se ne uporeñuje; sa zadatom vrijednošću. Ovom metodom mreža klasifikuje ulazne oblike u više grupa. Broj jedinica u izlaznom sloju odgovara broju različitih grupa - to znači da u jednom datom trenutku postoji samo jedan aktivan izlaz.

Page 11: seminarski rad neuronske mreže word

11

PRIMENA NEURONSKIH MREŽA

U početku su NM koristili naučnici računarskih i kognitivnih nauka koji su pokušavali da modeliraju čulni sistem živih organizama. Danas neuronske mreže predstavljaju veoma atraktivnu oblast istraživanja i postoje brojne oblasti u kojima se koriste. Primenjuju se za:

o prepoznavanje oblika,o prepoznavanje rukopisa,o prepoznavanje govora,o finansijske i ekonomske modele,o predviñanje kretanja cena na tržištu,o upravljanje sistemima,o upravljanje proizvodnim procesima,o analizu električnih kola,o psihijatrijske procene,o kompresovanje podataka,o naftna istraživanja,o kriminološka istraživanja,o analizu medicinskih testova,o ispitivanje EEG i EKG signala,o pronalaženje optimalnog rešenja,o upravljanje robotima,o analiziranje podataka pri pirolizi i spektroskopiji,o u bioračunarskim sistemima,o vremensku prognozu io u drugima oblastima.

Primenu neuronskih mreža je moguće podeliti na tri karakteristične oblasti:

o procesiranje senzorskih informacijao analiza podatakao kontrola upravljanja

Page 12: seminarski rad neuronske mreže word

2

w

12

Neuronske mreže i optimizacija putem genetskih algoritama

Uvod u neuronske mreže

Oblast koju danas poznajemo kao neuronske mreže nastala je kao rezultat spoja nekoliko veoma različitih pravaca istraživanja: obrade signala, neurobiologije i fizike. Neuronske mreže predstavljaju tipičan primer interdisciplinarne oblasti. S jedne strane, to je pokušaj da se razume rad ljudskog mozga, a sa druge da se to stečeno znanje primeni u obradi složenih informacija. Postoje i mnogi drugi napredni, nealgoritamski sistemi, kao što su algoritmi koji uče, genetski algoritmi (kojima ćemo se baviti u drugom delu), adaptivne memorije, asocijativne memorije, fazi logika. Meñutim, opšti je utisak da su neuronske mreže za sada najzrelija i najprimenljivija tehnologija.Navešćemo osnovne razlike izmeñu izmeñu klasičnih računara i neuronskih mreža. Konvencionalni računari rade na logičkoj osnovi, deterministički, sekvencijalno ili sa vrlo niskim stepenom paralelizma. Sofver napisan za takve računare mora biti gotovo savršen da bi ispravno radio. Za tako nešto je potreban dugotrajan i skup proces projektovanja i testiranja.Neuronske mreže spadaju u kategoriju paralelnog asinhronog distribuiranog procesiranja. Mreža je tolerantna na oštećenje ili ispadanje iz rada relativno malog broja neurona. Takoñe, mreža je tolerantna i na prisustvo šuma u ulaznom signalu. Svaki memorijski element je delokalizovan – smešten je u celoj mreži i ne možemo identifikovati deo u kome se on čuva. Klasično adresiranje ne postoji, jer se memoriji pristupa preko sadržaja, a ne preko adrese.

Osnovne komponente neuronskih mreža

Osnovna jedinica neuronske mreže je neuron, koji izgleda kao na slici:

x1

x2

1

w ak son ak sonsk i

wn

si napt i ~k e t e` ine

ogranci

xn

Dendriti su ulazi u neuron. Prirodni neuroni imaju i po nekoliko stotina ulaza. Spoj dendrita i neurona se naziva sinapsa. Sinapsa se karakteriše efikasnošću, koja se naziva sinaptička težina. Izlaz neurona se formira na sledeći način: signali na dendritima se pomnože odgovarajućim sinaptičkim težinama, proizvodi se saberu i ako prelaze veličinu praga, na dobijenu vrednost se primeni prenosna funkcija neurona, koja je na slici označena sa f. Jedino ograničenje koje se

Page 13: seminarski rad neuronske mreže word

nameće na prenosnu funkciju je da bude ograničena i neopadajuća. Izlaz iz neurona se vodi na

Page 14: seminarski rad neuronske mreže word

13

akson, koji preko svojih aksonskih ogranaka prenosi rezultat na dendrite. Na taj način se izlaz jednog sloja mreže prenosi u sledeći.Danas se u neuronskim mrežama koriste tri tipa prenosnih funkcija:

• odskočna (Hevisajdova)• logička sa pragom• sigmoidalna

Sva tri tipa su prikazana na slici:

f(s) f(s) f(s)

1 1 1

s s s

odsk o~na l ogi ~’ k a sa pr agom si gmoi daModel neuronske mreže čine:

• prenosna funkcija neurona• toplogija mreže, tj. način na koji se neuroni meñusobno vezuju• zakoni učenja

Prema topologiji, mreže se razlikuju po broju slojeva neurona. Obično svaki sloj prima ulaze iz prethodnog sloja, a svoje izlaze šalje sledećem sloju. Prvi sloj neurona se naziva ulazni, poslednji je izlazni, dok se ostali slojevi nazivaju skriveni slojevi. Prema načinu vezivanja neurona, mreže se mogu

podeliti na rekurzivne i nerekurzivne. Kod rekurzivnih neuronskih mreža viši slojevi vraćaju informacije nižim slojevima, dok kod nerekurzivnih postoji tok signala samo od nižih ka višim nivoima.Neuronske mreže uče na primerima. Naravno, primera mora biti mnogo, često i po nekoliko desetina hiljada. Suština procesa učenja je da on dovodi do korigovanja sinaptičkih težina. Kada ulazni podaci koji se dovode mreži više ne dovode do promene ovih koeficijenata, smatra se da je mreža obučena za rešavanje nekog problema. Obučavanje se može vršiti na nekoliko načina: nadgledano obučavanje, obučavanje ocenjivanjem i samo-organizacija.Bez obzira na korišćeni algoritam učenja, procesi su u suštini vrlo slični i sastoje se odsledećih koraka:

1) Mreži se prezentira jedan skup ulaznih podataka.2) Mreža vrši obradu i rezultat se pamti (ovo je prolaz unapred).3) Izračunava se vrednost greške, tako što se dobijeni rezultat oduzima od

očekivanog.4) Za svaki čvor se računa nova sinaptička težina (ovo je prolaz unazad).5) Menjaju se sinaptičke težine, ili se ostavljaju stare vrednosti, a nove se

pamte.6) Na ulaze mreže se dovodi novi skup ulaznih podataka i ponavljaju se

koraci od 1-5. Kada se izvrše svi primeri, ažuriraju se vrednosti sinaptičkih

Page 15: seminarski rad neuronske mreže word

14

težina, i ako je greška ispod neke zahtevane vrednosti, smatra se da je mreža obučena.

Načini obučavanja neuronskih mreža

Razmotrićemo dva načina obučavanja: nadgledano obučavanje i obučavanje samo- organizacijom.

Nadgledano obučavanjeNajpopularniji algoritam za nadgledano obučavanje je back-propagation algoritam. Osnovna ideja algoritma je sledeća: bira se slučajan par ulaznih i izlaznih rezultata. Mreži se prosleñuje ulazni skup signala, tako što se na svaki ulazni neuron dovodi po jedan signal. Zatim ovi signali propagiraju dalje kroz mrežu, u skrivene slojeve, da bi se posle izvesnog vremena na izlazu pojavio rezultat. Kako se to dešava?Za svaki neuron se računa ulazna vrednost, na već objašnjen način: signali se množe sinaptičkim težinama pridruženim dendritima, sabiraju se, i zatim se na dobijenu vrednost primenjuje prenosna funkcija neurona. Signal na isti način propagira dalje kroz mrežu, sve dok ne doñe do izlaznih dendrita. Tada se još jednom vrši transformacija i dobijaju se izlazne vrednosti. Sledeći korak je poreñenje dobijenih signala na izlaznim aksonskim ograncima sa očekivanim vrednostima za zadati test primer. Za svaki izlazni ogranak se računa vrednost greške. Ako su sve greške jednake nuli, dalja obuka nije potrebna – mreža je u stanju da obavlja traženi zadatak. Meñutim, u najvećem broju slučajeva će greška biti različita od nule. Tada se mora obaviti modifikacija sinaptičkih težina pojedinih čvorova. Ta operacija se vrši primenom delta pravila, na sledeći način:

D pWij = hdLpiOLpi

gde su:DpWij - vrednost za koju treba promeniti sinaptičku težinu Wij u odnosu na zadati ulazno-izlazni par ph - stepen učenjadLpi – greška na i-tom neuronu u sloju L za ulazno-izlazni par pOLpi – vrednost dobijena primenom prenosne funkcije u L-tom sloju neurona:

-UlazOLpi = 1 / (1 + e Lpi)

Stepen učenja se bira tako da bude izmeñu 0 i 0.9. On odreñuje veličinu koraka kojom se neuronska mreža približava optimalnom stanju. Ideja celog back-propagation algoritma je da se mreža kreće niz krivu greške u potrazi za globalnim minimumom funkcije. Izbor vrednosti za stepen učenja je veoma kritičan. Ako se uzme prevelika vrednost, vrlo lako se izbegavaju lokalni minimumi, ali sistem tada može upasti u režim oscilacija tako što će skakati preko globalnog minimuma, ali ga nikad neće otkriti. Sa druge strane, ako izaberemo suviše malu vrednost za stepen učenja, mreža može pogrešno identifikovati lokalni minimum i ostati u stanju koje nije optimalno. Situacija je prikazana na slici:

Page 16: seminarski rad neuronske mreže word

15

Kada se izvrši skup svih test primera, odreñuje se da li je mreža obučena. To se radi procenom da li je vrednost greške ispod nekog dozvoljenog praga. Ako jeste, potrebno je izvršiti i validaciju. Mreži se dostavljaju drugačiji ulazni podaci za isti problem i posmatraju se izlazi, ali i performanse. Ako mreža zadovoljava i te kriterijume, proglašava se za obučenu i dalje se u sistemima može koristiti kao crna kutija – za odreñene ulaze se garantuje da će mreža dati korektne izlaze. Na pitanje šta se konkretno dešava u skrivenim slojevima mreže je veoma teško odgovoriti.

Samo-organizovano obučavanjeSamo-organizovano obučavanje je proces u kome mreža otkriva statističke pravilnosti u skupu ulaznih podataka i automatski razvija različite režime ponašanja u zavisnosti od ulaza. Za ovaj tip učenja se najčešće koristi Kohonenov algoritam.Mreža ima samo dva sloja neurona: ulazni i izlazni. Izlazni sloj se još zove i kompetitivni sloj (razlog će postati jasan nešto kasnije). Svaki ulazni neuron je povezan sa svakim neuronom u izlaznom sloju. Neuroni u izlaznom sloju su organizovani u dvodimenzionalnu matricu. Na primer, na sledećoj slici možemo videti mrežu sa 2 ulazna i 25 izlaznih neurona:

Ulazni sloj u ovakvoj mreži ima istu funkciju kao i u do sada opisanim mrežama. Meñutim, neuroni u izlaznom sloju imaju potpuno drugačiju ulogu. Oni su u stanju da klasifikuju ulazne podatke, tj. da ih izdvoje u klase u zavisnosti od toga koji od neurona su aktivni. Takve mreže se nazivaju samo-organizujuće. One polaze od slučajno izabrane topološke mape i na kraju daju mapu koja odražava prirodne veze izmeñu ulaznih podataka. Topološko mapiranje senzornih i motornih fenomena

Page 17: seminarski rad neuronske mreže word

j2

16

postoji i u kori ljudskog mozga. Meñutim, ne treba zaboraviti da se mehanizam funkcionisanja mozga razlikuje od samo-organizujućih neuronskih mreža. Struktura mozga je drugačija, kao i ulazni podaci koje on obrañuje. Biološki nervni sistem je mnogo kompleksniji u odnosu na neuronske mreže što se tiče topologije i broja neurona.Kako radi Kohonenov algoritam? Mreži se dostavlja skup ulaznih podataka za testiranje, bez zadavanja očekivanog rezultata. Iz skupa se bira jedan slučajni ulazni podatak. Zatim se za svaki neuron u izlaznom sloju računa Euklidsko rastojanje. Neuron sa najmanjim rastojanjem se proglašava za pobednički čvor. Ceo proces se odvija na sledeći način: pretpostavimo da je ulazni podatak I = (I1, I2, I3, ..., In), tj. neka u ulaznom sloju postoji n neurona kojima se prosleñuju signali Ii. Pretpostavimo dalje da u izlaznom sloju ima m neurona, pa je skup izlaznih neurona: U = (U1, U2, U3, ..., Um). Svaki izlazni neuron Ui je povezan sa n ulaznih neurona preko isto toliko grana, tj. dendrita. Svaki dendrit ima svoju sinaptičku težinu W. Dakle, svaki izlazni neuron U i karakteriše skup težina dendrita koji ulaze u njega: Wi = (Wi1, Wi2, Wi3, ..., Win). Euklidsko rastojanje Di za izlazni neuron Ui se računa kao:

n

Di

j = 1

I Wij

Čvor, tj. neuron sa najmanjim rastojanjem je u tom trenutku najbliži ulaznom podatku i zbog toga ga nazivamo reprezentativnim. Obeležimo ga sa Uc. Pošto smo identifikovali pobednički čvor, potrebni je identifikovati i njegovu okolinu. To su jednostavno čvorovi, tj. neuroni koji se nalaze oko njega, kao na slici:

Označimo veličinu okoline reprezentativnog neurona sa H. Na početku zadajemo proizvoljnu vrednost, koja se zatim sa vremenom menja po sledećem zakonu:

Ht = H0(1 - t/T)U toku učenja ažuriraju se vrednosti sinaptičkih težina čvorova u oblasti H i to tako dase najviše uvećava težina čvora Uc, a najmanje težina najdaljih čvorova. Oni će na taj način ispasti iz kritične oblasti u sledećim iteracijama. Kritična oblast se smanjuje i kada se više ne bude menjala može se smatrati da je mreža obučena.

Page 18: seminarski rad neuronske mreže word

17

Primenaiperspektivaneuronskihmreža

Prirodni neuroni su znatno komplikovaniji od veštačkih. Mehanizmi širenja i rasta aksonskih ogranaka, formiranje novih veza, razvoj ćelija, promene lokalnog ćelijskog metabolizma su pitanja kojima se i danas posvećuje velika pažnja.Vrlo je interesantan problem razvoja mozga fetusa, jer se pokazuje da genetski kod ne sadrži dovoljno informacija za formiranje tako složenog sistema. Postoje pretpostavke da se u prenatalnom periodu dešava nešto slično procesu prirodne selekcije, ali na nivou neurona. Iako su veštački neuroni, proizvedeni u VLSI tehnologiji znatno brži od veštačkih, visok stepen povezanosti prirodnih, njihov ogroman broj i još veći broj sinapsi, čine prirodne nervne sisteme nedostižnim za današnju nauku. Pored toga, mala je verovatnoća da će u skorije vreme biti mapirano svih 150 milijardi sinapsi u ljudskom mozgu. Još je teže pojmiti analizu tako složene mreže, jer mi danas još uvek znamo malo i o mrežama od tek nekoliko veštačkih neurona.I pored toga, neuronske mreže, iako možda ne shvatamo u potpunosti njihov rad, nalaze sve veći broj primena. Na primer, upotrebljavaju se u obradi signala, analizi podataka, raznim kontrolama, kompresiji slike, konverziji jezika, postavljanju dijagnoza, prepoznavanju govora, psihijatrijskim procenama, analizi električnih kola, kompresiji zvuka, predviñanju kretanja na

tržištu, izboru osumnjičenih u kriminološkim istraživanjima, analizi medicinskih testova, spektralnoj analizi itd.Zbog svega navedenog, mnogi istraživači nazivaju neuronske mreže poslednjom ljudskom tehnologijom.

Genetski algoritmi

Priroda je, kroz proces evolucije, došla do rešenja velikog broja vrlo složenih problema, koje čovek danas pokušava da simulira i iskoristi za svoje potrebe. Na primer, posmatrajmo oko koje ima sposobnost da se u deliću sekunde prilagodi uslovima osvetljenja i na taj način automatski kompenzuje eventualnu promenu u onome što vidimo. Najsavršenije kamere ne mogu da postignu ni približno takve performanse. Ili možemo za primer uzeti ruku: njeni delikatni i precizni pokreti čine da sofisticirane robotske ruke izgledaju kao obične igračke. Najmoćniji računari su sramotno bespomoćni u odnosu na kompleksnost ljudskog mozga. Okruženi smo sposobnošću prirode da improvizuje i unapreñuje – zašto ne bismo pokušali da preuzmemo njene metode?

OptimizacijaDefiniciju optimizacije možemo naći u svakom rečniku: to je proces činenja nečega što boljim, efikasnijim ili funkcionalnijim. A to je upravo ono što priroda veoma dobro radi. Tehnike optimizacije teže da identifikuju one objekte, koji po nekom kriterijumu predstavljaju bolje alternative od ostalih. Sve tehnike zahtevaju da se kvantitativno odredi iskorišćenje nekog objekta. To se generalno radi upotrebom matematičkih modela, koji parametarski opisuje model i daje meru iskorišćenosti. Na primer, razmotrimo efikasnost motora nekog automobila. Što brže vozimo, gorivo se efikasnije troši, ali samo do neke granične brzine posle koje efikasnost opada. Matematički model efikasnosti potrošnje goriva takvog vozila bi kao parametar koristio brzinu, a kao rezultat davao efikasnost. Modelovanjem na taj način bismo bili u stanju da izračunamo optimalnu brzinu pri kojoj se troši najmanje goriva. Kada bi problem bio tako jednostavan, model nam ne bi bio ni potreban, jer bismo probanjem pre ili kasnije došli do rešenja. Meñutim, postoji još mnogo faktora koji utiču na

Page 19: seminarski rad neuronske mreže word

18

efikasnost rada motora (veličina motora, otpor vazduha, težina vozila…), od kojih mnogi zavise jedni od drugih. Ako bi sve ove parametre uključili u model, broj testova koje bismo morali da izvršimo bi bio vrlo velik. Ovde na scenu stupa optimizacija.

Konvencionalni metod optimizacijeTradicionalni metodi optimizacije koriste lokalne informacije kako bi identifikovali u kom pravcu treba dalje krenuti. Kada se načini mali korak u željenom pravcu, ponovo se uzima neka lokalna informacija i proces se ponavlja sve dok se na taj način ne mogu dobiti poboljšanja. Ovo je slično ponašanju čoveka koji se sa povezom na očima penje na brdo. Po osećaju gde se nalazi (parametri - visina i širina) on pokušava da pogodi u kom pravcu treba da krene kako bi savladao što veći uspon. On to radi tako što načini korak u pravcu za koji misli da je ispravan, stane, razmisli, ponovo načini korak u istom ili novom pravcu, sve dok svaki put ne vodi nadole. Tada zna da je stigao na vrh.Kao rezultat ove analogije, tradicionalne metode optimizacije se često nazivaju i pešačke. Na žalost, naš planinar iz prethodnog primera nije u stanju da kaže da li se upravo popeo na Mont Everest ili Avalu, a da ne skine povez sa očiju. Analogno, optimizacione metode ne mogu da tvrde da su pronašle najbolje moguće rešenje, ili samo neko koje je bolje od nekog dela ostalih. Takva rešenja se nazivaju lokalna, jer su bolja od sličnih, lokalnih rešenja, ali ne postoji garancija da ne postoji globalno bolje rešenje. Zato se konvencionalne tehnike optimizacije nazivaju i lokalna optimizacija.

Optimizacija putem genetskih algoritamaGenetski algoritmi koriste drugačiji pristup problemu optimizacije. Oni ne koriste iterativne metode lokalne optimizacije već pokušavaju da identifikuju rešenja teških i kompleksnih problema pozivajući se na postulate teorije evolucije.Vratimo se na problem optimizacije potrošnje goriva. Kada bi automobil bio živo biće, sposobno za reprodukciju, bio bi podložan zakonima prirodne selekcije. Pretpostavimo da je potrošnja goriva najvažniji faktor koji odreñuje opstanak automobila. Jasno je da bi automobili sa većom potrošnjom imali manje šanse da prežive od automobila sa manjom potrošnjom. Pod pretpostavkom da proces reprodukcije dovodi do potomaka koji su slični roditeljima, efikasna vrsta automobila bi polako istisnula neefikasne vrste. S obzirom da smo pretpostavili da reprodukcija ne stvara potomke identične roditeljima, neki od potomaka bi bili efikasniji od roditelja, a neki ne. Potomci sa manjom potrošnjom bi imali veću šansu da opstanu od svoje neefikasnije braće i sestara. Kao rezultat se ne dobija samo zamena slabijih automobila superiornijim, već i stvaranje do tada neviñenih, super-efikasnih potomaka koji nadmašuju roditelje. Ovaj primer izgleda preuveličan, ali je to tačno ono što se dešava u procesu uzgoja rasnih konja, gde se umesto potrošnje goriva favorizuje brzina. Selektivnim uzgojem su današnji trkački konji prešli dug put od svojih primitivnih predaka.U praksi je naravno nemoguće primeniti programe selektivnog uzgajanja na objektekoje želimo da optimizujemo – jednostavno ih ne možemo naterati da se razmnožavaju. Tu stupaju na scenu genetski algoritmi. Umesto da rade sa objektima, genetski algoritmi rade sa njihovim parametarskim opisima. Matematički model predstavlja osnovu za reprodukciju, dok algoritam kontroliše proces reprodukcije i opstanak objekata koji se nadmeću u potrazi za rešenjem. Algoritam radi sa skupom probnih objekata. Na njih se primenjuju genetski operatori (koji će biti kasnije

Page 20: seminarski rad neuronske mreže word

19

objašnjeni) a zatim se vrši njihova procena. Opstanak objekta zavisi od vrednosti koju će ova funkcija vratiti: ukratko, favorizuje se opstanak najjačih. Genetski operatori obezbeñuju da potomci budu slični, ali ne i identični sa roditeljima. Na taj način se populaciji omogućava da evoluira do rešenja koja nisu bila prisutna u početnom skupu objekata.Ovakav distribuirani, evolucioni pristup omogućava genetskim algoritmima da neupadnu u zamku lokalnih minimuma – ovi algoritmi predstavljaju istinsku globalnu optimizacionu tehniku. Ona je u stanju da identifikuje rešenja bliska ili identična sa globalnim optimumima. Pošto ne zavise od lokalnih informacija, genetski algoritmi se mogu primenjivati u tradicionalno problematičnim oblastima – zadacima sa velikim brojem lokalnih optimuma, šumom ili diskontinuitetima.

Kako rade genetski algoritmi?

Kao što smo već rekli, genetski algoritmi su zasnovani na principima evolucije. Terminologija i operatori su preuzeti iz oblasti populacione genetike. Osnovni objekat genetskih algoritama je hromozom, a njegova iskorišćenost se naziva fitnes (eng. fitness). Osnovni operatori koji se primenjuju na hromozome su krosover (eng. crossover), mutacija i selekcija. Krosover, mutacija i selekcija čine jednu generaciju, koja je ekvivalentna jednoj iteraciji u tradicionalnim optimizacionim tehnikama.

HromozomiZa razliku od mnogih optimizacionih tehnika, genetski algoritmi ne rade direktno sa skupom parametara. Umesto toga, algoritam radi sa parametrima koji su binarno kodirani u hromozome. Na primer, posmatrajmo 12-bitni hromozom:

110010101001Neka je svaki parametar kodiran sa četiri bita, i neka vrednosti parametara mogu biti uintervalu (0,1). Prvo ćemo podeliti hromozom na sledeći način:

1100 1010 1001Svaki od ova četiri dela predstavlja jedan ceo broj, tj. jedan parametar:

(12, 10, 9)Znajući interval u kome se mogu nalaziti vrednosti parametara, lako ćemo skaliratiove vrednosti i dobiti:

110010101001 -> (0.7500, 0.6250, 0.5625)Vidimo da hrozomom može da predstavi skup parametara proizvoljne dužine –dovoljno je da hromozom sadrži dovoljan broj bita. Genetski algoritmi rade sapopulacijom sastavljenom od fiksnog broja hromozoma.

Fitnes funkcijaKao i svaka druga optimizaciona tehnika, i genetski algoritmi zahtevaju neku kvantitativnu meru korisnosti, tj. ispravnosti predloženog rešenja (u ovom slučaju hromozoma). Ovu meru daje fitnes funkcija. Fitnes funkciji se prosleñuje skup parametara kodiran u odreñenom hromozomu, a ona vraća meru njegove korisnosti – što može biti efikasnost, cena itd. Na primer, posmatrajmo ponovo hromozom:

110010101001 -> (0.7500, 0.6250, 0.5625) Pretpostavimo da fitnes funkcija odreñuje dužinu vektora zadatog parametrima kodiranim u hromozomu na sledeći način:

fitnes( a , b, c) a2

b2

c2

Za hromozom koji posmatramo bi bilo:fitnes(0.75, 0.6250, 0.5625) = 1.27

Page 21: seminarski rad neuronske mreže word

20

Sada se na hromozome, u zavisnosti od dobijene vrednosti fitnes funkcije, primenjuju različiti operatori u cilju favorizovanja hromozoma koji su bliži rešenju problema.

KrosoverKrosover je najvažniji operator genetskih algoritama. Predstavlja razmenu genetskog materijala izmeñu dva hromozoma po analogiji sa procesom koji se pod istim imenom dešava u stvarnim hromozomima kod viših oblika života.Na primer, posmatrajmo sledeći par hromozoma:

110010101001 -> (0.7500, 0.6250, 0.5625)101000110101 -> (0.6250, 0.1875, 0.3125)

Prvi korak je deoba hromozoma na dva dela. Oba hromozoma se dele na istom, slučajno izabranom mestu. Neka je do deobe došlo posle sedmog bita:

1100101 010011010001 10101

Sledeći korak je izmena bita (genetičkog materijala) koji su se podelili:1100101 101011010001 01001

Zatim se delovi ponovo spajaju, čime se dobijaju dva nova hromozoma, sa novimskupovima parametara:

110010110101 -> (0.7500, 0.6875, 0.3125)101000101001 -> (0.6250, 0.1250, 0.5625)

Primetimo da drugi parametar oba hromozoma sadrži vrednosti koje nisu bile prisutneu roditeljskim hromozomima. Ova mala razlika izmeñu roditelja i potomka je vitalna za rad genetskih algoritama, jer se njom omogućava da selekcija vodi populaciju uželjenom pravcu. U proseku se 60% populacije podvrgava krosoveru u svakoj generaciji.

MutacijaOperator mutacije je unarni operator, tj. radi sa pojedinačnim hromozomima i na slučajan način menja vrednosti njihovih bita. Ova promena može biti veoma destruktivna za dobre hromozome, ali je neophodna kako populacija ne bi evoluirala suviše brzo – na ovaj način se izbegava konvergencija ka lokalnom optimumu (efekat poznat kao prerano sazrevanje ili konvergencija populacije). Na primer, posmatrajmo ponovo našeg poznanika:

110010101001 -> (0.7500, 0.6250, 0.5625)Prvi korak je izbor slučajne lokacije koja će mutirati. Izaberimo peti bit:

1100 1 0101001Vrednost bita se menja, tj. bit se invertuje (u ovom slučaju sa 1 na 0) i hromozom sevraća u populaciju kao:

110000101001 -> (0.7500, 0.0625, 0.5625)Očigledno je da mutacija može da ima drastične efekte na promenu skupa parametarapovezanih sa datim hromozomom, što može dovesti do pada vrednosti fitnes funkcije.

Broj hromozoma koji u jednoj generaciji mutira je obrnuto proporcionalan broju

hromozoma u populaciji.

SelekcijaOperator selekcije služi kako bi se obezbedilo da broj potomaka u narednoj generaciji bude srazmeran sa rezultatom koji za svaki hromozom vraća fitnes funkcija. Najpopularnija metoda selekcije je metoda ruleta. Svakom hromozomu se dodeljuje površina u krugu za rulet koja je srazmerna njegovoj fitnes funkciji. Za svako

Page 22: seminarski rad neuronske mreže word

21

slobodno mesto u novoj generaciji se zavrti krug i izvlači po jedan hromozom koji zatim zauzima to mesto. Na taj način se favorizuju bolji hromozomi, koji će u svakoj narednoj generaciji zauzimati sve više mesta u populaciji.

Generacije u genetskim algoritmima se sastoje od ponavljanja iteracija krosovera, mutacije i selekcije. Princip rada se može prikazati u pseudokodu na sledeći način:

procedure genetski_algoritam;begin

t:= 0;inicijalizuj Pt;proceni Pt;while (not uslov_za_završetak) do

begin

endend

izaberi P t+1 iz Pt;t:= t+1;krosover Pt

mutacija Pt

procena Pt

Pri inicijalizaciji se vrši kreiranje slučajnih hromozoma. U fazi procene se računa fitnes funkcija za svaki hromozom, a zatim se vrši selekcija. Uslov za završetak rada je najčešće neki fitnes kriterijum (kada ostanu samo hromozomi sa vrednostima fitnes funkcija iznad nekog unapred zadatog praga) ili pošto kroz algoritam proñe odreñeni zadati broj generacija.

Operatori genetske algebre

Na ovom mestu prvi put uvodimo pojam genetske algebre. Posmatrajmo konačan skup hromozoma jednake dužine, koji ćemo dalje zvati populacija. Cilj je da primenom genetskih operatora populacija što pre evoluira u pravcu željenog rešenja, tj. globalnog optimuma. Zadatak genetskih operatora je dvojak: oni su mehanizam kojim se vrši evolucija, ali su istovremeno i sigurnosni mehanizam koji treba da spreči prerano sazrevanje populacije, tj. evoluciju do lokalnog minimuma.Uvodimo šest operatora genetske algebre, od kojih su dva binarna, a četiri unarna.

Unarni operatori• translokacija (τ): Deo hromozoma se iseca i prebacuje na drugo mesto u okviru

istog hromozoma.• inverzija (γ): Deo hromozoma se iseca i prebacuje na isto mesto, ali u obrnutom

redosledu bita.• translokacija sa inverzijom (φ): Deo hromozoma se iseca i prebacuje na drugo

mesto u okviru istog hromozoma, ali u obrnutom redosledu.• mutacija (µ): Slučajno izabrani bit, ili grupa bita se invertuje.• selekcija (ψ): na osnovu fitnes funkcije se odreñuje koji hromozomi preživljavaju

i napreduju u sledeću generaciju, a koji umiru.

Page 23: seminarski rad neuronske mreže word

22

Binarni operatori• krosing – over (θ): Dva hromozoma zamenjuju slučajno izabrane sekvence.• kombinacija (β): Od dva roditeljska hromozoma se dobija jedan hromozom

potomak koji nasleñuje bolji iz svakog para roditeljskih parametara.

Naročita pažnja se mora obratiti na upotrebu operatora kombinacije, jer se njegovom primenom dobija tzv. super-dete, tj. potomak koji će sigurno imati bolje osobine od roditelja. Problem je što super-deca mogu da pobiju roditelje suviše brzo i da algoritam upadne u zamku lokalnog optimuma. To je generalno problem sa svim navedenim operatorima. Zato je vrlo bitan redosled njihove primene. Trebalo bi prvo primeniti binarne operatore, kako bismo dobili što veću genetičku raznolikost, a zatim je namerno pokvariti upotrebom unarnih operatora koji, mogu biti vrlo destruktivni.

Sada ćemo prikazati kompletan algoritam. Pre toga uvodimo nekoliko pretpostavki:

1) na raspolaganju su korektno definisani hromozomi2) fitnes funkcija postoji i vraća tačne vrednosti za bilo koji skup parametara3) na raspolaganju je generator slučajnih brojeva sa uniformnom raspodelom

program genetski_algoritam begin

unos_hromozoma(populacija); while not uslov_zavrsetka do begin

izaberi_hromozome(bafer,sluc_br,populacija);θ (bafer);vrati_hromozome(bafer,populacija);

izaberi_hromozome(bafer,sluc_br,populacija);β(bafer);vrati_hromozome(bafer,populacija);

izaberi_hromozome(bafer,sluc_br,populacija);τ (bafer);vrati_hromozome(bafer,populacija);

izaberi_hromozome(bafer,sluc_br,populacija);γ (bafer);vrati_hromozome(bafer,populacija);

izaberi_hromozome(bafer,sluc_br,populacija);φ (bafer);vrati_hromozome(bafer,populacija);

izaberi_hromozome(bafer,sluc_br,populacija);µ (bafer);vrati_hromozome(bafer,populacija);

izaberi_hromozome(bafer,sluc_br,populacija);

Page 24: seminarski rad neuronske mreže word

23

ψ (bafer);vrati_hromozome(bafer,populacija);

selekcija(populacija);end_while

dekodovanje(populacija); end_program.

Naravno, operatori genetske algebre nisu uvedeni samo radi skraćene notacije, već i zbog formiranja složenijih operatora. Naime, binarnim operatorima (krosing-over i kombinacija) se mogu dovoditi operandi na koje su primenjeni unarni operatori. Na taj način bi se formirali složeni izrazi poput ovog:

temp_hromozom:= θ ( τ(operand1), µ(operand2) )

Cilj ovakvog kombinovanja je stvaranje što veće genetičke raznolikosti kako bi se izbegla situacija kada algoritam prestaje da radi zbog pronalaska lokalnog optimuma. Meñutim, složene operacije bi znatno produžile vreme izvršavanja algoritma, a ono i jeste prevashodni razlog zašto smo se odlučili za genetske algoritme– oni bi trebali da imaju višestruko manje vreme izvršavanja

od konvencionalnih algoritama optimizacije.

Page 25: seminarski rad neuronske mreže word

24

Veštačke neuronske mreže

Artificial Neural Networks - ANN

Page 26: seminarski rad neuronske mreže word

25

Veštačke neuronske mreže kao nova tehnologija

• Veštačke neuronske mreže NM su nova tehnologija koja reševa brojne naučne i inženjerske probleme gde treba pronadi informaciju na osnovu složenih i nesigurnih podataka.

• Radi se o problemima gde tradicionalni pristupi ne pružaju zadovoljavajude rešenje u:– analizi signala– prepoznavanju oblika– upravljanju sistemima– veštačkoj inteligenciji– ...

Page 27: seminarski rad neuronske mreže word

26

Primer• Treba prepoznati objekat na nekoj slici:

– brojne tehnike prepoznavanja oblika prepoznaju objekat kada je predmet poznat i slika statična

– tehnike veštačke inteligencije pomažu kada se objekat ili pozadina menjaju, ali na poznat način ili je promena ograničena

– tradicionalni pristupi ne pomažu kada su promene nepredvidive– rešenje nude NM

Page 28: seminarski rad neuronske mreže word

27

Problemi koje rešavaju NM• problemi gde postoje nepoznata ponašanja ili je sistem složen

za formiranje pravila ponašanja– klasifikacija oblika– veštačka inteligencija koja radi u realnom vremenu– restauracija podataka oštedene digitalne slike; kompresija slike;

prepoznavanje oblika– analiza scene– upravljanje sistemima kod nenormalnog ponašanja senzora i

izvršnih organa– autonomna vozila, ...

• NM tehnologija:– upotrebljava masovno paralelno-distribuirano procesiranje– danas je jedina takva tehnologija koja može biti hardverski realizovana

Page 29: seminarski rad neuronske mreže word

28

Teorija NM• nastala iz više pravaca istraživanja:

– teorija obrade signala (prepoznavanje oblika i govora)– neurobiologije– fizike - razvoj hardvera posebne namene

• je i pokušaj da se razume rad ljudskog mozga• istraživanja se primenjuju u obradi složenih informacija i “sarađuju”

sa tehnikama ne-klasične obrade informacija:– automati koji uče– genetski algoritmi– asocijativne memorije– sistemi sa fuzzy logikom ...

• formira modele i algoritme koji se mogu simulirati na konvencionalnimračunarima, ali najbolje performanse se postižu na posebno napravljenom hardveru - neuroračunaru

Page 30: seminarski rad neuronske mreže word

29

Neuroračunar• proširuje mogudnosti u odnosu na druge sisteme:

– može da uči– samostalno povedava svoje porformanse– automatski se prilagođava promenama u okruženju– može da “se bori” sa ozbiljnim oštedenima

• obrada informacija je slična biološkom nervnom sistemu• NE OPONAŠAJU se biološki neuroni sasvim tačno, ved se

aproksimiraju korisne “računske sposobnosti” stvarnih neurona

Page 31: seminarski rad neuronske mreže word

30

Razlike klasičnih računara i NM• računari rade na totalno logičkoj osnovi, sekvencijalno i sa

niskim stepenom paralelizma.Programi moraju biti gotovo savršeni.Njihovo iscrpno dizajniranje i testiranje je postepen, dug proces i čini ihskupim.

• NM mogu spontano da uče, pronalaze nove načine obrade (ulaznih)podataka i menjaju svoja pravila da bi pronašli najbolja rešenja problema.Mogu da obrađuju ne sasvim tačne, fuzzy i nekonzistentne podatke.Karakteriše ih paralelno asinhrono distribuirano procesiranje informacija.Mreža je tolerantna na oštedenje i prisustvo šuma.Podaci su raspoređeni u celoj mreži.Memoriji se pristupa na osnovu sadržaja, a ne adrese.

• NM su zasnovane na transformacijama, a klasično programiranje na algoritmima i pravilima.

Page 32: seminarski rad neuronske mreže word

31

Poređenje računara i NM

Računar NM

Rešavanje problema

Formulisanjem algortmaIzborom algoritma i skupa reprezentativnih

Ulazni podaci Brojevi Brojevi ili percepcija

Prikupljanje znanja

Programski Obukom

Izvlačenje znanja

Sekvencijalnim računanjemOdzivom zajedničke obrade

Računanje Aritmetika visoke tačnostiMala tačnost, nelinearno mapiranje

Interni podaciInterna reprezentacija pod kontrolom algoritma

Interna reprezentacija pod kontrolom ulaznihpodataka

Skladištenje meñurezultata

binarne memorije, ROM, RAM, ...

Jačine veza kao kontinualne vrednosti

Page 33: seminarski rad neuronske mreže word

• zna se malo• čine ih:

32

Biološki neuroni

– dendriti - ulazni kanali el.-hem. signala– soma - telo delije, stiču se ulazi sa dendrita– akson - jedan, izlazni kanal

• delija ima 1000-100000 ulaza i samo 1 izlaz• sinapsa je oblast el-hem. kontakta među

neuronima pobudna - pomaže da neuron pošalje signal inhibitorna - sprečava ga

• način rada: ulazni signali dolaze do some, polarizuju je i kada polarizacija pređe prag, neuron se prazni odašiljudi el.-hem. impuls duž aksona

Page 34: seminarski rad neuronske mreže word

33

Neke generalije ljudskog mozga• masa 2% mase tela• potrošnja kiseonika >20% od potrošnje tela• snaga 20W• broj neurona 1011

• broj sinapsi (veza) po neuronu 103-105

• ukupan broj sinapsi 1015

• maksimalna dužina prenosnog signala >1m• dimenzija kore 2000cm2, debljina 2-3mm• kolona je najmanja funkcionalna jedinica sa oko 4000 neurona• radi: svest, razmišljanje, emocije, ...

Page 35: seminarski rad neuronske mreže word

34

Sličnosti sa biološkim neuronima• samo inspiracija potiče iz biologije• način povezivanja ne odgovara pravom, ali je sličan• funkcija je slična pravim:

– učenje na osnovu iskustva– generalizacija i zaključivanje– abstrakcija (izdvajanje bitnih krakteristika iz mase podataka)

Page 36: seminarski rad neuronske mreže word

35

Neke mogudnosti NM• prepoznavanje oblika u realnom vremenu• upravljanje sistemima u brojnim složenim i nelinearnim ograničenjima• pronalazi izgubljene ulaze iz izvora na osnovu poznavanja dela ulaza

- asocijacija• prepoznaje objekte i kada su izobličeni• “pamti” predmete u vezi i kada veza nije očigledna ili unapred poznata• učenje u realnom vremenu• “glatko” smanjuje performanse kod otkaza delova mreže

Page 37: seminarski rad neuronske mreže word

x

w

2

36

Veštački neuron• je osnovni procesni element NM• Sadrži:

– ulaze - xi

– sinapse (težinski, ponderišudi faktori ulaza) wimogu biti pobudne >0 ili pak inhibitorne <0

– stanje aktivacije - z– izlaznu funkciju - f– jedan izlaz - o– prag - T x1

1

w2

∑z

fo

o = f ( z) = f (∑ wi

xii

+ T )

...

xn

wn T

+1

Page 38: seminarski rad neuronske mreže word

• linearna (a)

37

Izlazna funkcija neurona(a)

• pragovska funkcija (b)• semi-linearna (c)• sigmoidalna (d)

(hiperbolični tangens)

f ( z) =2

−11 + e− z

(b)

(c)(d)

Page 39: seminarski rad neuronske mreže word

38

Neuronska mreža• sastoji se od međusobno povezanih neurona• motivacija: značajna sposobnost mreže da računa kada ima dovoljano

velik broj neurona• način računanja mreže (algoritam) zavisi od vrednosti težinskih faktora wij

• obučavanje predstavlja promenu (podešavanje) težina wij

• uči na osnovu serije primera (uzoraka)

Page 40: seminarski rad neuronske mreže word

8

39

Procesiranje neurona - odziv mreže• autoasocijacija (a)• heteroasocijacija (b)• klasifikacija (c)• generalizacija (d)

(a)

(c)

(b)

-1+1

+1 (d)-1

Page 41: seminarski rad neuronske mreže word

40

Modeli obučavanja NM• supervizorsko (sa učiteljem)

– postoji obučavajući skupparova (ulaz, željeni-izlaz)

• nesupervizorsko (bez učitelja)

Adaptivnax mreža o

W

Generatord

rastojanja

• inkrementalno• batch obuka, podešavanje težina u

“jednom koraku”

e(d,o)

Adaptivnax mreža o

W

Page 42: seminarski rad neuronske mreže word

41

Modeli NM - arhirekture• neuroni se obično postavljaju u slojeve• sa propagacijom signala u napred - feed-forward

– jednoslojne– višeslojne

• sa povratnim spregama feedback - rekurentne mreže– jednoslojne i višeslojne– sa diskretnim i kontinualnim signalima

• kombinovane

Page 43: seminarski rad neuronske mreže word

x

42

Jednoslojna feed-forward NM

Ulazni sloj

x1

Težine

w11

w w

Izlazni sloj

1 o1

x2

...

21

wm2

w1n

12

w22 2

w2n

wm1

o2

...

x(t) o(t) Φ[ Wx ]

wmnn m om

x W o

Page 44: seminarski rad neuronske mreže word

43

Višeslojna feed-forward NM• vrlo često upotrebljavana arhitektura• signali propagiraju samo u napred• neuroni su oranizovani u slojevima

o = Φ[ Wk... Φ[W1x] ]

x1 1 1 1 o1

x2 2 2 2 o2

Ulazni sloj

...

Skriveni sloj 1

...

Skriveni sloj k-1

Izlazni sloj

...

xn r q m om

x W1 ... Wk o

Page 45: seminarski rad neuronske mreže word

Osobine višeslojne feed-forward mreže• Teorema:

Višeslojna mreža sa jednim skrivenim slojem može sa proizvoljnom tačnošdu e>0 da uniformno aproksimira bilo koju realnu kontinualnu funkciju na konačnoj realnoj osi

• Teorema:Višeslojni mreža sa dva skrivena slojem može sa proizvoljnom tačnošdu e>0 da uniformno aproksimira bilo koju realnu kontinualnu funkciju više argumenata

Page 46: seminarski rad neuronske mreže word

Jednoslojna diskretna rekurentna mreža

x1(0)

x2(0)

...

o1(t)

o2(t)

w21

wm2

w1n

w11

w12

w22

wmn

1

2

w2n

wm1

o1(t+∆)

o2(t+∆)

...

om(t+∆)

x(0)

o(t)

Φ[ Wx ]

o(t+∆)

xn(0)om (t)

m∆ Elemenat za kašnjenje

o(k+1) = Φ[Wx(k)]k = 0, 1, ...

Page 47: seminarski rad neuronske mreže word

Imena nekih poznatih arhitektura

Arhitektura Obuka Odziv

Jednoslojni perceptron Superv. Feed-forwardVišeslojni perceptron Superv. Feed-forward

Mreže gradijentnog tipa Batch Rek.-KontinualneLinearne asocijativne memorije Batch Feed-forward

Asocijativne memorije Batch Rek.-Kont. i Diskretne

Bidirekcione asocijativne memorije Batch Rek.-Kont. i DiskretneTemporal asocijativne memorije Batch Rek.-Kont. i DiskretneHamming-ove mreže Batch Feed-forward

MAXNET Batch Rek.-Kont. i DiskretneMreže za klaster analizu Nesuperv. Feed-forward

Counterpropagation mrežeSuperv. + Nesuperv. Feed-forward

Samoorganizujuće mreže Nesuperv. Feed-forward

ART 1 (Adaptive resonance theory) Nesuperv. Rek.-Kont. i Diskretne

Page 48: seminarski rad neuronske mreže word

Imena nekih poznatih algoritama obuke

Algoritam ∆wij wij(0) Obuka f(z) Grupa

Hebbian coixj

j = 1, 2, ... n0 NS proiz. Neuron

PerceptronTc[di-sgn(w i x)]xj

j = 1, 2, ... nproiz. S [-1,+1],

[0,+1] Neuron

Delta c(di-oi)f’(zi)xj

j = 1, 2, ... nproiz. S kontinu. Neuron

Widrow-HoffTc(di-wi x)xj

j = 1, 2, ... nproiz. S proiz. Neuron

Correlation cdixj

j = 1, 2, ... n0 S proiz. Neuron

Winner-take-all∆wmj = c(xj-wmj)m – neuron pobednik

j = 1, 2, ... nrandom NS kontinu. Sloj od p

neurona

Outstar c(di-wij)i = 1, 2, ... p

0 S kontinu. Sloj od pneurona

Legenda: c - pozitivna konstanta, S - supervizorska i NS - nesupervizorska obuka

Page 49: seminarski rad neuronske mreže word

Delta pravilo - Back-propagation BP• je najčešde upotrebljavan algoritam obuke feed-forward NM• obučava na osnovu skupa ulazno/izlaznih parova - obučavajući skup:

{ (x1,d1), (x2,d2), ... (xP,dP) }xi = [xi1 xi2 ... xin] - vektor ulaznih podataka, adi = [di1 di2 ... dim] - vektor izlaznih podataka.

• iterativan postupak u kome se koriguju vrednosti težina:wk - k-ti red matrice težina W (težine k-tog neurona)

w ( n+1) = w ( n) + ∆w ( n )

k k k

• obuka traje dok se odzivi mreže oi “ne poklope”sa željenim odzivima di , i = 1, 2, ...P.

Page 50: seminarski rad neuronske mreže word

∑ 2 12 (

BP (nastavak) Kriterijum oprimlanosti

• Pri ovome postoji greška E, koje predstavlja kriterijum optimalnosti:

P

E = ∑ E pp =1

E p =m

1pk

k =1

− o pk

) = 2

2d p − o p

Page 51: seminarski rad neuronske mreže word

2 n

kj k k 2 k j

m

BP (nastavak) Promena težina u izlaznom sloju

• korekcija vrednosti težina se dobija x 1 ona osnovu minimizacije kriterijuma 1

optimalnosti E gradijentnimpostupkom:

• konstanta 0 < η < 1 je koefcijenat x2brzine obučavanja.

w21 w12

w22

wm2 w2n

1

2 o2

o( z) =2

−11 + e− z

... w1n wm1

...

∂o =

∂z1 (1 − o2 ) x

wmnm o

∆wkj = −η∂E p

∂wkj

= −η∂E p

∂ok

∂ok

∂wkj

= −η∂E p

∂ok

∂ok

∂zk

∂zk

∂wkj

∆w = η (d − o ) 1 (1 − o 2 )x

Page 52: seminarski rad neuronske mreže word

k2 k

BP (nastavak)

• ... u matričnom obliku ∆w = η (d

− o ) 1 (1 − o 2)xk k k 2 k

ili∆wk = ηδok x

δok =1 (d − ok)(1 − o2 )

δok je “delta signal” po kome je metod dobio ime.

• ovaj postupak računanja δok se odnosi na jednoslojne mreže ili na izlazni sloj višeslojne NM

• višeslojne NM se obučavaju generalizovanim delta pravilom

Page 53: seminarski rad neuronske mreže word

k

BP (nastavak) Promena težina u skrivenim slojevima

1 1

xyj

i

vj

w

δokk

...

okji δyj

kj(d )

... ...

r

...

m

∆v j = ηδyj xm

yj 2 j ∑ ok kj

δ = 1 (1 − y 2 ) δ wk =1

Page 54: seminarski rad neuronske mreže word

= k =j ∑ ok kj2 2

Generalizovano Delta pravilo• ako se posmatra NM sa jednim skrivenim slojem, i težine koje

pripadaju izlaznom sloju su W, a skrivenom V, tada se postupkom minimizacije funkcije E dobija:

∆wk = ηδok y∆v j = ηδyj x

m

δok1 (1 − o2 )(d

− ok ) δ yj1 (1 − y2 ) δ w

k =1

gde je: δok greška vezana za izlazni sloj, vj vrsta iz matrice V, a y - vektor izlaza neurona skrivenog sloja

Page 55: seminarski rad neuronske mreže word

BP algoritam1. inicijalizuju se težine W i V na slučajne male vrednosti2. postavi se ulaz x i izračunaju se izlazi neurona u skrivenom sloju y i

izlazi neurona izlaznog sloja o3. izračuna se greška Ep u batch obici se računa E=sum(Ep)

4. odrede se “delte” δok i δyj(“delta” propagira u nazad - back-propagation)

5. koriguju se težine u izlaznom sloju wj

6. koriguju se težine u skrivenom sloju vj

7. uzme se naredni ulaz i nastavi od koraka 2. ne u batch

8. nakon upotrebljenih svih el. obučavajudeg skupa izračuna se ukupna greška

E i uporedi sa zadanim Emax

9. ako je E < Emax mreža je obučena, inače se nastavlja od koraka 2, gde se na ulaz mreže ponovo dovodi prvi elemenat obučavajudeg skupa.

Page 56: seminarski rad neuronske mreže word

BP (kod za batch obuku)

function o = purelin(wx,b) % linearna aktivaciona f-ja cols = size(wx,2);o = wx + b*ones(1,cols);

function o = tansig(wx,b) % tangensni sigmoid f-ja z = purelin(wx,b);o = 2 ./ (1+exp(-2*z)) - 1;

function d = deltatan(y,d,w)d = 0.5*(1 - (y.*y)) .* (w'*d);

function [dw,db] = learnbp(x,d,eta)q = eta*d;dw = q * x';cols = size(x,2);db = q * ones(cols,1);

Page 57: seminarski rad neuronske mreže word

BP (kod) NM sa 2 skrivena sloja - primer

% obucavajuci skup: XOR problem, ali može i nešto teže : ) X = [-1 -1 1 1 % ulazi

-1 1 -1 1];Y = [-1 1 1 -1]; % izlazi

% inicijalizacija tezina, bias-a (S1==broj skrivenih celija) [R,Q] = size(X); S1 = 5; [S3,Q] = size(Y); S2 = 2;W1 = rand(S1,R) * .5 - .25; B1 = rand(S1,1) * .5 - .25; W2 = rand(S2,S1)* .5 - .25;B2 = rand(S2,1) * .5 - .25; W3 = rand(S3,S2)* .5 - .25;B3 = rand(S3,1) * .5 - .25;

eps = 0.02; % tacnost racunanjaeta = 0.2; % koef. brzine obucavanjaerror = []; % vektor gresaka tokom obuke

Page 58: seminarski rad neuronske mreže word

BP (kod) NM sa 2 skrivena sloja – primer nastavak

for i=1:5000% prolaz u napredY1 = tansig(W1*X,B1);Y2 = tansig(W2*Y1,B2);Y3 = purelin(W3*Y2,B3);

% greškaE = Y - Y3;SE = mean(sum(E.*E));error = [error SE];

% provera krajaif SE < eps, break, end

% ...

% obukaD3 = E;D2 = deltatan(Y2,D3,W3);D1 = deltatan(Y1,D2,W2);[dW1,dB1] = learnbp(X,D1,eta);[dW2,dB2] = learnbp(Y1,D2,eta);[dW3,dB3] = learnbp(Y2,D3,eta);W1 = W1 + dW1; B1 = B1 + dB1;W2 = W2 + dW2; B2 = B2 + dB2;W3 = W3 + dW3; B3 = B3 + dB3;

% ispisif rem(i,50) == 0, disp([i, SE]), end

enddisp([i,SE]) % konacan ispisplot(error)

Page 59: seminarski rad neuronske mreže word

• sporo konvergira

Osobine BP algoritma

• sporo radi za veliki broj težina (>>1000)• ograničen je samo na feed-forward mreže• dobar je za generalizaciju, ali loš za učenje specifičnih slučajeva• obučavanje višeslojne feed-forward NM je NP kompletan problem,

gde broj računanja raste sa veličinom problema brže od bilo kog konačnog stepena neke odgovarajude mere

Page 60: seminarski rad neuronske mreže word

k k k k

Ubrzanja konvergencije BP algoritma

• ubaciti “momentum član”w( n+1) = w( n ) + ∆w ( n ) + γ∆w ( n−1)

• izlaze skalirati i svesti na interval [-0.5, +0.5]• linijski tražiti u pravcu gradijenta• upotrebiti neku od metoda promenljive metrike• ubaciti “trešenje mreže” - ako algoritam “zaglavi” u lokalnom

minimumu, težinama dodati male vrednosti• ulaze mreže ne birati uniformno, ved na osnovu odstupanja izlaza. Npr.,

treba ubaciti faktore prilagođenja uz svaki ulazni vektor i njegovu vrednost povedavati kada E raste, a smanjivati kada E opada.

Page 61: seminarski rad neuronske mreže word

BP (kod) sa momentum članom

…gama = 0.1;dW1 = W1 * 0; dB1 = B1 * 0;dW2 = W2 * 0; dB2 = B2 * 0;dW2 = W3 * 0; dB2 = B3 * 0;...

u fazi obuke …dW1s = dW1; dB1s = dB1;dW2s = dW2; dB2s = dB2;dW3s = dW3; dB3s = dB3;[dW1,dB1] = learnbp(X,D1,eta);[dW2,dB2] = learnbp(Y1,D2,eta);[dW3,dB3] = learnbp(Y2,D3,eta);

W1 = W1 + dW1 + gama * dW1s;B1 = B1 + dB1 + gama * dB1s;W2 = W2 + dW2 + gama * dW2s;B2 = B2 + dB2 + gama * dB2s;W3 = W3 + dW3 + gama * dW3s;B3 = B3 + dB3 + gama * dB3s;

Page 62: seminarski rad neuronske mreže word

Primeri primene NM• rešavanje složenih optimizacionih

problema– problem trgovačkog putnika– oponaša ML sekvencijani estimator kod modemskih komunikacija– statičko i dinamičko preključivanje na više procesora– restauracija oblika na osnovu senke

• prepoznavanje oblika– klasifikovanje ciljeva na radaru– prepoznavanje ciljeva na sonaru ili radaru– pradenje vedeg broja ciljeva na meti– prepoznavanje pisanog teksta– kontinualno prepoznavanje govora (izobličenog i zašumljenog)

Page 63: seminarski rad neuronske mreže word

Primeri primene NM (nastavak)

• izgovaranje teksta, izgovaranje cifara i teksta pisanog rukom• kompresija video slike• grupisanje podataka i klaster analiza• autonomna vožnja automobila• optimalno rešenje trajektorije rakete (two-point boundary-value problem)• modelovanje funkcija mozga• NM i ekspertni sistemi daju brojna komercijalna rešenja za

Computer aided decision systems– saveti u bankarstvu– paspoređivanje letova aviona– saveti u medicini

• ...

Page 64: seminarski rad neuronske mreže word

Primena NM u modeliranju i simulaciji• Sposobnost NM da proizvoljno mapira ulaze na izlaze joj omogudava da

simulira ponašanje drugog sistema• Obučavanje NM ulazno-izlaznim podacima iz objekta predstavlja

postupak identifikacije sistema• Mogu se vršiti

– direktna identifikacija objekta (a)– inverzna identifikacija objekta (b) - (nije uvek moguda)

Objekatx

NM

y=d

+ +

-d-o

x

x-o

yObjekat

++

-NM

W o o W

(a) (b)

Page 65: seminarski rad neuronske mreže word

Identifikacija objekta feed-forward mrežom• stacionarno (statičko) ponašanje (a)• dinamičko ponašanje (b)

Objekatx

y=d x

+

Objekaty=d

+ +

FF-NMW

+-

d-oo

FF-NMW

- d-o

o

Page 66: seminarski rad neuronske mreže word

7.LITERATURA

h tt p : // s o l ai r . e u ne t . y u / ~ i l i c v / n eu r o . h tm l h tt p : / /ww w . c e t . r s / C E T c i t a l i s t e / C i t a l i s t e T e k s t o v i / 2 8 9 .p d f h tt p : // s r . w i k i p e d i a . o r g / s r - e l / n eu r on s k e _ m re z e