269
Fakultet za Menadžment Novi Sad VEŠTAČKA INTELIGENCIJA EKSPERTNI SISTEMI, NEURONSKE MREŽE, INTELIGENTNI SISTEMI NOVI SAD 2005

VEŠTAČKA INTELIGENCIJA

  • Upload
    -

  • View
    127

  • Download
    17

Embed Size (px)

DESCRIPTION

EKSPERTNI SISTEMI, NEURONSKE MREŽE, INTELIGENTNI SISTEMI

Citation preview

Page 1: VEŠTAČKA INTELIGENCIJA

Fakultet za MenadžmentNovi Sad

VEŠTAČKA INTELIGENCIJA

EKSPERTNI SISTEMI, NEURONSKE MREŽE, INTELIGENTNI SISTEMI

NOVI SAD 2005

Page 2: VEŠTAČKA INTELIGENCIJA

FAKULTET ZA MENADžMENTNOVI SAD

VASE STAJIĆA 6

VEŠTAČKA INTELIGENCIJA

EKSPERTNI SISTEMII

NEURONSKE MREŽE

Novi Sad, februar 2005. godine

2

Page 3: VEŠTAČKA INTELIGENCIJA

SADRŽAJ

1. KRATAK UVOD U VEŠTAČKU INTELIGENCIJU........................................4

1.1. Inteligencija......................................................................................................41.2. Istorijski koreni proučavanja inteligencije.......................................................91.3. Upoređenje čovek - računar...........................................................................101.4. Koncepti veštačke inteligencije.......................................................................121.5. Neke od definicija veštačke inteligencije........................................................141.6. Heurističko pretraživanje...............................................................................141.7. Predstavljanje znanja.....................................................................................151.8. Logičko zaključivanje.....................................................................................151.9. Jezici i alati veštačke inteligencije..................................................................161.10. Osnovni elementi i područja širenja VI........................................................17

2. EKSPERTNI SISTEMI.....................................................................................342.1 Ekspertni sistemi i veštačka inteligencija........................................................372.2 Arhitektura ekspertnog sistema.......................................................................402.3. Znanje u ekspertnom sistemu..........................................................................442.4 Mehanizam zaključivanja................................................................................492.5 Prva generacija ekspertnih sistema.................................................................522.6 Druga generacija ekspertnih sistema..............................................................652.7 Razvoj ekspertnih sistema................................................................................802.8 Definisanje ciljeva i izbor metodologije rešavanja..........................................812.9 Primena ekspertnih sistema.............................................................................862.10. Primer Ekspertnog sistema MYCIN..............................................................892.11. Zaključak......................................................................................................91

3. NEURONSKE MREŽE....................................................................................993.1. Uvodna razmatranja o neuronskim mrežama.................................................923.2 Sličnost između bioloških i veštačkih nerona.................................................1013.3 Istorijat neuronskih mreža.............................................................................1043.4 Osnovi neuronskih mreža..............................................................................1073.5 Veštačke neuronske mreže............................................................................1103.6 Pregled osnovnih koncepata teorije veštačkih neuronskih mreža..................1113.7 Arhitektura veštačkih neuronskih mreža.......................................................1213.8 Kratak pregled rada neuronskih mreža.........................................................1243.9 Osnovni principi funkcionisanja u neuronskim mrežama.............................1243.10. Tipovi veza između neurona.......................................................................1263.11. Veze između ulaza i izlaza..........................................................................1283.12. Ulazne i prenosne funkcije..........................................................................1283.13. Načini obučavanja neuronskih mreža.........................................................1323.14. Primer procesa obučavanja neuronskih mreža...........................................1423.15. Pravila učenja............................................................................................1453.16. Postupak rada sa neuronskom mrežom..................................................154

3

Page 4: VEŠTAČKA INTELIGENCIJA

3.17. Neuronske mreže i hardver potreban za funkcionisanje.............................1573.18. Osnovne razlike između NM i klasičnih računara......................................1583.19. Primena neuronskih mreža.........................................................................1633.20. Umesto zaključka........................................................................................178

4. FUZZY LOGIKA............................................................................................179 Fuzzy u običnom životu..............................................................................184 Fuzzy regulator...........................................................................................187 Fuzzy logički kontroleri..............................................................................189

5. INTELIGENTNI INFORMACIONI SISTEMI...............................................2025.1. Uvod u inteligentne informacione sisteme....................................................2025.2. Otkrivanje znanja u bazama podataka.........................................................228

6. GENETSKI ALGORITMI..............................................................................247

7. ZAKLJUČAK.................................................................................................257

8. LITERATURA ...............................................................................................260

9. PRIMER PRIMENE NEUROBUILDER .......................................................262

4

Page 5: VEŠTAČKA INTELIGENCIJA

1. KRATAK UVOD U VEŠTAČKU INTELIGENCIJU

Inteligencija

Kada se govori o prirodnoj inteligenciji, pod ovim pojmom se najčešće podrazumeva: nadarenost, oštroumlje, prirodna sposobnost pravilnog rasuđivanja, sposobnost snalaženja u novonastalim situacijama na osnovu prethodno stečenog iskustva, itd. Prema ovom objašnjenju teško je odgovoriti na pitanje: “Da li je inteligencija predstavlja jednu zasebnu sposobnost ili je ona skup različitih i nepovezanih mogućnosti”.

Pored ovog pitanja, za oponašanje ljudske inteligencije u računarima, od posebnog značaja je pronaći odgovore i na sledeća pitanja: Na koji način je znanje smešteno u ljudskom mozgu? Kako se stiče novo znanje? Šta se dešava tokom procesa učenja? Šta je kreativnost? Kakav je uticaj intuicije na donošenje odluka? Odgovori na ova pitanja, kao i na mnogo drugih nisu samo u domenu znanja istraživača, nego i domenu znanja psihologa, inženjera, neurologa, filozofa, ...

Ipak, ljudski mozak je veliki neiskorišćen materijal, i za sada ga nikakva veštačka inteligencija ne može potisnuti iz upotrebe, ali ga može zameniti na mestima gde je opasno i gde čovek nije permanentno potreban.

Slika 1. Sličnosti čoveka i računara

5

Page 6: VEŠTAČKA INTELIGENCIJA

Inteligentni sistemi

Postoji veoma veliki broj definicija inteligentnih sistema. Nijedna od njih, međutim, ne može se prihvatiti kao potpuno precizna. Razlog tome je činjenica da pojam inteligencije još uvek nije objašnjen u dovoljnoj meri, ni sa aspekta psihologije, ni iz ugla filozofije, ni u svetlu neurofizioloških procesa nervnog sistema inteligentnih bića.

Stoga se u literaturi obično pribegava definisanju nekih konkretnih aspekata inteligentnih sistema, kao što su sposobnost mišljenja, sposobnost rešavanja problema, mogućnost učenja, načini pamćenja činjenica, ili drugi aspekti. Oslonac za takav pristup nalazi se u činjenici da je pojam inteligencije u celini velikom broju čitalaca ipak intuitivno dovoljno jasan.

Neformalno, inteligentni sistemi se mogu tretirati kao entiteti koji imaju neke od sposobnosti inteligentnog mišljenja ili inteligentnog ponašanja koje srećemo kod ljudi. Takvim sistemima bavi se i deo računarskih nauka, ali i mnoge druge nauke, poput filozofije i psihologije. Ono što u proučavanju inteligentnih sistema razlikuje pristup računarskih nauka od pristupa drugih nauka je činjenica da se u računarstvu čini i pokušaj da se inteligentni sistemi naprave, a ne samo da se bolje razumeju i objasne.

Veštačka inteligencija

Oblast računarstva koja je u najvećoj meri posvećena inteligentnim sistemima je veštačka inteligencija. Ona proučava mogućnosti da se pomoću računara ostvari opažanje, rasuđivanje i ponašanje, odnosno da se automatizuju inteligentne akcije. U centru pažnje veštačke inteligencije je automatizovanje onih Ijudskih aktivnosti koje se vezuju za proces mišljenja, poput donošenja odluka, zaključivanja i svesnog delovanja. Cilj te discipline je kreiranje mašina koje su sposobne da vrše funkcije koje zahtevaju inteligenciju onda kada ih vrše Ijudi.

Pored toga, veštačka inteligencija se bavi i proučavanjem mentalnih modela i aktivnosti kroz korišćenje računara. Drugim rečima, ona pokušava da objasni i emulira inteligentno mišljenje i ponašanje preko računarskih procesa. Njeno proučavanje se odnosi na pokušaje da se računari osposobe da rade stvari u kojima su, u ovom trenutku, ljudi bolji od računara.

Veštačka inteligencija nikako nije jedina računarska disciplina u kojoj su inteligentni sistemi predmet interesovanja. Pored nje, više drugih disciplina se bavi pojedinim vrstama inteligentnih sistema. Neke od njih su proistekle iz veštačke inteligencije, iako su danas dovoljno razvijene da predstavljaju discipline za sebe. Takve su, na primer, oblasti ekspertnih sistema i neuronskih mreža. Druge su se, pak, razvile potpuno nezavisno od veštačke inteligencije, ali

6

Page 7: VEŠTAČKA INTELIGENCIJA

u poslednje vreme sve više obraćaju pažnju upravo na inteligentne sisteme. Među njima su oblasti informacionih sistema, baza podataka i računarskih mreža. Veštačka inteligencija se sve više integriše sa ostalim softverskim disciplinama.

Rešavanje problema, znanje i predstavljanje znanja

Inteligentni sistemi se prave da bi korisnicima pomogli u rešavanju nekih problema za čije se rešavanje zahteva neki oblik inteligencije. Pošto je svaki inteligentni sistem jedna vrsta sistema u smislu već pomenute opisne opšte definicije sistema, njega takođe karakteriše promena stanja pod dejstvom ulaza.

Rešavanje problema je postupak sukcesivnog prevođenja inteligentnog sistema iz jednog stanja u drugo, polazeći od nekog početnog stanja, dok sistem ne dođe u neko ciljno stanje. Smatra se da u početnom stanju postoji problem, u obliku kolekcije intormacija koje sistem može da koristi da bi prelazio iz jednog stanja u drugo, a da je u ciljnom stanju problem rešen. To se može modelirati pomoću grafa u kome čvorovi predstavljaju stanja, a linije puteve po kojima se prelazi iz jednog stanja u drugo. Rešenje problema predstavlja put kroz graf od početnog čvora do nekog ciljnog čvora.

Jedan od preduslova za uspešno rešavanje problema je da u inteligentni sistem koji se za to koristi bude ugrađeno odgovarajuće znanje. Znanje je jedan od centralnih pojmova u veštačkoj inteligenciji. Ono znači razumevanje neke tematske oblasti, odnosno domena.

Kognitivna psihologija je utvrdila da postoji više tipova znanja kod ljudi, a svako od njih se može ugraditi i u inteligentne sisteme. Znanje pre svega predstavlja skup elementarnih pojmova i činjenica iz nekog domena, kao i skup veza između njih (Sličnost u definisanju pojmova "znanje" u ovom odeljku i "sistem" u prethodnom samo je delimična. Smatra se da je sistem neki sklop koji, pored toga što se sastoji od skupa objekata i veza između njih, može da vrši i neku aktivnu funkciju ("može nešto da radi"). Znanje se sastoji od skupa činjenica i veza između njih, ali samo po sebi ne vrši nikakvu aktivnu funkciju).

Te veze omogućuju upotpunjavanje opisa elementarnih činjenica kroz njihove međusobne odnose. Kaže se da je takvo znanje deklarativno. Pored toga, važan deo znanja govori i o tome kako se rešavaju problemi u datom domenu, tj. kako se poznate činjenice koriste prilikom rešavanja problema. To je tzv. proceduralno znanje. Posebna vrsta znanja odnosi se na proces objašnjavanja elementarnih činjenica, veza između njih, kao i njihove istinitosti, odnosno važnosti. Metaznanje, ili znanje o znanju, pokazuje kako da se odabere neki deo znanja neke druge vrste da bi se problem što uspešnije rešio. Strukturno znanje opisuje strukture modela po kome se problem rešava. Pored znanja vezanog za neki konkretan domen, uvek postoji i opšte, svakodnevno, zdravorazumsko znanje, često komplementarno u odnosu na bilo koje specifično domensko znanje. Ono čini neophodnu pozadinu iz koje se izdvajaju sva druga znanja.

7

Page 8: VEŠTAČKA INTELIGENCIJA

Proces rešavanja problema se često opisuje kao rasuđivanje, odnosno rezonovanje. Ono se sastoji iz korišćenja znanja, činjenica i strategija rešavanja problema u cilju izvođenja zaključaka koji vode ka rešenju. Rasuđivanje se vrši uz pomoć tehnika zaključivanja i kontrolnih strategija. Samo zaključivanje predstavlja proces dolaženja do novih informacija na osnovu poznatih. Tehnike zaključivanja vode sistem u kombinovanju znanja iz baze znanja i činjenica iz radne memorije. Kontrolne strategije postavljaju ciljeve sistema u procesu rešavanja problema i vode sistem u njegovom rezonovanju.

Posebna pažnja se u oblasti inteligentnih sistema pridaje pojmu heuristike, odnosno heurističkog znanja, koje se najbolje razume ako se napred opisane vrste znanja shvate kao činjenične, odnosno faktografske. Grčki glagol "heuriskein" znači "otkriti". Heuristika, odnosno heurističko znanje, označava znanje o otkrivanju i pronalaženju tehnika za rešavanje problema, s tim da za takav proces rešavanja problema obično nema strogih garancija da će biti uspešan.

Treba, međutim, uočiti da ne postoji ništa proizvoljno ili nedeter-minističko u vezi sa heurističkim znanjem, odnosno sa heurističkim tehnikama. Rešavanje problema na bazi heurističkog znanja odvija se uvek prema nekom odgovarajućem algoritmu. Atribut "heuristički" znači samo da se u nekim slučajevima ne može garantovati, na primer, koliko će dugo trajati proces rešavanja problema, ili kakvog će kvaliteta biti rešenje do koga se dođe. Heuristička tehnika je nešto što se ne može potpuno precizno okarakterisati, ali se to razlikuje od nečega što je nealgoritamske prirode. Zbog empirijske prirode heurističkog znanja kod ljudi, lično iskustvo, veština i umešnost u rešavanju problema predstavljaju bitne odlike ove komponente znanja.

I u domenskom i u svakodnevnom, zdravorazumskom znanju postoji i faktografska i heuristička komponenta. Na primer, u domenu radiotehnike iskaz "antena prijemnika služi za prijem radio talasa" je činjenica, dok iskaz "bolja antena omogućuje bolji prijem" ima heuristički karakter. Zdravorazumski iskaz "složeni problem se lakše rešava ako se raščlani na manje probleme" je takode heuristički, ali je činjenica da "ako problem ne postoji, onda se on ne može ni rešavati".

Znanje može da bude zavisno od konteksta rešavanja problema, kao i kontekstno-nezavisno. Znanje je takođe i nešto što se akumulira i uvećava, obično tokom vremena i kroz aktivno korišćenje, kao i kroz proces učenja. Znanje često ima i osobinu zastarevanja. Neke činjenice, ili neki odnosi među njima, mogu tokom vremena da postanu nedovoljno precizni, nepotpuni, ili čak potpuno nevažeći.

Predstavljanje znanja je oblast veštačke inteligencije koja proučava metode i tehnike koje se koriste da bi se znanje kodiralo, odnosno predstavilo u simboličkoj formi unutar nekog inteligentnog sistema. Takvih metoda i tehnika

8

Page 9: VEŠTAČKA INTELIGENCIJA

ima dosta, ali su ovde ukratko opisane samo dve koje su od neposrednog značaja za neka kasnija poglavlja: pravila i okviri.

Pravila su iskazi oblika "ako-onda" kojima se uspostavlja odnos između nekih poznatih informacija i nekih drugih, koje logički slede iz prvih.

Na primer:

Ako Domet predajnika iznosi 100 kmi Prijemnik se nalazi na udaljenosti manjoj od 100 kmi Prijemnik ima odgovarajuću antenu

Onda Prijemnik prima signal sa predajnika.

Ako činjenice u premisi pravila važe, onda se smatra da važe i činjenice u zaključku pravila.

Pored činjenica, u zaključku može da se nalazi i neka operacija (poziv procedure, pristup bazi podataka, pristup tabeli,...). .

Pravila su izuzetno popularna tehnika za predstavljanje znanja u inteligentnim sistemima. Naročito se mnogo koriste za predstavljanje heurističkog znanja. Njihov značaj za inteligentne sisteme je toliko veliki da pojedini modeli inteligentnih sistema uopšte ne koriste nijednu drugu tehniku za predstavljanje znanja. Takvi inteligentni sistemi se često nazivaju sistemima zasnovanim na pravilima.

Okviri su strukture koje predstavljaju stereotipne podatke o nekom pojmu ili objektu. Okviri obično sadrže i atribute i metod-procedure za pojmove, odnosno objekte koje predstavljaju. Vrlo su slični klasama u objektno -orijentisanim sistemima i zapravo predstavljaju preteču klasa - objekti su se koristili za predstavljanje znanja znatno pre nego što su se pojavili objektno-orijentisani sistemi i objektno-orijentisani programski jezici. Inteligentni sistemi koji koriste samo okvire za predstavljanje znanja nazivaju se sistemima zasnovanim na okvirima.

9

Page 10: VEŠTAČKA INTELIGENCIJA

1.2. Istorijski koreni proučavanja inteligencije

Aristotel (384 – 322 p.n.e.) je u svojoj Logici ispitivao da li se za neku pretpostavku može reći da je istinita zato što se odnosi na druge stvari za koje se zna da su istinite. Ako se zna da su "svi ljudi smrtni" i da je "Sokrat čovek" može se zaključiti da je "Sokrat smrtan".

Rene Dekart (1596 - 1650) u Meditacijama razdvaja proces mišljenja od fizičkog sveta. Čak je i za svoje vlastito postojanje tražio potvrdu preko mišljenja: "Cogito ergo sum" ("Mislim dakle postojim").

Vilhelm Lajbnic (1646 - 1716) preko sistema formalne logike i konstruiše mašinu za automatsko računanje.

Leonard Ojler (1707 - 1783) uvodi teoriju grafova koja predstavlja jedno od osnovnih oruđa u veštačkoj inteligenciji.

La Mettrie (XVIII vek) u knjizi "L'Homme Machine", posmatrajući mehaničke naprave kao što su mehanička patka i svirač flaute, iznosi pretpostavku da bi se jednog dana mogao napraviti mehanički čovek koji govori.

Devetnaesti vek “donosi” prvu mehaničku programabilnu računarsku mašinu Čarsla Bebixa (1792-1871), prvog programera Adu (Bajron) Lovelsi (1815-1837), kao i Xorxa Bula i njegovu binarnu algerbu koja predstavlja osnovu današnjih digitalnih računarskih mašina.

U dvadesetom veku jedan od prvih radova vezanih za mašinsku (veštačku) inteligenciju, pre svega u odnosu na današnje digitalne računare, je rad Alana Tjuringa "Računarske mašine i inteligencija". Tjuringov test za "merenje inteligencije" mašina predstavlja jedini do sada priznati standard u ovom domenu.

Prvi računar "Electronic Numerical Integrator And Computer" (ENIAC) konstruisan je 1945. godine. Na početku su računari bili prvenstveno namenjeni za izvršavanje računskih operacija ali vrlo brzo je uočeno da oni imaju daleko veće sposobnosti. Poneseni prvim rezultatima u primeni računara, mnogi istaživači su 50-tih i 60-tih godina dvadesetog veka dali preuranjene izjave da se ubrzo može očekivati konstruisanje "mislećih mašina". Problematika veštačke inteligencije bila je dosta rasplinuta između fantastike, mašte, potencijalnih mogućnosti i praktičnih ostvarenja, a zanemarena je razlika između potencijalnih ostvarljivosti i obima praktičnih problema.1

1

Page 11: VEŠTAČKA INTELIGENCIJA

Izraz veštačka inteligencija koristi se od sredine pedesetih godina. Smatra se da je za uvođenje ovog izraza najzaslužniji John MacCarty. Izraz veštačka intelligencija prvi put čuo se u leto 1956. godine na sastanku tadašnjih pet vodećih naučnika iz oblasti računarskih nauka. Sastanak je održan na Dartmouth Collegu, u Hanoveru, Novi Hemšir. Ovom sastanku su prisustovali: Klod Šenon, Marvin Minski, Xon Mekarti, Alen Novel i Herbert Sajmon. Sam izraz je uveden da bi se što više naglasile i što lakše objasnile mogućnosti budućih računara i računarskih programa.

1.3.Upoređenje čovek - računar

Radi što boljeg opravdavanja uvedenog termina, često su razmatrane paralele između glavnih delova računarskog sistema i analognih delova kod ljudskog mozga i njihovog rada. Brzina nervnog impulsa iznosi oko jedne milisekunde (10-3 s) dok računari rade na brzinama reda nanosekundi (10-9 s). Sporost u odnosu na savremene računare čovekov mozak prevazilazi paralelnom obradom informacija. Većina računara obrađuje informacije sekvencijalno. Sledeća prednost koju čovekov mozak poseduje je gustina smeštanja i veličina neurona. Zapremina ljudskog mozga iznosi oko 1 litra i sastoji se oko 20 biliona neurona. To znači da veličina jednog neurona iznosi oko 0.510-7 kubnih centimetara (cm3).

Karakteristika Ljudski mozak Računar

brzina spor brz

dominantan način rezonovanja

induktivno deduktivno

preciznost neprecizan precizan

prepoznavanje okoline brzo sporo

pamćenje zaboravan memorije sa dugim pamćenjem

kreativnost kreativan bez kreativnosti

emocije emotivan bez emocija

saznavanje učenjem programiranjem

prenošenje znanja komplikovano jednostavno (kopiranjem)

način funkcionisanja elektrohemijski električni

U poređenju sa VLSI (very large scale integration) tehnologije za izradu integrisanih kola, veličina integrisanog tranzistora (kao osnovnog elementa) iznosi oko 10-4 cm. Znači da je gustina smeštanja osnovnih elemenata za obradu kod čoveka hiljadu puta veća nego kod aktuelne tehnologije za izradu savremenih računara.

11

Page 12: VEŠTAČKA INTELIGENCIJA

ČOVEK VEŠTAČKA INTELIGENCIJA

god zadatak godina program

1 opažanje okoline 1968. prvi program vizuelnog opažanja

2motorne i manipulativne sposobnosti

1968.

1969.

projekat "oko-ruka"

robot "Šejki"

3 jezik i govor

1966.

1968.

1968.

analizator govora do 200 reči

sintetizator govora

program za učenje govora

5početak usvajanja školskog programa

15 geometrija u ravni 1959. program za dokazivanje teorema

15 algebarski zadaci 1964.program za rešavanje algebarskih zadataka

16 geometrijski zadaci u prostoru 1963. program "Analogija"

17 programiranje računara 1963.programi zasnovani na korišćenju heuristike

18 matematička analiza 1961.program za heurističku integraciju

18 iskazni račun 1959. "Opšti rešavač zadatka" (GPS)

20 igra dama na 100 polja 1959. program za igranje dame

21 aksiomatska logika 1956.program koji vrši dedukciju u formalnom sistemu

Tabela 2. Šikolšijeva tabela uporednog razvoja prirodne i veštačke inteligencijei

12

Page 13: VEŠTAČKA INTELIGENCIJA

1.4. Koncepti veštačke inteligencije

U dosadašnjem razvoju ove oblasti, pojam veštačka inteligencija izazivao je mnoge rasprave među naučnicima, istraživačima, računarskim stručnjacima ali i među futuristima koji su se bavili njenim proučavanjem. Neki posmatrači tvdili su čak da veštačka inteligencija i ne postoji. Ako je nešto veštačko, govorili bi, tada nije inteligentno. Drugi su osporavali ovakva stanovišta i pokušavali da daju bliža određenja pojma VI.

U Artificial Intelligence and Expert Systems Sourcebook (Hunt, 1986) AI se tretira kao "oblast koja se bavi iznalaženjem računarskih programa koji treba da učine računare pametnijim". Stoga se "istraživanje u veštačkoj inteligenciji fokusira na razvoj računarskih pristupa inteligentnom ponašanju", pri čemu su naglašena dva cilja: "da se mašine učine korisnijim i da se shvati inteligencija."

Ova polemička razmišljanja dovela su do situacije da je precizno razgraničavanje ovog pojma veoma teško. Ni poznati trotomni priručnik iz AI (Barr, Feigenbaum and Cohen, 1981, 1982) ne izdvaja i ne obrađuje posebno ovaj pojam. “Moramo se zadovoljiti empirijskim definisanjem, odnosno pronalaženjem zajedničkog u sistemima (programima) koji spadaju u domen AI” (Widman i Loparo, 1989):

Simboličko umesto numeričkog izračunavanja

Glavna karakteristika po kojoj se pravi razlika između metoda AI i numeričkih metoda jeste da je bazična jedinica izračunavanja u AI simbol, a ne broj. Ipak, sama ova činjenica nije dovoljna da bi se razlikovali programi VI. Klase programa kao što su prevodioci ili sistemi za pretraživanja baza podataka, takođe obrađuju simbole, ali se tretiraju kao AI programi. S druge strane, neuronske mreže, za koje se najčešće smatra da su deo VI, zavise od striktnih numeričkih izračunavanja pri prikupljanju i korišćenju znanja.

Nealgoritamski pristup rešavanju problema

Druga karakteristika VI programa je ta da se struktura programa ne izražava eksplicitno algoritmom - sekvencom koraka koje program izvršava pri rešavanju određenog problema. Klasični programi uobičajeno slede dobro definisane algoritme koji tačno specificiraju kako se na osnovu ulaznih varijabli mogu dobiti izlazne veličine (proceduralno programiranje).

Kod programa VI, niz koraka koje program prati i izvršava zavisi od konkretnog problema koji se rešava; program određuje kako odabrati sekvencu

Page 14: VEŠTAČKA INTELIGENCIJA

koraka koji vode ka rešenju problema (deklarativno programiranje). Na najnižem nivou posmatranja, naravno, i VI programi se mogu tretirati kao proceduralni pošto se bezuslovno prevode i izvršavaju kao binarni kod.

Iz ove perspektive, može se polemisati o tome da deklarativna priroda programa iz oblasti VI leži u nivou koji korisnik odabere za posmatranje prilikom implementacije programa. Međutim, ovde ćemo smatrati da su VI programi oni koji se implementiraju korišćenjem tehnika za rešavanje problema, za koje se generalno smatra da su deklarativne.

Zaključivanje zasnovano na znanju

Sledeća karakteristika VI programa je ta da oni uključuju činjenice i relacije o delu realnog sveta ili "domena znanja" u kome funkcionišu. Za razliku od klasičnih programa za posebne namene, kao što je na primer program za knjigovodstvo, VI programi mogu da prave razliku između rezonovanja (mehanizma zaključivanja) i postojećeg znanja (baza znanja). Kako je baza znanja eksplicitna i izdvojena od mehanizma zaključivanja, program može da "razmišlja" o svom sopstvenom znanju kao o ulaznim podacima.

Primenljivost kod loše struktuiranih problema i podataka

Četvrta karakteristika VI programa odnosi se na njihovu efikasnost u radu sa loše struktuiranim problemima. Kod takvih problema, klasični programi su uglavnom neprimenljivi. Problem se tretira kao loše struktuiran ukoliko se algoritam za njegovo rešavanje ne može izraziti eksplicitno ili ukoliko su neophodni podaci nekompletni, odnosno neprecizno specificirani.

U tabeli 3 sumirane su osnovne razlike između pristupa veštačke inteligencije i konvencionalnog programiranja (Hunt, 1986).

Veštačka inteligencija Konvencionalno programiranje

Pretežno simbolička obrada Pretežno numerička obrada

Heurističko pretraživanje Algoritmi

Upravljačke strukture najčešće izdvojene od znanja

Informacije i upravljanje integrisani zajedno

Jednostavno modifikovanje, ažuriranje i proširivanje

Teško modifikovanje

Tolerišu se pogrešni odgovori Neophodni su tačni odgovori

Tabela 3. Razlike AI i konvencionalnog programiranja

14

Page 15: VEŠTAČKA INTELIGENCIJA

1.5. Neke od definicija veštačke inteligencije

Veštačka inteligencija je naučna oblast u kojoj se izučavaju izračunavanja da bi se izračunavanjem omogućila percepcija, rezonovanje i činjenje.

Veštačka inteligecija je naučna oblast u kojoj se izučavaju izračunavanja da bi se izračunavanjem omogućila percepcija, rezonovanje, i činjenje.

Veštačka inteligencija je naučna oblast u kojoj se istražuje kako da se naprave računari koji bi uspešno radili stvari koje u ovom momentu rade bolje ljudi.

Termin veštačka inteligencija (engleski artificial inteligence) potiče od John-a McCarty-ja. Mnogi autori se slažu da termin veštačka inteligencija ne opisuje najbolje ovu oblast nauke. Mnoge od oblasti informatike u osnovi imaju inteligentno ponašanje ali ne pripadaju veštačkoj inteligenciji u užem smislu.

1.6. Heurističko pretraživanje

Posmatrajući deo slike 1. označen kao heurističko pretraživanje, može se tretirati rešavanje problema u AI kao izbor između alternativnih rešenja. Prema tome, moguće je predstaviti prostor rezultujućih stanja kao hijerarhijsku strukturu koju nazivamo piramida ili drvo. Rezultujući put vodi od početnog stanja (čvor-koren), preko različitih grana drveta i završava se u nekom čvoru koji se naziva "ciljni čvor".

Kod složenih i obimnih problema, očigledno je da bi crtanje ovakvog drveta koje bi obuhvatilo sve moguće puteve i iznalaženje najboljeg rešenja na taj način, predstavljalo težak ili uzaludan posao. Stoga, drvo je najčešće implicitno, odnosno računar generiše grane i čvorove prilikom traženja rešenja.

Kod krajnje jednostavnih problema, ispravan ali vremenski dugačak pristup obuhvatao bi pronalaženje odgovarajuće šeme pretraživanja koja bi se potom sledila sve do konačnog rešenja. Konvencionalno programiranje primenjuje takav pristup gde su poznati svi koraci i elementi u problemu. Ovo

Page 16: VEŠTAČKA INTELIGENCIJA

ograničava domen konvencionalnog izračunavanja na probleme koji se mogu do detalja analizirati.

16

Page 17: VEŠTAČKA INTELIGENCIJA

U problemima kojima se bavi VI, a oni su najčešće obimni i složenije prirode, često se koristi heuristika (sistem pravila-prečica) koja omogućava da se polazni problem ograniči na "razumnu" veličinu. Prema tome, heurističke metode imaju za cilj da ograniče prostor stanja rešenja, koristeći informacije o prirodi i strukturi posmatranog problema. Heurističko pretraživanje jedan je od osnovnih doprinosa veštačke inteligencije rešavanju problema. Po svojoj prirodi, heuristika može da dovede do grešaka. Ona ne garantuje uvek da će odgovor biti ispravan, ali se njenom primenom povećava verovatnoća iznalaženja upotrebljivog odgovora.

1.7. Predstavljanje znanja

Po svojoj prirodi, znanje je složenije i vrednije od informacije. Termin znanje najčešće se odnosi na skup informacija o specifičnom području posmatranja, koje su struktuirane na način da kao takve mogu da budu korisne. Za razliku od podataka, koji su pasivni, znanje je aktivno. Kada se za nekoga kaže da poseduje mnogo znanja o nečemu, to ne znači samo da on "čuva" mnoštvo činjenica, već i da može da koristi te informacije za analizu problema i donošenje odluka.

Svrha predstavljanja znanja je da se ono organizuje u takvu formu da AI program može direktno da ga koristi u procesu odlučivanja, planiranju, prepoznavanju objekata i situacija, izvođenju zaključaka i podržavanju ostalih kognitivnih funkcija. Stoga je predstavljanje znanja ključno pitanje kod ekspertnih sistema, prepoznavanja likova i prepoznavanja prirodnih jezika.

Šeme za predstavljanje znanja delimo na deklarativne i proceduralne. Deklarativne se odnose na predstavljanje činjenica i tvrdnji, dok se proceduralne odnose na akcije koje treba preduzeti. Deklarativne šeme obuhvataju relacione (semantičke mreže) šeme i logičke šeme. O pojedinim najznačajnijim načinima predstavljanja znanja biće reči u delu teksta o ekspertnim sistemima.

1.8. Logičko zaključivanje

Logičko zaključivanje - donošenje zaključaka na osnovu logike, uobičajeno se sprovodi "dokazivanjem teorema". Najpopularniji metod za automatsko dokazivanje teorema je procedura rezolucije (razlaganja). To je opšti automatski metod za određivanje da li teorema (hipoteza-zaključak) proizilazi iz

Page 18: VEŠTAČKA INTELIGENCIJA

postavljenog skupa premisa (aksioma). Prvo se, korišćenjem standardnih identiteta originalne premise, u formu rečenice stavljaju zaključci koji se proveravaju (potvrđuju). Potom se negira zaključak koji se proverava. Sledi automatsko izvođenje novih rečenica korišćenjem rezolucije i drugih procedura.

Ukoliko se dođe do kontradikcije, teorema je dokazana. Metoda rezolucije nije pogodna kod složenih problema pošto prostor pretraživanja generisan na ovaj način raste eksponencijalno sa brojem formula koje se koriste za opis problema.

Postoje i drugi pristupi dokazivanju teorema i rešavanju problema (Hunt, 1986) koji prevazilaze okvire ovoga izlaganja te neće biti razmatrani.

1.9. Jezici i alati veštačke inteligencije

Veštačka inteligencija je nastala kao eksperimentalna nauka sa ciljem da razvije računarske programe koji bi oponašali inteligentno (ljudsko) ponašanje. Ovo se pokazalo kao veoma težak posao koji je zahtevao najbolje programske alate.

Jedan od problema koji je uticao na karakteristike jezika VI bio je neophodnost dinamičke alokacije memorije, za razliku od statičke alokacije koju su primenjivali dotadašnji jezici za konvencionalno programiranje. Drugi, možda značajniji aspekt koji je uticao na profilisanje posebnih AI alata i jezika, ogledao se u nepredvidivosti struktura i formi koje bi dobijali podaci tokom izvršenja nekog programa.

Na karakteristike VI jezika uticala je i činjenica da su istraživači u oblasti VI utvrdili da rekurzivno izvršavanje programa značajno pojednostavljuje pisanje samog programa. Stoga su jezici i alati VI morali da pruže podršku rekurzivnoj obradi. Na kraju, programi VI prevashodno se bave manipulacijom simbolima, a manje samim numeričkim izračunavanjem. Ova je činjenica takođe bitno uticala na specifičnosti jezika koji su razvijeni za VI.

Najpoznatiji programski jezici, koji su prilagođeni aplikacijama koje se rešavaju tehnikama veštačke inteligencije su LISP, PROLOG i SMALTALK.

18

Page 19: VEŠTAČKA INTELIGENCIJA

1.10. Osnovni elementi i područja veštačke inteligencije

Sam naziv vještačka inteligencija (engleski artifical intelligence) potiče od John-a McCarty-a. Termin vještačka inteligencija označava pojavu inteligencije koja je ostvarena na vještački način to jest putem programiranja računara. Međutim mnogi autori i stručnjaci iz ove oblasti se ne slažu da termin vještačka inteligencija u potpunosti i najbolje opisuje ovu oblast nauke jer mnoge oblasti informatike u osnovi imaju inteligentno ponašanje ali ne spadaju u oblast vještačke inteligencije tj. ne pripadaju toj oblasti u užem smislu.

Dva glavna pravca u razvoju vještačke inteligencije su :

• proučavanje prirodne inteligencije (spoznavanje funkcija mozga, modeliranje rada mozga, simuliranje čovjekovog ponašanja, reagovanja i rezonovanja)

• postizanje inteligentnog ponašanja primjenom drugačijih pristupa, kakvi se ne mogu sresti u prirodnim sredinama.

Vještačku inteligenciju prema pristupu rješavanja problema možemo klasifikovati na tri glavna pristupa a to su :

• neuronske mreže• modeliranje evolucije i • heurističko programiranje

Klasifikaciju vještačke inteligencije prema vrsti rješavanja problema vršimo na sljedeći način :

• sistemi za rješavanje čovjekovih uobičajenih zadataka• sistemi za rješavanje formalnih zadataka• sistemi za rješavanje ekspertnih zadatak

Osnovni elementi VI se prema ranijim istraživanjima iz perioda 90-tih godina mogu grafički predstaviti kao integrisani krug na slici 2 (Hunt, 1986). U sredini se nalaze osnovni elementi iz kojih su komponovane aplikacije prikazane na spoljnom prstenu. Sistemi veštačke inteligencije mogu se klasifikovati u tri osnovna područja (Rauch-Hindin, 1986):

• ekspertni sistemi, • prirodni jezici, • robotika (prepoznavanje likova, govora i dodira, ...).

19

Page 20: VEŠTAČKA INTELIGENCIJA

Slika 2. Osnovni elementi veštačke inteligencije

Slika 3. Osnovna područja primene veštačke inteligencije

Kasnije su ovim osnovnim elementima i područjima primene pridodati novi elementi veštačke inteligencije kao što su neuronske mreže, fazi ekspertni sistemi i fazi neuronske mreže, inteligentni informacioni sistemi i genetski algorimi, kao i brojna softverska rešenja za prepoznavanje, govora, karaktera, slike, dodira, govora, okruženja itd.

Ekspertni sistemi su programi koji koriste proces zaključivanja (rezonovanja) sličan ljudskom kod rešavanja problema iz raznovrsnih domena. Ovo zaključivanje zasniva se na ekpertskom ljudskom znanju, koje je kodirano u programu u vidu posebne strukture koja se naziva baza znanja. Poseban mehanizam koristi raspoloživo znanje u procesu zaključivanja, sa ciljem da dođe

20

Page 21: VEŠTAČKA INTELIGENCIJA

do rešenja problema. Na taj način rešavaju se problemi koji su izvan domašaja konvencionalnih računarskih programa.

Drugo područje, nazvano sistemi prirodnih jezika, obuhvata programe koji prepoznaju prirodni jezik korisnika, na primer engleski. Širenje područja primene računara praćeno je činjenicom da se sve veći broj ljudi koristi računarom u svakodnevnom poslu. To je nametnulo pitanje interakcije računara i ljudi koji nisu računarski obrazovani, odnosno ljudi kojima nepoznavanje programskih jezika, operativnih sistema i principa funkcionisanja računara predstavlja ograničenje u komunikaciji sa računarom.

Kako je broj tih ljudi svakim danom sve veći, javila se potreba za razvojem sistema koji bi dozvoljavali korišćenje prirodnih jezika u komunikaciji korisnika sa računarom. U tom smislu, jedan broj istraživača u oblasti VI bavi se poslovima prepoznavanja i tumačenja ljudskog govora od strane računara. Programi koji su s tim ciljem razvijeni, omogućavaju lakšu komunikaciju sa ljudima, pošto eliminišu potrebu da se uče stilizovani, formalni računarski jezici.

Treći tip programa VI obuhvata jednostavne sisteme za percepciju vida, govora i dodira. Računarski vizuelni sistemi, na primer, mogu da interpretiraju vizuelne scene ili da donose zaključke o kvalitetu ili fizičkoj orjentaciji određenih objekata koji su u fokusu televizijske kamere. Njihove mogućnosti su ograničene, a uslovi pod kojima se prepoznavanje vrši, strogo su određeni. Ovo se područje VI u širem smislu tretira kao robotika2.

2

21

Page 22: VEŠTAČKA INTELIGENCIJA

Istoriski koreni veštačke inteligencije

Od davnina ljude privlači inteligencija - kako sam pojam inteligencije tako i mogućnost konstruisanja “inteligentnih mašina” koje bi mogle samostalno da rade. Takve primere možemo pratiti kroz istoriju.

U staroj Grčkoj ljudi su se bavili pitanjima inteligencije, znanja i pravilnog zaključivanja, a među njima se naročito isticao Aristotel. Tako je poznata Aristotelova (384 - 322), "Logika". U ovoj knjizi on je ispitivao da li se za neku pretpostavku može reći da je istinita zato što se odnosi na druge stvari za koje se zna da su istinite. Ako se zna da su "svi ljudi smrtni" i da je "Sokrat čovek" može zaključiti da je "Sokrat smrtan".

U XIII veku je Ramon Lull (1235-1316) opisao sistem Ars Magna kojim je pokušao da pomoću mehaničkog kombinovanja, simboličke notacije i kombinatornih dijagrama ostvari "inteligentan" sistem.

Rene Dekart (1596 - 1650), "Meditacije". U ovoj knjizi razdvaja se proces mišljenja od fizičkog sveta. Čak je i za njegovo vlastito postojanje tražio potvrdu preko mišljenja: "Cogito ergo sum" ("Mislim dakle postojim").

Tokom XVII veka, G. V. Leibnitz (1646-1716) i Blaze Pascal (1623-1662) pokušavali su da konstruišu mehaničku računsku mašinu za sabiranje, uvode sistem formalne logike i konstruišu mašinu za automatsko računanje. Leonard Ojler (1707 - 1783) uvodi teoriju grafova koja predstavlja jedno od osnovnih oruđa u veštačkoj inteligenciji.

La Mettrie (XVIII vek) u knjizi "L'Homme Machine", posmatrajući mehaničke naprave kao što su mehanička patka i svirač flaute, iznosi pretpostavku da bi se jednog dana mogao napraviti mehanički čovek koji govori.

U devetnaestom veku susrećemo prvu mehaničku programabilnu računarsku mašinu Čarsla Bebidža (1792-1871). Cifarska računska mašina koju je konstruisao Charles Babbage, bila je u stanju da po određenom algoritmu izvršava operacije sa dekadnim brojevima.

Početkom devetnaestog veka svet dobija prvog programera Adu (Bajron) Lovelsi (1815-1837).

Sredinom 19-tog veka Džordž Bul razrađuje algebru logike i njegovu binarnu algerbu koja predstavlja osnovu današnjih digitalnih računarskih mašina. Naime George Bool razrađuje algebru logike u kojoj se algebarska simbolika koristi za operisanje pojmovima pri logičkom izvođenju.

22

Page 23: VEŠTAČKA INTELIGENCIJA

Englez Alan Turing i Amerikanac Post, 1936-te godine, nezavisno jedan od drugoga objavljuju radove iz oblasti matematičke logike i iznose mogućnosti konstruisanja univerzalnog transformatora informacija.

U dvadesetom vijeku jedan od prvih radova vezanih za mašinsku (vještačku) inteligenciju, prije svega u odnosu na današnje digitalne računare, je rad Alana Tjuringa pod nazivom “računarske mašine i inteligencija”. Tjuringov test : mašina za mjerenje inteligencije predstavlja jedini do sada priznati standard u ovom domenu.

Ostvarivanjem praktičnih rezultata koji su našli primjenu u privredi, vještačka inteligencija postala je interesantna za veliki broj naučnika iz različitih oblasti. Danas postoje realizovani sistemi koji su u staju da autonomno obavljaju kompleksne probleme, kakve su jedino ljudi bili u stanju da obavljaju, a nije rijedak i slučaj da takvi sistemi te zadatke obavljaju i daleko bolje i uspješnije od samih ljudi.

Međutim, tek pojavom prvog računara "Electronic Numerical Integrator And Computer" (ENIAC) koga su 1945-te godine izmislili Mauchly i J. Presper Eckert, može se govoriti o inteligentnim mašinama. U početku su računari bili prvenstveno namenjeni za izvršavanje računskih operacija ali vrlo brzo je uočeno da oni imaju daleko veće sposobnosti.

Već prvi rezultati u primeni računara upućivali su na mogućnost računara da preuzme vršenje određenih intelektualnih sposobnosti. Povoljni rezultati istraživanja naveli su neke od naučnika da daju preuranjene izjave da se ubrzo može konstruisati "misleća mašina" ili "elektronski mozak". Zbog ovih preuranjenih izjava su se vodile brojne debate. Krajem 50-tih, sve do sredine 60-tih godina, problematika veštačke inteligencije bila je dosta rasplinuta između fantastike, mašte, potencijalnih mogućnosti i praktičnih ostvarenja.

Zanemarivanje razlike između potencijalne ostvarljivosti i obima praktičnih problema, koji se nalaze na putu do ostvarivanja ideje, je jedan od čestih uzroka nerazumevanja mogućnosti veštačke inteligencije. Ostvarivanjem praktičnih rezultata koji su našli primenu u privredi, veštačka inteligencija postaje interesantna za veliki broj naučnika različitih oblasti. Danas postoje realizovani sistemi koji su u stanju da autonomno obavljaju kompleksne probleme, kakve su jedino ljudi bili u stanju da obavljaju. Nije redak slučaj da takvi sistemi obavljaju te zadatke i daleko uspešnije od ljudi.

U sprezi sa računarima, mašine postaju sposobne da rade samostalno, da upravljaju same sobom i da proizvode druge mašine, oslobađajući čoveka fizičkog i monotonog rada, prepuštajući mu rad na složenijim i kreativnijim poslovima.

23

Page 24: VEŠTAČKA INTELIGENCIJA

Termin veštačka inteligencija (engleski artificial inteligence) potiče od John-a McCarty-ja. Mnogi autori se ne slažu da termin veštačka inteligencija opisuje najbolje ovu oblast nauke. Mnoge od oblasti informatike u osnovi imaju inteligentno ponašanje ali ne pripadaju veštačkoj inteligenciji u užem smislu.

Dva glavna pravca razvoja veštačke inteligencije su:

o Proučavanje prirodne inteligencije (spoznavanje funkcija mozga, modeliranje rada mozga, simuliranje čovekovog ponašanja, reagovanja i rezonovanja).

o Postizanje inteligentnog ponašanja primenom drugačijih pristupa, kakvi se ne mogu sresti u prirodnim sistemima.

Veštačku inteligenciju prema pristupu rešavanja problema možemo klasifikovati na tri glavna pristupa i to su:

o neuronske mreže, o modeliranje evolucije i o heurističko programiranje.

Klasifikacija veštačke inteligencije prema vrsti rešavanja problema: sistemi za rešavanje čovekovih uobičajenih zadataka:

- prepoznavanje slika i govora, - razumevanje, generisanje i prevođenje prirodnih jezika, - snalaženje u svakodnevnim situacijama, - primena u robotici.

Zatim tu su sistemi za rešavanje formalnih zadataka:

- logičke igre, - matematička logika, geometrija, integralni račun, - osobine programa.

kao i sistemi za rešavanje ekspertnih zadataka:

- konstruisanje, nalaženje grešaka, planiranje proizvodnje, - naučne analize i dijagnostika (biologija, medicina, hemija, pravo),

24

Page 25: VEŠTAČKA INTELIGENCIJA

- finansijska analiza, - programi za razvoj ovakvih sistema.

Tehnike koje pripadaju veštačkoj inteligenciji morale bi da koriste znanja koje su organizovana tako da omogućavaju:

o generalizaciju, o predstavljanje i preslikavanje u formi razumljivoj ljudima, o lako modifikovanje, o da se koriste informacije koje nisu kompletne, o da pomažu u smanjenju broja mogućnosti koje bi inače morale biti

razmatrane (heuristike).

Prepoznavanje oblika je ključno za snalaženje u svakodnevnim situacijama, kako za žive tako i veštačke sisteme. Pri rešavanju problema vezanih za prepoznavanje oblika nastaju velike teškoće jer analogne signale koje primaju senzori/receptori sadrže veliki broj informacija, od kojih dobar deo sadrži šum, pa ti signali često nisu dovoljno jasni.

Ovo otežava primenu računara za snalaženje u svakodnevnim situacijama, pa nije ni čudo što su i životinje, za koje se smatra da su manje inteligentne od ljudi, sposobne za daleko kvalitetniju vizuelnu i zvučnu percepciju i obradu takvih signala nego današnji računari.

Neke od najvažnijih odlika veštačke inteligencije su sledeće:

• naučna disciplina koja izučava prirodu ljudskog znanja, razumevanja i veština

• praktična, inženjerska disciplina koja se bavi projektovanjem i razvojem programa koji rade poslove za koje je potrebno složeno ljudsko znanje

• procesiranje znanja, a ne podataka• razvoj inteligentnih sistema povratno utiče na saznanje o ljudskom

inteligentnom ponašanju

U nastavku je dat kratak pregled razvoja veštačke inteligencije:

1943 McCulloch & Pitts: Model mozga zasnovan na Bulovim funkcijama

1950 Turingov rad “Computing Machinery and Intelligence”

1950s Rani VI programi, npr Samuelov checkers program

Newell & Simon: Logic Theorist, Gelernter’s Geometry Engine

25

Page 26: VEŠTAČKA INTELIGENCIJA

1956 Dartmouth konferencija: usvojen naziv oblasti “Artificial Intelligence” (predloženi alternativni nazivi: Kompleksno procesiranje informacija, Mašinska inteligencija, Heurističko programiranje, Kognologija)

1966–74 Istraživanje Neuralnih mreža gotovo prestaje

1980–88 Procvat industrije ekspertnih sistema

1988–93 Opadanje indusrije ekspertnih sistema: “VI zima”

1985–95 Povratak na tehnologiju neuralnih mreža

1988– Povratak na verovatnosne metode i metode proistekle iz teorije odlučivanja

Nagli razvoj tehnološke osnove klasične VI,

“Nova VI”: Veštački život (Artificial Life), Genetski algoritmi, Meki račun (Soft Computing)

Kao osnovne podoblasti primene veštačke inteligencije možemo navesti sledeće :

o Ekspertni sistemi (Expert systems)

o Procesiranje prirodnih jezika (Natural language processing)

o Računarska vizija (Computer vision)

o Robotika (Robotics)

o Rešavanje problema i planiranje (Problem solving and planning)

o Mašinsko Učenje (Machine learning)

o Automatsko dokazivanje teorema

o Automatsko prepoznavanje govora

o Neuronske mreže

o Evolucioni algoritmi

o Fuzzy sistemi

o Traganje kroz podatke (Data mining)

o Inteligentne pretrage

26

Page 27: VEŠTAČKA INTELIGENCIJA

Ekspertni sistemi

Ekspertni sistemi su računarski programi pomoću kojih se emulira rešavanje problema na način na koji bi to činili eksperti.

Odlike ekspertnih sistema su: sadrže kodirano znanje eksperata iz nekog domena mogu se izvršavati tamo gde su potrebni modularnost i laka izmena ugrađenog znanja mogućnost objašnjavanja rezonovanja objedinjuju teoriju i praksu VI

Karakteristike ekspertskog znanja su: zavisnost od prakse više je tipa kako, nego tipa šta više se zasniva na modelu realnog sveta nego na samom realnom

svetu nepreciznost promenljivost tokom vremena.

Razvoj i primena ekspertskih sistema danas su u svim segmentima društva i to u poljoprivredi, medicini, hemiji, telekomunikacijama inženjerstvu nauci, vojnim oblastima, rudarstvu itd. Sredinom 1980-ih u medicini je bila primenjivost ES (ekseprtski sistemi) oko 30%, dok je 1990-ih u finansijama i industriji ES zastupljen oko 60%.Razlozi za razvoj ES kao zamene za eksperte leži u :

potrebi za ekspertizom van radnog vremena i na drugom mestu potreba za ekspertizom u nepristupačnom okruženju automatizacija rutinskih poslova koji zahtevaju eksperta ekspert odlazi u penziju ili napušta kompaniju ekspert je skup.

Broj razvijenih ekspertskih sistema u svetu u primeni se povećava iz godine u godinu. Imamo podatak da je broj primenjenih ES u svetu u 1985. godini iznosio svega 50, ali je zato u 1992. godini taj broj bio 12500.

Procesiranje prirodnih jezika (Natural language processing)

Chomsky smatra da su osnove jezika ugrađene u ljudski mozak. Komunikacija predstavlja svesnu razmenu informacija korišćenjem sistema konvenacionalnih znakova.

Komponente komuniciranja su:1. Govornik:

a. namera

27

Page 28: VEŠTAČKA INTELIGENCIJA

b. generisanjec. sinteza

2. Slušalaca. opažanjeb. analizac. pojašnjavanjed. uključivanje

Faze u obradi prirodnog jezika su: prepoznavanje govora razumevanje prirodnog jezika određivanje značaja zadatog niza reči generisanje prirodnog jezika

Primena procesiranja prirodnih jezika je našla kog mašinskog prevođenja zatim kod obrada dijaloga, interfejsa na prirodnom jeziku i kod upravljanja robotima.

Prepoznavanje govora (speech recognition)

Prepoznavanje govora predstavlja preslikavanje digitalno kodiranog akustičnog signala u niz reči. Jezici se baziraju na relativno malom broju fonema (oko 50), koji odgovaraju pojedinačnim slovima. Za svaki fonem poznate su akustične karakteristike (frekvencija i amplituda).Faze prepoznavanja govora su sledeće:

izdvajanje fonema formiranje reči (fonemi se kombinuju u reči)

Problemi koji mogu nastati usled homofona ( reči koje zvuče isto: "two" i "to") i prilikom segmentacije (određivanje početka i kraja reči).

Računarska vizija (Computer vision)

Moguće primene računarske vizije su u: manipulaciji (robotika) navigaciji prepoznavanju objekata

Kako se formira slika kod primene računarskih vizija, jednostavno svetlost koja se odbija od objekata, se skuplja i formira se 2-D slika, koja se sastoji od piksela. Svaki piksel opisuje osetljivost određenog dela objekta na slici.

Sistem obavlja sledeće funkcije: izdvajanje linija

28

Page 29: VEŠTAČKA INTELIGENCIJA

grupisanje regiona identifikovanje tela utvrđivanje međusobnih položaja tela traženje lokacije tela

Robotika (Robotics)

Šta je robot ? Robot je programabilni, višenamenski manipulator, dizajniran da pomera materijal, delove, alate ili specifične uređaje pomoću promenljivih programiranih pokreta, za izvršenje različitih zadataka.

Disciplina koja leži na granici između mašinstva (proučava principe izgradnje robota sastavljenih od mehaničkih manipulatora i senzora) i VI (proučava metode upravljanja i programiranja ovih uređaja).

Roboti bez senzora se programiraju: Navođenjem koordinata tačaka kroz koje robot treba da prođe (ili

navođenjem uglova za sve zglobove ruke) pomoću specijalnih jezika za robote vođenjem ruke kroz operaciju koja treba da se obavi (učenje

memorisanjem).Autonomni pokretni roboti (poseduju senzore) mogu da vrše:

opažanje modeliranje planiranje izvršavanje učenje obrada prirodnog jezika prepoznavanje oblika

Danas se roboti mogu primeniti skoro u svim oblastima proizvodnje (zadaci koji se ponavljaju), na mestima gde je rad pod opasnim uslovima (nuklearne elektrane, bojenje, ispod vode) i u virtuelnoj realnosti.

29

Page 30: VEŠTAČKA INTELIGENCIJA

Prvi radovi iz oblasti veštačke inteligencije odnosili su se na pisanje programa za rešavanje partikularnih zadataka koji obuhvataju neke intelektualne aktivnosti. Konkretno radilo se o programima koji omogućuju dokazivanje teorema i igranje nekih igara pomoću računara. Samuel [1963] napisao je program za igranje šaha koji je omogućavao da se igra šah protiv računara ali je istovremeno, memorisao iskustva iz odigranih partija da bi poboljšao svoje performanse. Program koji je napisao Newell [1963] ( The Logic Theorist ) predstavlja rani pokušaj dokazivanja matematičkih teorema.

Zajedenička osobina procesa dokazivanja teorema i igranja igara jeste da se oni moraju svesti na formiranje velikog broja mogućih rešenja i zatim izbora mogućeg ili najboljeg. Pretpostavka je bila da se ovaj proces može realizovati koristeći brzinu računara. Kako se kasnije ispostavilo, pretpostavka je bila pogrešna jer ne postoje računarski sistemi, čije peformanse su u stanju da podrže ″kombinatornu eksploziju″, koja se pojavljuje kao posledica usvojenog pristupa u rešavanju problema.

Sledeći novi pokušaj u oblasti V.I. odnosio se na rešavanje svakodnevnih zadataka opšteg karaktera kao što je, na primer, zadatak donošenja različitih odluka pri odlasku na posao. Da bi ispitivali ovaj tip rezonovanja Newell, Shaw i Simon izgradili su program GPS ( General Problem Saver - 1963 ) i primenili ga na rešavanje različitih tipova zadataka uključujući simboličku manipulaciju logičkim izrazima. Ni u ovom slučaju nije se radilo o programu koji operiše velikim količinama znanja vezanim za određenu oblast, već samo o jednostavnim primenama.

Sa razvojem V.I. u pravcu formiranja tehnika, koje su omogućavale rukovanje većim količinama znanja o svetu koji nas okružuje, učinjen je određeni napredak koji je omogućio rešavanje problema iz oblasti percepcije vizije i govora, razumevanja prirodnog jezika i rešavanje problema u različitim specijalizovanim oblastima kao što su medicinska dijagnostika, hemijska analitika određene inženjerske primene.

Percipiranje sveta koji nas okružuje je ključno za preživljavanje. Životinje koje poseduju znatno niže intelektualne sposobnosti od čoveka, imaju savršenije vizuelne sposobnosti od postojećih tehničkih uređaja ove vrste. Rana istraživanja u oblasti jednostavne statičke vizuelne percepcije išla su u dva pravca:

- statističko prepoznavanje oblika- razvoj sistema za razumevanje oblika

Ova dva pristupa razlikuju se, prvenstveno, u fleksibilnosti. Kako je fleksibilnost jedna od osnovnih osobina vezanih za inteligenciju samo drugi pristup mogao bi se smatrati pristupom koji pripada V.I.

Rešavanje zadataka percepcije je složeno i teško jer oni obuhvataju analogne signale koji su obično deformisani pojavom šuma i potrebno je

29

Page 31: VEŠTAČKA INTELIGENCIJA

prepoznati mnogo stvari u istom trenutku. Pri tome neke od prepoznatih stvari mogu da ometaju analizu drugih.

Drugi način razumevanja, koji je karakterističan za ljudsku vrstu ( ako ne kao način koji koriste samo ljudi, onda bar kao najrazvijenija forma ovog načina komuniciranja i spoznaje ) jeste prirodni jezik. Problem razumevanja govornog jezika predstavlja perceptualni problem ( slušanje ) i praćen je svim teškoćama koje su vezane za percepciju. Pretpostavimo da ovu stranu nećemo ni razmatrati, već da ćemo se zadržati na prirodnom jeziku. Ovaj problem se često sreće pod nazivom razumevanje prirodnog jezika i još uvek je izuzetno težak za rešavanje.

Da bi se razumele rečenice koje se odnose na određenu oblast, nije dovoljno samo poznavanje jezika ( reči i gramatike ), već je neophodno i dobro poznavanje oblasti o kojoj se govori ( piše ) da bi se razumele određene neizrečene stvari.

Zadaci o kojima smo govorili ( percepcija i razumevanje jezika ) su takvi da ih svi ljudi rutinski obavljaju u svakodnevnim aktivnostima. Sa druge strane, određene intelektualne aktivnosti kao što su, recimo, rešavanje matematičkih zadataka ili postavljanje medicinske dijagnoze obavlja relativno mali broj ljudi osposobljenih za takav posao. Zbog toga se oni često smatraju složenijim od prethodno pomenutih. Međutim, pokazalo se da se takvi zadaci lakše rešavaju primenom metoda V.I. nego opšti zadaci percepcije i razumevanja. Uobičajeno je da se V.I. razmatra u kontekstu osnovnih oblasti primene. Razlog za ovo mogao bi se objasniti baš činjenicom da su ljudska saznanja vezana za partikularne oblasti dublja od saznanja o nekim opštim pojmovima kao što je inteligencija ili percepcija i razumevanje bilo kog prirodnog jezika kao prateći elementi ″intelekta″.

Najčešće razmatrane oblasti primene V.I. su:- Rešavanje kombinatornih zadataka ( igre )- Automatsko dokazivanje teorema- Rešavanje problema opšteg karaktera- Percepcija

- Vizuelna- Prepoznavanje govora ( razumevanje )

- Razumevanje prirodnog jezika- Ekspertni sistemi- Inteligentne baze podataka- Upravljanje robotima

Sigurno je da razmatranje V.I. sa aspekta mogućnosti primene može da pomogne boljem razumevanju svakog pojma V.I., ali ćemo se mi u ovom materijalu potruditi da izložimo na sistematičan način osnovne ideje prisutne u V.I., koje leže u osnovi svih pomenutih oblasti primene. U okviru ovog kursa ćemo pokušati da odgovorimo na sledeća četiri osnovna pitanja vezana za VI:

30

Page 32: VEŠTAČKA INTELIGENCIJA

1. Koje su osnovne pretpostavke o inteligenciji ?2. Koje su tehnike korisne za rešavanje problema iz oblasti V.I. ?3. Na kom nivou detalja se može modelirati ljudska inteligencija4. Kako se može znati da li smo uspeli da formiramo inteligentan

program

Osnovne pretpostavke

Osnovu istraživanja u oblasti veštačke inteligencije predstavlja pojam [Newell, Simon - 1976] HIPOTEZE FIZIČKOG SISTEMA SIMBOLA. Oni su pojam FIZIČKOG SISTEMA SIMBOLA definisali na sledeći način: ″Fizički sistem simbola sastoji se od skupa entiteta nazvanih simboli, koji su fizički oblici koji se mogu pojaviti kao komponente drugog tipa entiteta zvanih izvori ( ili simbolska struktura ).

Dakle simbolska struktura predstavlja kompoziciju delova ( instances, tokens ) simbola uređenih na neki fizički način ( recimo da je jedan delić pored drugog). U bilo kom vremenskom trenutku sistem sadrži skup ovakvih simbolskih struktura.

Pored ovih struktura, sistem sadrži i kolekciju procesa koji se izvršavaju nad izrazima sa ciljem proizvođenja novih izraza. To su sledeći procesi:

1. Proces kreiranja2. Proces modifikacije3. Proces reprodukcije4. Proces destrukcije

Fizički simbolski sistem je mašina koja u vremenu proizvodi obuhvatan skup simbolskih struktura. Takav sistem postoji u svetu objekata, koji je širi od samih simboličkih izraza.″

Osnovna hipoteza, koja fizički simbolski sistem povezuje sa pojmom iteligencije je HIPOTEZA O FIZIČKOM SIMBOLSKOM SISTEMU :″Fizički simbolski sistem poseduje potrebno i dovoljno značenje ( smisao ) za opštu inteligentnu akciju″.

Na žalost izložena hipoteza je samo hipoteza. Do sada još nije pronađen način da se ona dokaže ili opovrgne na logičkim osnovama. Prema tome, ona mora biti validirana empirijskim sredstvima. Na taj način mogli bi se pružiti dokazi u udređenim situacijama da je ona nevažeća ili pak važeća. Međutim jedini način da se odredi njena istinitost, za sada, jeste eksperiment.

Računari predstavljaju perfektne medijume za ovaj ovaj tip eksperimenta. Razlog za ovo leži u činjenici da se mogu programirati za simulaciju bilo kog fizičkog simbolskog sistema. Ova sposobnost računskih mašina uočena je vrlo

31

Page 33: VEŠTAČKA INTELIGENCIJA

rano. Lody Levelace je prvi 1842. izložio sledeće razmatranje u vezi sa analitičkom mašinom Čarlsa Bebidža:

″Operativni mehanizam može se aktivirati nezavisno od objekata nad kojim funkcioniše ( iako se, naravno, tada ne mogu očekivati rezultati ). Opet, on može da funkcioniše nad objektima koji nisu brojevi ako se radi o objektima čije se međusobne osnovne relacije mogu izraziti apstraktnim značenjem operacija i koji su podložni adaptaciji na operativnu notaciju i mehanizam mašine. Pretpostavimo, na primer, da su osnovne relacije zvukova u harmoniji i muzičkom komponovanju podložne ovakvom načinu izražavanja i adaptaciji. U tom slučaju mašina bi bila u stanju da komponuje muzička dela proizvoljne složenosti.″

Kako je razvoj tehnologije omogućio izgradnju računskih mašina sve većih performansi, postalo je moguće sprovoditi empirijska istraživanja fizičkih simbolskih sistema. Svako takvo ispitivanje vrši se nad određenim zadatkom koji se proglašava potrebnim stepenom inteligencije ( u smislu da je određena inteligencija potrebna za njegovo izvršavanje). Dokazi o važenju hipoteze dolaze iz različitih oblasti. Najprirodnije ih je očekivati u domenu rešavanja kombinatornih zadataka (igre), ali se oni pojavljuju i u domenu, recimo, vizuelne percepcije gde se može više sumnjati na uticaj simboličkih procesa.

Možda će se pokazati ( što je za očekivati ) da se neki aspekti ljudske inteligencije moraju modelirati primenom fizičkih simbolskih sistema, a neki ne. Ipak, značaj hipoteze o fizičkim simbolskim sistemima je dvoznačan ( iako se mora konstatovati da su ova dva aspekta međusobno povezana ). Prvo, ona predstavlja značajnu teoriju o prirodi ljudske inteligencije i zbog toga je izuzetno interesantna za psihologiju. Drugo, ona predstavlja osnovu za formulisanje računarskih programa sposobnih da obavljaju inteligentne zadatke, koje su do sada obavljali isključivo ljudi. U našim razmatranjima ovaj drugi aspekt je od osnovnog interesa.

V.I. tehnike

Problemi iz oblasti veštačke inteligencije, čini se, imaju samo jednu zajedničku osobinu: teški su za rešavanje.

Postavlja se pitanje da li postoje neke tehnike, koje su pogodne za rešavanje ovih problema. Odgovor je, da kažemo potvrdan - da postoje i zasnovane su uglavnom, na prethodno pomenutoj hipotezi o fizičkim simbolskim sistemima. Naime, potrebno je obezbediti odgovore, makar delimično, na sledeća pitanja:

- Šta je još karakteristično za te tehnike, osim da manipulišu simbolima?- Da li je moguće primeniti te tehnike na rešavanje zadataka, koji se

tradicionalno ne smatraju zadacima iz domena V.I ?

32

Page 34: VEŠTAČKA INTELIGENCIJA

Da bi se uopšte moglo preći na razmatranje pojedinih tehnika V.I., potrebno je pre svega definisati osobine koje one poseduju.

Prvi rezultat u oblasti V.I. koji se pojavio u prvim godinama života discipline sadržan je u tvrđenju: Inteligencija zahteva znanje. Znanje poseduje neke osobine, koje baš i nisu tako poželjne sa stanovišta praktične realizacije:

- Ono je voluminozno ( obimno ),- Teško ga je pouzdano okarakterisati, - Podložno je stalnim promenama.

Dakle, gde se sada nalazimo u pokušaju da definišemo V.I. tehnike ? Prisiljeni smo da zaključimo da je V.I. tehnika metod za korišćenje znanja koje je predstavljeno tako da zadovolji sledeće kriterijume:

- Omogućuje generalizaciju. To znači da nije potrebno posebno predstavljati svaku situaciju, već se situacije koje imaju važne zajedničke osobine grupišu.

- Ljudi koji obezbeđuju ovo znanje mogu da ga razumeju. Preciznije, ono mora biti predstavljeno u formi razumljivoj za ljude koji ga obezbeđuju.

- Može se lako modifikovati radi otklanjanja grešaka i/ili registrovanja novih činjenica.

- Može se koristiti u velikom broju situacija, iako nije kompletno i potpuno pouzdano.

- Može se koristiti na prevazilaženje eksplozije sopstvenog obima tako što će pomoći u sučavanju granica ( opsega ) mogućnosti, koje se obično razmatraju.

Iako se V.I. tehnike projektuju tako da zadovoljavaju navedena ograničenja, postoji određeni nivo nezavisnosti između problema i tehnike odnosno tehnika koje se primenjuju za njegovo rešavanje. Moguće je, naime, rešavati neke probleme iz domena V.I. tehnikama iz drugih oblasti, kao što je moguće i neke probleme koji nisu iz oblasti V.I. rešavati primenom V.I. tehnika.

33

Page 35: VEŠTAČKA INTELIGENCIJA

2. EKSPERTNI SISTEMI

Ekspertni sistemi predstavljaju inteligentne računarske programe koji sadrže ekspertsko znanje to jest onakvo znanje kakvo bi imao i stručnjak u nekoj od oblasti kojom se bavi. Ovakvi sistemi znanje smeštaju u bazu znanja koji se koristi preko mehanizma zaključivanja. Razlozi za primjenu ekspertnih sistema je u tome da se znanje iz različitih i specifičnih oblasti ljudske delatnosti učini dostupnijim kroz primenu računarskih programa.

Oni ne mogu u potpunosti zameniti ljude to jest eksperte, naročito u pogledu kreativnosti, i korišćenja opšteg znanja, ali isto tako imaju i određene prednosti nad ljudima, ljudsko znanje može vremenom da se gubi, a naročito ako se često ne koristi. Ekspertni sistem je za sada moguće osmisliti samo u domenima u kojima postoje ljudski eksperti. Ekspert je neko ko poznaje određeni domen i koji je u stanju da prenese svoje znanje.

E

kspertni sistemi predstavljaju efikasan alat za rešavanje kompleksnih problema koji zahtevaju mnogo ljudskog iskustva, a koje poseduju eksperti iz date oblasti. Oni su dokazali svoju vrednost u velikom broju različitih ljudskih aktivnosti.

Ekspertni sistemi su u vidu kvaliteta i njihove primene značajno napredovali u poslednjih dvadesetak godina. Prema nekim istraživanjima, dok je pre desetak godina svega 25 % firmi u Sjedinjenim Američkim Državama koristilo ekspertne sisteme danas se već oni primenjuju u preko 85 % firmi pri čemu u mnogima i za višestruke namene.

Ono što je od posebnog značaja je da se danas većina može koristiti i na najširem spektru personalnih računara i tako su postali dostupni i primenljivi u svakoj sredini gde postoje personalni računari. Najčešće se primenjuju kod rešavanja problema koji se često ponavljaju kao i u slučajevima gde su moguće greške zbog zamora eksperimentatora. Pored toga znanje sadržano u ES se lako prenosi i dokumentuje, konzistentno je, a kada se raspodeli na veći broj korisnika postaje i relativno jeftino (sl. 1.).

Prilikom rešavanja određenih problema u praksi se često nailazi na specifične, a ponekad i nepoznate probleme koje eksperti za datu oblast rešavaju na indirektan način, tj. prethodno se mora ispitati mogućnost primene određenog postupka na model sistemima uz variranje različitih faktora radi optimizacije postupka pre nego što se pristupi rešavanju konkretnog problema. ES u takvim slučajevima slede logiku i principe odlučivanja eksperata.

39

Page 36: VEŠTAČKA INTELIGENCIJA

Slika 1. Struktura ekspertnog sistema

Sistem

zaključivanja

Agenda

Radna memorija (činjenice)

Korisnički interfejs

Opcija sticanja znanja

Opcija objašnjenja

Baza znanja

(pravila)

Takođe, kao i čovek i ES mogu da donose višestruke zaključke, da im dodeljuju značajnost i prioritet. Imaju sposobnost rezonovanja i o nepoznatom u meri u kojoj to imaju i eksperti iz te oblasti i u tom smislu ES se u velikoj meri približavaju ljudskom načinu rada i razmišljanja, što nije slučaj kod klasičnih opštih programa (sl. 2.). Zbog toga se klasični opšti programi i ne primenjuju za rešavanje ovakvog tipa problema.

Činjenice

Ekspertiza

Slika 2. Koncept ekspertnog sistema

40

KORISNICIEKSPERTNI

SISTEM

Page 37: VEŠTAČKA INTELIGENCIJA

ES su nastali kao nastavak razvoja klasičnih programa koji se zasnivaju uglavnom na predstavljanju i upotrebi podataka, algoritama, cikličnih procesa, numerički su orjentisani, procesi su sekvencijalni i nije moguće dobiti objašnjenje kako se došlo do nekog rezultata i zbog čega. Nasuprot njima, ES se zasnivaju na predstavljanju i upotrebi znanja, heuristici, procesima zaključivanja, simbolički su orjentisani, procesi su aktivni i moguće je dobiti objašnjenje kako su došli do određenog rezultata i zbog čega.

Zatim, dok je kod klasičnih programskih sistema poželjno, često i neophodno, sve potrebne podatke za proračun ili analizu obezbediti pre početka rada, ES, kao i čovek, rešava probleme prema datoj situaciji, koja se menja od slučaja do slučaja. Pored toga još jedan važan elemenat pogodnosti koji nude ES je faktor izvesnosti. Naime, u slučaju rada sa nepoznatim podacima postoji mogućnost nastavka rešavanja problema uz primenu faktora sigurnosti koji se može definisati u različitim rasponima (zavisno od ES i odgovora korisnika) ES usmerava odgranavanja u odgovarajućim pravcima i dovodi do potrebnih rešenja.

ES pri tome upozoravaju korisnike da je dobijeno rešenje sa određenim stepenom sigurnosti i da bi ga kao takvog trebalo i uzeti u obzir u daljem radu.

Osnovni uslovi za primenu ES na rešavanju nekog problema su zasnovanost rešavanja problema na zdravom razumu, stabilnosti domena, oslanjanje rešavanja problema na heuristiku, procenjivanje rezultata, proverljivost rezultata i drugo. Pri tome je neophodno istaći neke osnovne oblasti razvoja i primene ES kao što su interpretacija, predviđanje, dijagnoza, projektovanje, planiranje, praćenje, učenje, ispravke, kontrola i drugo.

Pored toga, trebalo bi istaći da računarom podržan ES nije predviđen da isključi eksperta. Naime kreativnost, prilagodljivost, široke mogućnosti primanja informacija, širok spektar znanja i sagledavanja problema su samo neki od elemenata u kojima su eksperti daleko ispred ekspertnih sistema, koji nemaju kreativnost, imaju ograničene vidove primanja informacija, kao i uži spektar znanja i sagledavanja problema.

ES su predviđeni da omoguće indirektno prisustvo eksperata u svim onim slučajevima u kojima je to potrebno, a u kojima sam ekspert ne može po prirodi stvari da bude prisutan ili je obezbeđenje njegovog prisustva suviše skupo. Takođe postoje poslovi od velikog značaja i rizika, koji se odvijaju i po 24 časa u neprekidnim ciklusima, sa mnogo elemenata koji utiču na njihovo odvijanje, a u kojima je neophodno ekspertsko znanje za usmeravanje toka procesa u zavisnosti od vrednosti pojedinih elemenata.

41

Page 38: VEŠTAČKA INTELIGENCIJA

Takvo angažovanje za čoveka eksperta može biti iscrpljujuće ili gotovo nemoguće, ali ne i za računarom podržan ES.

2.1 EKSPERTNI SISTEMI I VEŠTAČKA INTELIGENCIJA

Ekspertni sistemi predstavljaju jednu od najznačajnijih oblasti istraživanja veštačke inteligencije. To su programi koji rešavaju realne medicinske, industrijske, finansijske, vojne probleme, probleme u planiranju, konfigurisanju i testiranju opreme itd. koji standardno zahtevaju ljudsku ekspertizu. Ekspertni sistemi rade koristeći pri tom rezonovanje koje podseća na ljudsko, a ne na konvencionalne numeričke postupke.

Slika 3. Ekspertni sistem

Ekspertni sistemi predstavljaju inteligentne računarske programe koji sadrže "ekspetsko" znanje to jest znanje kakvo bi imao i stručnjak (ekspert) iz te oblasti. Ekspertni sistemi znanje smeštaju u bazu znanja koji se koristi preko mehanizama zaključivanja. Ekspertni sistemi su najčešće asistenti ljudima. Od ekspertnih sistema se očekuje da mogu postavljati pitanja, objašnjavati svoje rezonovanje i opravdavati zaključke, kako bi korisnika uverili u ispravnost rezultata.

Ekspertni sistemi rezonuju na osnovu kodiranog znanja iz ograničenog domena i mogu prevazići ljudske rezultate. Snaga ekspertnih sistema kao i drugih programa u veštačkoj inteligenciji leži u znanju. Znanje potiče od ljudi – eksperata, iz knjiga, članaka i drugih izvora. To znanje je često nepotpuno, zasniva se na eksperimentu i intuiciji zajednički nazvanim heuristika.

Treba napomenuti da ekspertni sistemi ne mogu obezbediti rešenja problema koja ni ljudska bića nisu u stanju da reše. Ekspertni sistemi rade sa simboličkim opisima znanja. Često koriste veliki broj suprotstavljenih pretpostavki, daju sugestije, ili različite važnosti pojedinim mogućnostima. Ekspertni sistemi predstavljaju primenjenu veštačku inteligenciju i koriste njene mnogobrojne rezultate ali je jako bitno da svi sistemi veštačke inteligencije koji su zasnovani na znanju, treba da obezbede mogućnost ažuriranja znanja i postupke za manipulaciju sa njim.

Razlog za primenu ekspertnih sistema je da znanje iz raznih specifičnih oblasti ljudske delatnosti postane dostupnije kroz primenu računarskih programa. Oni ne mogu potpuno zamenuti ljude ekspete,

42

Page 39: VEŠTAČKA INTELIGENCIJA

naročito u pogledu kreativnosti, i korištenja opšteg znanja (iz običnog života i drugih oblasti), ali oni imaju i neke od prednosti nad ljudima, ljudsko znanje može vremenom da se gubi naročito ako se često ne koristi.

Definicije

Primena metoda veštačke inteligencije i specifično ekspertni sistemi će verovatno igrati značajnu ulogu u organizacijama budućnosti i to u smislu kako se njima upravlja i kako se pripremaju odluke. Može se očekivati, da će organizacije koje ovladaju ovim metodama, značajno povećati svoju produktivnost odnosno obezbediti kompetitivnu prednost na tržištima budućnosti.

Veštačka inteligencija je naučno područje koje za svoj predmet ima cilj da mašine kao što je računar, imaju sposobnost inteligentnog ponašanja. Dva kamena temeljca inteligentnog ponašanja su sposobnost da se razume prirodni jezik, kao i sposobnost rezonovanja ili logičkog rasuđivanja. Sa tim u vezi glavne oblasti istraživanja u ovom domenu su: obrada prirodnih jezika, logičko zaključivanje, predstavljanje znanja, automatsko učenje, automatsko programiranje, prepoznavanje oblika, robotika, i ekspertni sistemi.

Oblast ekspertnih sistema predstavlja izrazito dinamičnu oblast veštačke inteligencije koja se oslanja na sve oblasti veštačke inteligencije.U literaturi se može naći veći broj sličnih definicija pojma ekspertni sistem. Tako, jedna definicija opisuje ekspertni sistem kao:

"Računarski programski paket koji uključuje organizovano znanje koje se tiče nekog specifičnog područja ljudske ekspertize (medicinska dijagnostika, identifikacija hemijskih jedinjenja, finansijsko planiranje, geološke prospekcije, itd.) u dovoljnom stepenu da može da vrši ulogu iskusnog i ekonomski racionalnog konsultanta u tom području"

ili kao:

"Program opšte namene, za rešavanje problema koji imitira ljudsku inteligenciju" ili,

"intelektualna podrška visokog nivoa koja služi isto kao i ljudski ekspert".

Čini nam se da je sledeća definicija potpunija i da osim cilja objašnjava i strukturu ekspertnih sistema. Ekspertni sistem je računarski programski sistem koji koristi formalne načine predstavljanja znanja koje čovek - ekspert poseduje i metode logičkog zaključivanja, da putem odgovarajućih računarskih programa obezbedi ekspertni savet ili mišljenje o problemu za koji je korisnik zainteresovan.

43

Page 40: VEŠTAČKA INTELIGENCIJA

Ovakva definicija ekspertnog sistema naglašava njegovu tehničku prirodu, a ne akademski cilj emulacije viših svojstava koje karakterišu čoveka - eksperta. Prema tome, ovakva definicija je relevantnija za praktičnu primenu ekspertnih sistema i ekspertne sisteme razmatra kao jednu kategoriju računarskog softvera. Znači, ekspertni sistemi imaju za cilj da obezbede odgovor na probleme koji zahtevaju rezonovanje, prepoznavanje i poređenje formi, akviziciju novih koncepata, rasuđivanje, ukratko, oni daju odgovor na pitanja koja zahtevaju inteligenciju. Ekspertni sistemi se mogu efikasno primenjivati u područjima gde se mišljenje o problemu svodi na logičko rezonovanje, a ne na izračunavanje i gde svaki korak u rešavanju problema ima veći broj alternativnih mogućnosti.

Karakteristike ljudske i mašinske inteligencije

Sledeće dve tabele daju neka ilustrativna poređenja mogućnosti ljudske i mašinske inteligencije čuvanja i prenošenja znanja.

Ljudi MašineNepostojano PermanentnoTeško prenosivo Lako prenosivoTeško za dokumentovanje Lako za dokumentovanjeNepredvidivo KonzistentnoSkupo EkonomičnoKreativno NeinspirativnoAdaptivno Sve im se mora definisatiRaznovrstan ulaz Simbolički ulazZdrav razum Formalizovano znanje

Takođe je interesantna i tabela koja poredi osobine standardnih sistema obrade podataka sa osobinama ekspertnih sistema.

Obrada podataka Ekspertni sistemiPredstavljanje i upotreba podataka Predstavljanje i upotreba znanjaAlgoritamski HeurističkiRepetitivni postupak Proces zaključivanjaBaze podataka Baze znanja

Tabela br 1. Upoređenje – obrada podataka – ekspertni sistemi

44

Page 41: VEŠTAČKA INTELIGENCIJA

2.2 Arhitektura ekspertnog sistema

Arhitektura ekspertnog sistema sledi osnovni zahtev realizacije računarskog sistema koji koristi formalne načine predstavljanja znanja koje čovek - ekspert poseduje i metode logičkog zaključivanja, da putem odgovarajućih računarskih programa obezbedi ekspertni savet ili mišljenje o problemu za koji je korisnik zainteresovan.

Komponenta Baza znanja čuva formalizovana ekspertna znanja o datom domenu ekspertize, koristeći neki od načina predstavljanja znanja. Komponenta Baza podataka čuva fakta u obliku odgovarajućih struktura podataka koji opisuju dati problem. Komponenta Sistem zaključivanja služi za implementaciju metoda zaključivanja koje ekspert koristi u rešavanju problema i bazirana je na opštim principima rešavanja problema, kao što je, recimo, formalno logičko zaključivanje. Znači, isti aparat zaključivanja se koristi za različite baze znanja. Svakako, interna struktura sistema zaključivanja zavisi od usvojenog načina formalnog predstavljanja znanja u bazi znanja.

Na slici 4. je predstavljena opšta arhitektura ekspertnog sistema.

KORISNIK

SISTEM ZAKLJUČIVANJA

BAZA ZNANJA

BAZAČINJENICAA

KORISNIČKI INTERFEJS

OPŠTA ARHITEKTURA EKSPERTNOG SISTEMA

Slika 4.

45

Page 42: VEŠTAČKA INTELIGENCIJA

Komponenta Korisnički interfejs služi da humanizuje dvosmernu komunikaciju između korisnika i ekspertnog sistema, često, uz korišćenje multimedijalne tehnologije, odnosno grafičkih i audio prikaza. Praktična vrednost ekspertnog sistema u mnogome zavisi od kvaliteta korisničkog interfejsa. Način prezentacije rezultata i zahteva za ulazom mora biti u skladu sa standardnim načinom kako korisnik gleda na rešavanje datog problema, odnosno da postoji kognitivna saglasnost korisnika i ekspertnog sistema.

Osim toga, korisnički interfejs sadrži i ostale mogućnosti, kao što su mehanizam za objašnjavanje postupka i rezultata procesa zaključivanja, pomoću koga korisnik saznaje zašto je ekspertni sistem došao do određenog zaključka, odnosno koja znanja i fakte je koristio. Na taj način, korisnik podiže stepen svog poverenja u kvalitet zaključaka koje generiše ekspertni sistem.

Komponenta Baza znanja čuva formalizovana ekspertna znanja o datom domenu ekspertize, koristeći neki od načina predstavljanja znanja. Komponenta Baza podataka čuva fakta u obliku odgovarajućih struktura podataka koji opisuju dati problem.

Komponenta Sistem zaključivanja služi za implementaciju metoda zaključivanja koje ekspert koristi u rešavanju problema i bazirana je na opštim principima rešavanja problema, kao što je, recimo, formalno logičko zaključivanje. Znači, isti aparat zaključivanja se koristi za različite baze znanja. Svakako, interna struktura sistema zaključivanja zavisi od usvojenog načina formalnog predstavljanja znanja u bazi znanja.

Komponenta Korisnički interfejs služi da humanizuje dvosmernu komunikaciju između korisnika i ekspertnog sistema, često, uz korišćenje multimedijalne tehnologije, odnosno grafičkih i audio prikaza. Praktična vrednost ekspertnog sistema u mnogome zavisi od kvaliteta korisničkog interfejsa.

Način prezentacije rezultata i zahteva za ulazom mora biti u skladu sa standardnim načinom kako korisnik gleda na rešavanje datog problema, odnosno da postoji kognitivna saglasnost korisnika i ekspertnog sistema. Osim toga, korisnički interfejs sadrži i ostale mogućnosti, kao što su mehanizam za objašnjavanje postupka i rezultata procesa zaključivanja, pomoću koga korisnik saznaje zašto je ekspertni sistem došao do određenog zaključka, odnosno koja znanja i fakte je koristio. Na taj način, korisnik podiže stepen svog poverenja u kvalitet zaključaka koje generiše ekspertni sistem.

46

Page 43: VEŠTAČKA INTELIGENCIJA

Na sledećoj slici 5. je predstavljena opšta arhitektura ekspertnog sistema sa dodatnim komponentama.

Slika 5. Struktura ekspertnog sistema

Sistem

zaključivanja

Agenda

Radna memorija (činjenice)

Korisnički interfejs

Opcija sticanja znanja

Opcija objašnjenja

Baza znanja

(pravila)

Baza znanja sadrži skup produkcionih pravila, pa se nekad naziva i produkcionom memorijom

Sistem zaključivanja ispituje zadovoljenost svakog pravila, pravi listu prioriteta pravila i izvšava pravila po listi-prioriteta. Generalno, postoje dva tipa zaključivanja: unapred i unazad: -Zaključivanje unapred je rezonovanje od fakta prema zaključcima, a zaključivanje unazad je od hipoteza, dakle potencijalnih zaključaka koje treba dokazati ka faktima. Neki alati podržavaju zaključivanje unapred a neki unazad. Postoje i takvi alati koji podržavaju oba vida zaključivanja. Izbor načina zaključivanja zavisi od problema. Za dijagnostičke probleme su generalno podesniji sistemi sa zaključivanjem unazad, dok se za prognoziranje, nadgledanje (monitoring) i kontrolu koristi metod zaključivanja unapred

47

Page 44: VEŠTAČKA INTELIGENCIJA

Agenda sadrži prioritetnu lista pravila koju kreira sistem zaključivanja. Lista se određuje na različite načine. U nekim alatima, prioritet određuje redosled ulaza u sistem (prvo pravilo ima najviši prioritet). U drugima pravilo sa složenijim stablom ima viši prioritet, i obrnuto. U nekima pravila imaju prioritet određen po default-u, ukoliko inženjer znanja ne odredi drugačije.

Korisnički interfejs je mehanizam pomoću koga ekspertni sistem i korisnik međusobno "komuniciraju", može biti u obliku jednostavnog tekstualnog displeja, a u nekim slučajevima i u obliku sofisticiranog bit-mapiranog displeja visoke rezolucije.

Radna memorija sadrži globalnu bazu činjenica - fakata.

Opcija objašnjenja pokazuje korisniku način "rezonovanja sistema".

Opcija sticanja znanja predstavlja automatizovan način sticanja znanja. Automatsko generisanje novih pravila primenom postupka indukcije je svojstvo nekih novijih alata za razvoj ES.

Generatori ekspertnih sistema

Ekspertni sistem se tiče određenog domena u kojem se primenjuje. Generator ekspertnog sistema je alat za razvijanje određenog ekspertnog sistema. On sadrži mehanizam zaključivanja i sistem za predstavljanje znanja.

U nastavku je dato nekoliko primera generatora ekspertnih sistema :

• VP – Expert (za manje kompleksne aplikacije)• SNARK (značajno je kompletniji ali je malo zastareo)• GURU (takođe je malo zastareo)• PROLOG (ovo je više programski jezik nego generator)• SMECI (savremeni generator ekspertnih sistema)

Kasnije u marednim poglavljima će o ovome segmentu biti mnogo više rečeno.

48

Page 45: VEŠTAČKA INTELIGENCIJA

2.3. Znanje u ekspertnom sistemu

Svakako, ključni faktor za dobre performanse ekspertnog sistema je kvalitet znanja koje je u njega ugrađeno. Znanje se čuva u bazi znanja ekspertnog sistema i generalno se razlikuju dva tipa znawa.

Prvi tip je, ono što se naziva faktima datog domena, odnosno znanje koje je široko poznato i nalazi se napisano u uđbenicima, časopisima i slično. Ovo znanje je obično prihvaćeno kao univerzalno tačno. Drugi tip znanja je heurističko znanje, to je ono znanje koje čovek - ekspert gradi na osnovu iskustva i koje kombinovano sa prvim tipom znanja čini čoveka ekspertom.

Osim znanja, ekspertni sistem zahteva i sistem-postupak zaključivanja-metod rezonovanja korišćen da napravi spregu između znanja koje se čuva u računaru i problema koji postavlja korisnik. On takođe zahteva način za predstavljanje znanja u računaru, znanja koje ekspertni sistem treba da poseduje i to pre svega u obliku logičkih struktura kojima mašina može lako da manipuliše i skupa odgovarajućih struktura podataka.

Svakako, prvi problem sa kojim se susrećemo kod ekspertnih sistema je način predstavljanja znanja. Kako predstaviti znanje iz datog domena u obliku pogodnih struktura podataka tako da se efikasno može iskoristiti u rešavanju problema? Drugo, kako koristiti znanje. Kako projektovati sistem zaključivanja da bi se znanje efikasno koristilo u rešavanju određebih problema? Treće, akvizicija znanja. Kako znanje preuzeti od eksperata i staviti ga u računar? Da li je moguće automatizovati ovaj korak i obezbediti direktnu komunikaciju eksperta i računara i nesmetan prenos znanja od eksperta ka računaru? U ovom trenutku, akvizicija znanja predstavlja usko grlo u razvoju metoda veštačke inteligencije.

Za razliku od klasičnih programa u kojima korisnik zadaje ulazne podatke koje računar obrađuje a zatim saopštava određene rezultate do kojih je došao, ne dajući korisniku informacije na koji način se došlo do odgovarajućeg rešenja, ekspertni sistemi upravo obrazlažu način i proceduru iznalaženja konkretnog rešenja. Na pimer ukoliko je ekspertni sistem iz oblasti medicine, studenti mogu da vide koji podaci i koje veze među podacima su jednom ekspertu bili potrebni da bi postavio odgovarajuću dijagnozu.

Ekspertni sistemi u suštini predstavljaju alatke veštačke inteligencije, što znači da se koriste samo onda kada nijedna egzaktna algoritmička metoda nije primenjljiva ili pak ne daje zadovoljavajuće rezultate. Ekspertni sistemi se sastoje iz dva nezavisna dela, a to su :

49

Page 46: VEŠTAČKA INTELIGENCIJA

• Baza znanja koja se sastoji iz baze pravila u kojoj je modelovano znanje iz datog domena i bazu činjenica koja sadrži informacije koje se tiču slučaja ili pojma koji se obrađuje.

• Mehanizam zaključivanja ili Inference engine koji je sposoban da rasuđuje na osnovu informacija koje su smeštene u bazi znanja.

Sledeća slika 6. pokazuje osnovnu strukturu ekspertnog sistema :

Slika 6. Osnovna struktura ekspertnog sistema

Uloga stručnjaka za veštačku inteligenciju je da preuzme znanja od eksperta iz datog domena, da bi formirao bazu znanja ekspertnog sistema, putem formalizovanja to jest prezentacije u kojima će predmet i njegovi atributi sačinjavati bazu znanja. Ova dva zadatka su veoma delikatna jer je ekspert veoma često nesvestan većeg dela svoga znanja; često se dešava da iskaže jedan deo svoga znanja i to često u formi koju nije lako formalizovati.

50

Page 47: VEŠTAČKA INTELIGENCIJA

Na primer, ako pitamo jednog šahovskog majstora da razmisli i opiše svoj način igranja, može se primetiti da će u narednim danima njegovi rezultati biti u padu zbog napora introspekcije to jest samoposmatranja.

Nezavisnost između baze znanja i mehanizma zaključivanja je suštinski elemenat ekspertnog sistema. Ona omogućava predstavljanje znanja bez dodirnih tačaka sa načinom na koje će to znanje biti upotrebljeno. Prednost ovog tipa arhitekture je u tome što omogućava da se znanje u sistemu baze znanja menja i nadopunjuje, a da pri tome to ne utiče na funkcionisanje mehanizma zaključivanja.

Na takav način funkcionišu i ljudska bića, jer kad čovjek stiče nova znanja to ne utiče na mehanizam njegovog razmišljanja.

U stvarnosti se stvari odvijaju na manje idealan način nego što je to prikazano na napred prikazanoj ovoj šemi, i često je neophodno organizovati bazu znanja, razviti strategije za korišćenje pravila itd.

Ekspertni sistem je često dopunjen odgovarajućim Interfejsom, manje ili više bogatim, koji omogućava dijalog sa korisnikom. Idealna situacija je kada je interfejs na prirodnom jeziku, a ne na nekom apstraktnom jeziku.

2.3.1. Baza činjenica

Baza znanja se sastoji od činjenica i pravila. Baza činjenica predstavlja radnu memoriju ekspertnog sistema. Bazu činjenica je moguće mjenjati jer na početku sadrži ono što je poznato o ispitivanom slučaju, bez učešća mehanizma zaključivanja. Zatim se ona kompletira činjenicama dobijenim od pokretača ili korisnika. Na primjer u oblasti medicine baza činjenica može sadržati listu simptoma na početku rada i dijagnozu na kraju rada. Činjenice mogu biti manje ili više kompleksne, biće predstavljene samo elementarne činjenice čije su moguće vrijednosti :

• Boolean (logičke vrijednosti) - tačno netačno• Simboličke činjenice - predstavljaju se simblom• Realne činjenice – predstavljaju se realnim podatcima

Na primjer : aktivan je logička činjenica, zanimanje je simbolička dok je plata realna činjenica.

Ekspertni sistem koji koristi samo logične činjenice naziva se sistem reda 0. Sistem koji koristi samo simboličke ili realne činjenice naziva se sistem reda 0+. Dok se sistem koji koristi svu snagu logike naziva sistem reda 1.

51

Page 48: VEŠTAČKA INTELIGENCIJA

U ekspertnom sistemu reda 0 formule se pišu u sljedećem obliku :

Aktivan ili ¬ Aktivan

U ekspertnom sistemu reda 0+ formule se pišu u sljedećem obliku :

Aktivan i (zanimanje ≠ ljekar ili plata ≤ 20000)

U sistemu reda 1 možemo pronaći sljedeću formulu :

∃ X bolest(X) i X ≠ gripa i simptom(X) = visoka temperatura

Ove formule se nazivaju uslovima kada služe da pokrenu pravila. Može se primetiti da se logičke činjenice tumače kao formule jer imaju vrednost istine. Da bi ekspertni sistem mogao da funkcioniše kao ljudski mozak neophodno je da on razmišlja o sopstvenom načinu razmišljanja, o činjenicama kojima raspolaže, o formulama koje može da konstruiše.

Drugim rečima nije dovoljno da sistem poseduje znanje već mora imati i metaznanje tj. Znanje koje objašnjava njegovo znanje. Ako korisnik ne može da da odgovor o vrednosti neke činjenice, sistem to treba da zna da ne bi postavljao stalno isto pitanje na koje ne dobija odgovor. Jedini način da da vrednost ovakvoj činjenici, je da je zaključi iz drugih činjenica. Vrednost jedne činjenice može biti :

• poznata- kada joj je dodeljena neka vrednost• nepoznata - kada joj nije dodeljena vrednost i korisniku nije postavljeno

nikakvo pitanje• neodređena - kada joj sistem nije odredio nikakvu vrednost, a korisnik je

odgovorio sa ne znam na pitanje koje se tiče vrednosti.

2.3.2. Baza pravila

Baza pravila sadrži znanja od eksperta, ona se ne menja u toku rada. Pravilo ima sledeću formu :

Ako <uzročni veznik > onda <zaključak>

Dok zaključci imaju sledeći oblik :

<Činjenica> = <Vrednost>Primer :

52

Page 49: VEŠTAČKA INTELIGENCIJA

Ako populacija > 200.000 i univerzitetski-grad onda bioskop UmetnostEseji=tačno

Ako oporezovaniPrihodi = poznat i porodični-koeficijent = poznat onda izračunatiIznosPoreza = tačno

Poslednji primer pokazuje kako ekspertni sistem može biti korišćen zajedno sa klasičnim programima. Možemo pretpostaviti da će prelazak logičke činjenice izračunatiIznosPoreza u vrednost tačno, pokrenuti proceduru koja izračunava iznos poreza i dodeljuje realnoj činjenici vrednost IznosPoreza.

Baza pravila je skup pravila i njeno logičko značenje je veznik logičkog značenja svakog pravila. Moguće je lako kodirati prethodni formalizam pravila koji imaju sljedeći oblik :

ako A ili B onda C

ili

ako A onda B i C

ali nije isto ako se napiše

ako A onda B ili C

2.3.3. Meta pravila i metaznanja

Znanje je iskazano pravilima dok je metaznanje iskazano metapravilima tj. pravilima koja objašnjavaju pravila. Na primer u ekspertnom sistemu pod nazivom MICYN-u možemo pronaći sledeća metapravila :

Ako se traži terapija onda imati u vidu po sledećem redosledu pravila koja omogućavaju da :

• se dobiju kliničke informacije o pacijentu• naći koji organizmi, ako uopšte postoje, su uzroci infekcije• identifikovati najverovatnije organizme koji uzrokuju infekciju• naći sve potencijalne lekove koji mogu biti korisni• izabrati najadekvatnije lekove

53

Page 50: VEŠTAČKA INTELIGENCIJA

Jedan od najvećih problema sa kojima se susreće specijalista, (Knowledge Engineer) kada pokušava da adaptira znanja eksperta, je to što ekspert može da rasuđuje na osnovu pretpostavki tj. nesigurnih- nepouzdanih znanja za koje ne postoje alatke koje mogu da ih adekvatno prenesu u formulu. Ovakvi se problemi prevazilaze upotrebom teorije vjerovatnoće da bi se definisao stepen verovatnoće odnosno mogućnosti neke činjenice. Mnogi generatori ekspertnih sistema pružaju mogućnost korisniku da nijansira verovatnoću činjenice tako što mu pridodaju stepen verovatnoće.

2.4. Mehanizam zaključivanja (inference engine)

Mehanizam zaključivanja je mehanizam koji omogućava da se nova znanja izvode na osnovu baze znanja sistema. Postoje tri osnovna načina funkcionisanja tj. mehanizma zaključivanja :

• Forward Chaining – Olančavanje unaprijed• Backward Chaining – Olančavanje unazad• Mixed Chaining – Olančavanje u oba smera

Može se primetiti da je pokretač izvođenja nezavistan od baze znanja što je suštinsko za ekspertni sistem.

Forward Chaining – Olančavanje unaprijed: njegov mehanizam je veoma jednostavan, da zaključi određenu činjenicu on pokreće pravila čije su premise poznate sve dok činjenica koju zaključuje ne postane poznata ili nijedno drugo pravilo ne bude moguće promeniti.

Korisnik unosi činjenice, na osnovu tih unetih činjenica sistem će pokušati da donese sve moguće zaključke tj. Atribute. Jasno je da kod svih tih zaključaka ima onih koji su interesantni za korisnika, ali i onih koji mu neće biti potrebni. Činjenice se nalaze u formi :

Atribut = vrijednost

Pomoću određenog algoritma izračunava se da li tražena činjenica može biti zaključena iz baze znanja. U nekim slučajevima u algoritmu ne možemo znati kako da izaberemo pravilo koje se može primeniti za pravilan zaključak. U tom slučaju pribegava se metaznanju da bi se definisala strategija izbora. Ovaj način funkcionisanja je najbrži od tri pomenuta načina i omogućava da se zaključe činjenice koje proizilaze iz početnih podataka. Karakteristika ovog mehanizma zaključivanja je u tome što su sve činjenice dostupne odmah na početku, što je veoma pogodno za sintezu.

54

Page 51: VEŠTAČKA INTELIGENCIJA

Backward Chaining – Olančavanje unazad: njegov mehanizam se sastoji od toga da : počevši od činjenice koju želimo da utvrdimo, pretražimo sva pravila koja se zaključuju na toj činjenici, utvrdimo listu činjenica koje je neophodno dokazati da bi se pravila mogla pokrenuti, a zatim rekurzivno primeniti isti mehanizam na činjenice sa liste. Algoritam za Backward Chaining je znatno komplikovanji od prethodnog načina, a ovdje će biti prikazan samo jedan primer. Izvršenje ovog algoritma može se prikazati pomoću stabla čiji se čvorovi nazivaju ili po činjenici ili sa jednom od ove dvije rječi : i, ili. Ovo stablo se naziva i – ili stablo :

Slika 7. Stablo i - ili Backward Chaining-a

Karakteristika ovog mehanizma zaključivanja je u tome čto su sva ciljna stanja dostupna na samom početku, što je pogodno za dijagnostiku.

Mixed Chaining – Olančavanje u oba smera : Algoritam Mixed Chaining-a se kombinuje od predhodna dva algoritma. On funkcioniše slično kao Forward Chaining jer ima za cilj da zaključi datu činjenicu, a primenjuje Backward Chaining na svaku pronađenu činjenicu da bi odredio najverovatnije i najoptimalnije parametre. Ovaj mehanizam omogućava stvaranje novih

55

Page 52: VEŠTAČKA INTELIGENCIJA

kombinacija putem pravila izvođenja i određivanje eliminacionih faktora prilikom traženja rješenja.

U nastavku je dat jedan primer algoritma zaključivanja :

1. Match : Pronađi sva primenjljiva pravila (if dio je zadovoljen)2. Conflict resolution : izaberi pravilo koje će se izvršiti

• Odbaci pravila koja su već ranije primenjena• Izaberi novo pravilo (Conflict-resolutionstrategy)

3. Act : Dodaj novu činjenicu u WM

Strategije za rezervisanje konflikata :

• No duplication : izaberi pravilo koje daje nove zaključke• Do one : izaberi prvo pravilo čiji je uslov ispunjen• Do all : primeni sva pravila• Do the most specific : Primeni najspecifičnije pravilo• Do the most recent : izaberi pravilo čiji uslov koristi koristi najnovije

činjenice

56

Page 53: VEŠTAČKA INTELIGENCIJA

2.5. PRVA GENERACIJA EKSPERTSKIH SISTEMA - FGES

2.5.1 OSNOVNE KARAKTERISTIKE FGES (First_Generation_Expert_System)

Oblast ES se razvija već nekoliko decenija. ES se sa uspehom primenjuju u raznim oblastima ljudske delatnosti: industrijske proizvodnje, hemijske tehnologije, geologije, poljoprivrede, medicine, raznim granama tehnike i td.

Svrsishodnost sa kojom se grade ES može biti jedna od sledećih kategorija: interpretacija podataka, pomoć u odlučivanju, planiranju, dijagnostici, predviđanja i td.

Nivo razvoja ES prve generacije (FGES) koji su danas još uvek najviše komercijalno zastupljeni karakterišu uhodane metode i tehnike simboličnog predstavljanja znanja iz odgovarajućeg domena primene, rešavanja problema korišćenjem tako predstavljenog znanja, kao i u saglasnosti sa prethodnim, korišćenjem odgovarajuće softverske podrške za razvoj FGES.

Ne može se zaobići činjenica da su FEGS uglavnom bili ES za pomoć u nečemu tj. ”consalting” za neki određeni domen.

Kod održavanja ES: često su prisutne teškoće u nadgradnji baze znanja, statičnost heurističkog znanja, kao i često prisutna krutost formalizama u pretstavljanju znanja.

Kod eksploatacije ES: uski domeni primene, neophodna precizna specifikacija zahteva korisnika ES, često nedovoljno iscrpna objašnjenja kao i davanje zaključaka za korisnike na prirodnom jeziku.

No i pored svih nabrojanih nedostataka, FGS predstavljaju prvi i značajan korak u projektovanju inteligentnih programa pomoću kojih su ekspertska znanja eminentnih eksperata struktuirana, tako da ih u praksi može koristiti širi krug poslenika sa pozitivnim socijalnim posledicama. Tipična struktura FGES data je na sl.2.5-1.

Sl.2.5-1.

BAZA ZNANJA

FORMALIZMI I MEHANIZAM

ZAKLJUČIVANJA

RADNA MEMORIJA

S P R E G A S A K O R I S N I K O M

KORISNIK

57

Page 54: VEŠTAČKA INTELIGENCIJA

Zbog njihove realne vrednosti u vreme nastajanja i kao osnove za dalji razvoj ES u daljem tekstu navešćemo ključne osobine FGES, sa kojima će biti prezentovan nivo njihove radne sposobnosti kao i ograničenja zbog kojih se moralo ići dalje sa usavršavanjem tehnologije ES pre svega preko SGES – second generation ES, a kasnije sa ovih i na RTES – real time ES.

Predstavljanje znanjaFormalizmi predstavljanja znanja FGES dozvoljavaju da se znanje predstavi

kao statično, konzistentno i nezavisno od konteksta u kome se određen problem obrađuje.

Takav način predstavljanja implicira rezonovanje koje se svodi na skup predodređenih koraka zaključivanja a ne na adekvatno zaključivanje eksperta. To dalje implicira mogućnost rešenja samo formalno logičke sintaksne manipulacije.

Dakle u FGES-u nisu omogućene semantičke manipulacije znanjem zbog nedostatka tehnike za predstavljanje dubljeg znanja, koje je u funkciji kontetsta.

Prethodno za sobom povlači problem pristupa predmetnom znanju i dovoljno jasno objašnjenje rezonovanja.

Sve napred rečeno suštinski određuje FEGS u smislu primene u relativno niskim, precizno definisanim oblastima ljudskog znanja. Predikati i funkcije FGES su prilagođene pojednostavljenom modelu pojava iz realnog sveta.

U daljem tekstu daje se detaljniji prikaz pojedinih blokova sa sl.2.1-1 i nekih relevantnih momenata koji su vezani za FGES.

a) Mehanizmi zaključivanjaMehanizmi zaključivanja u FGES se svode na logičke mehanizme. Tipični

primeri su zasnovani na olančavanju unapred i olančavanju unazad.Logički mehanizmi zaključivanja su odgovarajući za obradu relativno

statičkog znanja koje se vremenom malo ili ni malo ne menja. U prisustvu konfliktnih informacija u ES, koje se vremenski menjaju kao i u slučaju sistema sa velikim bazama znanja ovakvi mehanizmi su neadekvatni.

Poseban nedostatak FGES je u tome da oni nisu bili u stanju da prepoznaju da li je konkretan problem, koji je u obradi, pripada ili ne ekspertizi za koju je ES predviđen. Naravno, ukoliko problem iskače iz domena ES, FGES naglo pogoršavaju svoje funkcionisanje. Uzroci ovoj slabosti su neadekvatno predstavljanje znanja i pojednostavljene tehnike rezonovanja.

Uobičajeni način rezonovanja kod FGES temelji se na simboličkom izračunavanju.

FGES bi posedovao veće mogućnosti da je u njemu bila spregnuta tehnologija simboličnog sa numeričkim izračunavanjem. Ovo je zbog toga što najveći broj oblasti u nauci, a posebno u tehničkim naukama koristi tradicionalno numeričko izračunavanje.

Ako se u nekim FGES i koristilo spregnuto izračunavanje to je ostvarivano na nivou “plitke sprege” jer se svodilo na eventualnu mogućnost pozivanja numeričke procedure tokom procesa zaključivanja i interpretacije rezultata.

58

Page 55: VEŠTAČKA INTELIGENCIJA

Pored nedostatka “duboke sprege” simboličkog i numeričkog izračunavanja, tehnike zaključivanja FGES generalno su takođe u nedovoljnoj meri pogodne za paralelno procesiranje.

Na kraju treba navesti da su FGES bili krajnje ograničeni u pogledu kodiranja i korišćenja zdravorazumskog zaključivanja (rezonovanja) kome se čovek okreće kada neke formalne procedure otkažu. Isto tako je bilo ograničeno korišćenje analogija kao načina zaključivanja.

b) Moduli za spreguModuli za spregu ES sa korisnikom omogućavaju dijalog korisnika sa ES u

vezi zaključivanja i interpretacije rezultata.Mogućnost davanja objašnjenja se ne tretira u dovoljnoj meri kao zadatak za

koji je potrebna inteligencija. Objašnjenje se najčešće svodi na navođenje niza poruka uključujući i heuristike iz baze znanja koja se primenjuje u procesu zaključivanja pri obradi korisničkog zahteva. Takva objašnjenja su najčešće bila neadekvatna za korisnike. To je proisticalo iz činjenice da je u bazama znanja FGES znanje veoma često predstavljano statično i nezavisno od konteksta.

FGES najčešće nisu koristili prirodni jezik u dovoljnoj meri pri davanju objašnjenja o procesu rezonovanja što je korisnike najčešće dovodilo u situaciju da im mnogo toga nije bilo jasno. Mogućnosti povezivanja FGES ili integraciji sa drugim programima vrlo su ograničene. To je stoga što moduli za takvu spregu (sa programskim i radnim okruženjem) nisu bili razvijani u dovoljnoj meri.

a) Rad u realnom vremenu

Mogućnosti FGES za interakciju sa okruženjem su krajnje ograničene, i u tom smislu FGES su nepodesni za rešavanje problema u dinamičkom okruženju sa čestim i brzim promenama u realnom vremenu.

To proističe iz toga što u FGES-u najčešće nije postojala struktura podataka za uspešnu spregu sa okruženjem za obrade u realnom vremenu.

Pomenuta ograničenja su isto tako posledica isključivo sekvencijalnog funkcionisanja mehanizama zaključivanja kao i sekvencijalne mašinske obrade.

b) Prikupljanje znanja i učenje

Prikupljanje znanja kod FGES nije u dovoljnoj meri automatizovano. Pri kreiranju baze znanja ekspert i inženjer znanja su zajedno na zadatku.Eksperti najčešće imaju problema da svoje empirijsko znanje izraze u obliku apstraktnih pravila.

Sledeći problem koji je bitan je integracija znanja iz više izvora i domena ako je to neophodno za funkcionisanje ES. Sve prethodno postavlja ozbiljne zahteve pred inženjera znanja.

Za FGES su razvijeni adekvatni inteligentni editori i moduli za spregu koji treba da olakšaju unošenje i modifikovanje znanja, međutim nemogućnost za

59

Page 56: VEŠTAČKA INTELIGENCIJA

automatsku sintezu pravila putem mašinskog učenja je jedan od najvećih nedostataka FGES, posebno u dograđivanju baze znanja.

Ovaj nedostatak značajno smanjuje inteligentnu interakciju FGES i korisnika, ali se to odnosi na eksperta i na inženjera znanja.

c) Hardverski zahtevi

Najveći broj FGES je razvijen na konvencionalnim računarima III i IV generacije ili na specijalizovanim računarskim mašinama.

Performanse na specijalizovanim računarskim mašinama (LISP mašine) su najčešće bolje od onih sa konvencionalnih mašina, ali sve to prate i određeni finansijski aspekti.

Mali je broj FGES koji su projektovani da mogu da koriste snagu konvencionalnih i specijalizovanih mašina, da bi koristili prednost i jednih i drugih. Hardver mora da poseduje mogućnost direktnog dijaloga preko monitora inače je bez toga efikasnost značajno smanjena i u fazi projektovanja, a i kasnije kod eksploatacije ES.

d) Razvoj FGES

Kreiranje tj. sintetizovanje prototipa FGES je relativno lako. Prototip još uvek ne poseduje performanse profesionalnog ES, on je podesan samo za jednostavnu prezentaciju i to još uvek nije garancija za uspešnost.

Prototip se dograđuje u cilju efektivnog korišćenja i tada on postaje znatno složeniji.

Zbog toga, naizgled uspešan prototip ne dovodi do realizacije efektnog profesionalnog rešenja ES, jer se ne sagledaju na vreme i dovoljno iscrpno postavljeni ciljevi koje kasnije nije uvek lako ostvariti.

60

Page 57: VEŠTAČKA INTELIGENCIJA

2.5.2 SOFTVERSKO OKRUŽENJE ZA SINTEZU FGES

Generalno, programsku podršku u procesu sinteze ES čini skup u koji spadaju: programski jezici, jezici za kreiranje baze znanja, programi za prikupljanje znanja, i niz drugih programa kao što su specijalizovani editori, programi za kontrolu ulazno-izlaznih operacija, detektori grešaka kao i programi za davanje objašnjenja korisniku.

Potrebno je naglasiti da je u ovom slučaju problem programa za razvoj ES kompleksniji i pod tim se podrazumeva integralno softversko okruženje usmereno za razvoj ES.

Takvo okruženje (Expert System Building Tools – ESBT) obezbeđuje sledeće:

- tehnike predstavljanja znanja iz domena ES,

- jednu ili više standardnih tehnika zaključivanja,

- modul za spregu sa korisnikom koji razvija ES kao i

- modul za spregu ES sa krajnjim korisnikom.

Za za softversko okruženje ESBT je korišćen naziv LJUSKA ES, odnosno ŠKOLJKA ES. Ljuska (školjka) ES je ono što ostaje od ES kada se iz istog izdvoji znanje. Zapravo ljusku čine:

- mehanizam zaključivanja,

- upravljačka struktura,

- radna memorija i

- interfejs prema korisniku ES.

tj. svi oni elementi ES koji omogućavaju korisniku da razvije ES posebne namene tj. kod ugrađivanja parametara, pravilai formiranja baze znanja.

Ovakav način gledanja na razvojno SW okruženje ES proizilazi iz okolnosti da mehanizmi zaključivanja (rezonovanja) su skoro istovetni za bliske – srodne domene primene ES.

Ono što čini ES različitim su baze znanja tj. znanje ugrađeno u iste što je “srž sistema” koji okružuje prethodno opisana “ljuska”.

Softverska okruženja ES su još poznata i pod nazivom “SKELETNA LJUSKA” (skelet shells), što potiče od asocijacije da se radi o skeletu više ES sa različitim bazama znanja.

Kada se radi o ESBT za FGES koristi se kratica FGESBT.Karakteristike FGESBT su ovde navedene u glavnim crtama i to uglavnom sa

osvrtom na: oblast primene, strukturu, način predstavljanja znanja, rezonovanje, module za spregu, prikupljanje znanja, programske jezike i elementarne hardverske zahteve.

61

Page 58: VEŠTAČKA INTELIGENCIJA

a) Oblast primene

FGESBT softversko okruženje je pogodno za razvoj ES za određene tipove zadataka tipa: klasifikacija, dijagnostika i dizajn.FGESBT nisu pogodni za razvoj ES za upravljanje u realnom vremenu, navigacije i slično. To je zbog toga što FGESBT veoma često ne poseduju pre svega kompleksnije tehnike predstavljanja znanja, programe za brzu razmenu podataka preko U/I operacija sa spoljnim okruženjem, kao i sposobnost integracije (sprezanja) sa drugim programima.

b) Struktura FGESBT

Tipična struktura FGESBT data je na slici 5.2-1.

Sl. 2.5-2 FGESBT – first generation ES building tools

Ovu strukturu podržava odgovarajući jezik za predstavljanje znanja u bazi znanja, kao i programi za prikupljanje znanja (koji često nisu integrisani u FGESBT), mehanizam za zaključivanje, modul programa za vezu sa korisnikom u fazi sinteze ES kao i modul za vezu (spregu) sa krajnjim korisnikom u fazi eksploatacije ES.

PRIKUPLJANJE ZNANJA

MODUL ZA SPREGU SA KORISNIKOM U PROCESU SINTEZE ES

BAZA ZNANJA

MEHANIZAM ZAKLJUČIVANJA

MODUL ZA SPREGU SA KRAJNJIM KORISNIKOM

62

Page 59: VEŠTAČKA INTELIGENCIJA

c) Predstavljanje znanja

Na sl. 2.5.3 data je blok šema na koje se sve načine mogu predstaviti znanja kod FGESBT. Po pravilu u FGESBT stoji opredeljenje za uži izbor tehnike predstavljanja znanja.

FGESBT za prezentaciju i odlučivanje najčešće koriste pravila.Pravila su oblika:

IF Parametar A, Value AND Parametar B, ValueOR Parametar C, Value

THENParametar D, Value ili Zaključci,

gde su premise logičke klauzule povezane operatorom AND ili OR, a zaključci su logička tvrđenja ili proceduralne aktivnosti.

FGEST koristi i okvire koji se inače prilično teško prilagođavaju elementima problema te njih mogu efektivno koristiti iskusni inženjeri znanja.Semantička mreža se koristi u FGESBT ali zbog nedostataka u vezi sa teškoćama vršenja izmena u bazi znanja ispoljavaju se nekonzistentnosti koje značajno komplikuju eksploataciju ES.

Sl.2.5.3.

PRAVILA

PREDSTAVLJANJE ZNANJA

OKVIRISEMANTIČKE

MREŽE

TROJKE

O – A - VPROCEDURE

HEURISTIKA LOGIKANEIZVESNI

PODACI

63

Page 60: VEŠTAČKA INTELIGENCIJA

Trojka OAV (Object, Atribut, Value, Objekat – Atribut – Vrednost) su zapravo specijalan slučaj semantičkih mreža (sa tri vrste čvorova: objekti, atributi i vrednosti i sa dve vrste grana: jeste i ima).

Ako se u nekom ES posmatra samo jedan objekat OAV kojim se redukuju na parove oblika A-V (Atribut – Vrednost), koji su složeni O-A-V stim što kod parova A-V nema nasleđivanja, jer ne postoji predstavljanje većeg broja objekata koji su u međusobnom odnosu pripadanja.

Procedure – su kako je ranije već naglašeno vrlo čest oblik predstavljanja znanja u FGSBT te i u FGESBT imaju odgovarajuće mesto. Veliki broj FGSBT omogućava pozivanje procedura u zaključcima pravila i iz okvira, radi izračunavanja vrednosti nekog parametra ili atributa iz okvira.

Neizvesni podaci, se pomoću FGESBT predstavljaju preko faktora izvesnosti u klauzulama pravila. Faktori izvesnosti se predstavljaju kao brojne vrednosti i označavaju stepen sigurnosti sa kojim se mogu neke činjenice uzeti kao verovatne da reše pretpostavke za koje se imaju samo potrebni uslovi. (Na primer ako je mogući raspon neizvesnosti +1, -1 tada preko pravila If A then (0,9)B znači da postoji relativno visoka izvesnost od 90% za pretpostavku B ako važi pretpostavka A..

FGESBT zasnovanih na formalnoj logici, znanje se predstavlja preko logičkih iskaza predikatskog računa. Takvi iskazi se mogu povezati logičkim operatorima: AND, OR, NOT, XOR, i td.

Osnovni nedostatak proizilazi iz činjenice da logički iskazi mogu imati samo vrednosti TAČNI i NETAČNI, što ograničava uključivanje neizvesnih činjenica koje imaju osobine koje se pozicioniraju između ovih vrednosti što uskraćuje mnoge finese u izražavanju koje egzistiraju u realnosti.

Kod ESBT FGES u koji je ugrađen određen jezik za definisanje pravila postoji mogućnost da naredbe nekog jezika šire (opšte) namene (Pascal, Prolog, LISP i dr.) budu ugrađene u pravila.

Treba naglasiti da se jezici za predstavljanje pravila u FGESBT odlikuju komplikovanom sintaksom zbog čega baze znanja tada ne poseduju dovoljnu čitljivost.

Uopšte uzevši predstavljanje znanja u FGESBT nije dovoljno struktuirano što za posledicu ima teškoće oko održavanja velikih baza znanja.

Takođe suštinski nedostatak FGESBT odnosi se na činjenicu da ne poseduje mogućnost predstavljanja dubljeg modela problema za koji je ES namenjen. Naime u skladu sa napred rečenim FGESBT ne podržavaju zaključivanje (rezonovanje) zasnovano na modelima.

d) Mehanizam zaključivanja

Kod (mehanizma) zaključivanja (rezonovanja) FGESBT koristi kako olančavanje unapred (FC- Forward Chaining) tako i (BC – Backward Chaining). Obe metode uključuju prepoznavanje uzoraka odnosno određivanje skupa pravila koja su primenljiva za trenutno stanje sistema opisano u radnoj memoriji.

64

Page 61: VEŠTAČKA INTELIGENCIJA

Kod BC zaključivanja traže se pravila koja u svojim THEN delovima imaju tvrđenja koja odgovaraju pretpostavljenom rešenju problema. Kada se naiđe na neko takvo pravilo (P1), pretraživanje baze znanja se nastavlja do THEN pravila čiji delovi podržavaju premise pravila P1. Ovaj proces se rekurzivno nastavlja sve dok se ne potvrdi pretpostavljeno rešenje ili dok se ne pokaže da pretpostavka nije tačna.

Kod FC zaključivanja polazi se od neke činjenice iz radne memorije i nastoji da se pomoću pravila čije premise odgovaraju polaznim činjenicama, u procesu pretraživanja generiše skup konfliktnih pravila.

Na ovo se dalje primenjuju rezolucije konflikata, radi određivanja jednog jedinog koje će se primeniti. Primena odabranog pravila, dovodi do promena u radnoj memoriji. Proces se nastavlja sve do nalaženja rešenja ili dok se ne pokaže da za posmatrani slučaj nema rešenja (nije opisano odgovarajućim stanjem u radnoj memoriji).

Kombinovanje simboličkog i numeričkog izračunavanja kod FGESBT vrši se preko procedura matematičkih izračunavanja i demona (sl. 5.2-3). Iskoristimo priliku da objasnimo šta se podrazumeva pod demonima.

Demoni su upravljački mehanizmi u procesu zaključivanja koji se ispoljavaju kad se za izvršavanje nekih procedura steknu uslovi za izvršavanje istih preko određenih vrednosti odgovarajućih parametara. Za spoljnjeg posmatrača ovo se nameće kao iznenadno – neočekivano – demonski, međutim upravljački mehanizmi non-stop prate stanje parametara i kada se steknu potrebni uslovi DEMONI nastupaju sasvim determinisano.

FGESBT koji su zasnovani na principima - okvirima demonske situacije se aktiviraju uporedno pre ili posle aktiviranja osnovnih vrednosti polja nekog okvira.

Mehanizam školske table je takođe jedan upravljački mehanizam koji se koristi u nekim FGESBT. On je kompleksniji od “demona”, jer koordinira više mehanizama zaključivanja u procesu pretraživanja nekih nezavisnih grupa pravila kod pristupanja zajedničkoj radnoj memoriji.

Zaključivanje sa neizvesnim podacima nije zastupljeno u svim FGESB, a i tamo gde se često radi o pojednostavljenim postupcima baziranim na pretpostavci o nezavisnosti polaznih hipoteza (što nije uvek slučaj u polaznim problemima za koje je ES namenjen).

Za procese rezonovanja sa neizvesnim podacima koriste se faktori izvesnosti. Njihovo određivanje je najosetljiviji problem koji je teško objektivizirati već u velikoj meri zavise od ličnog iskustva eksperta, a delom i od inženjera znanja.

U FGESBT se veoma retko primenjuje FUZZY PRISTUP.

U vezi mehanizama zaključivanja treba reći da FGESBT koristi jednu ili pak mali broj tehnika zaključivanja za jedan korak ciklusa zaključivanja.

65

Page 62: VEŠTAČKA INTELIGENCIJA

Ako FGESBT koristi više tehnika rezonovanja (zaključivanja) tada su neophodne meta kontrole (sl. 5.2-3) koje korisniku omogućavaju da specificira primenu tehnike prema ličnom uvidu u problem koji rešava ES.

Na slici 5.2-3 su integralno predstavljene sve napred pomenute tehnike i metode rezonovanja, pa se jednostrano može zaključiti da one u FGESBT sve idu simetrično. Međutim to nije slučaj nego su u određenom FGESBT odgovarajućeg ES zastupljene samo neke od njih koje su usaglašeno odabrane shodno nameni ES. Već u početnom periodu nastajanja FGES, a posebno u kasnijim fazama razvoja bilo je pokušaja “univerzalnih” rešenja (FG)ES ali naravno bez nekog vidnog uspeha jedino što se iz toga pozitivno izrodilo je ideja o ESBT.

Slika 2.5.3

e) Modul za spregu sa korisnikom u fazi sinteze ES

Modul za spregu FGESBT sa korisnikom u fazi ostvarivanja sinteze sadrži sledeće osnove pod modula (sl. 5.2-4):

- kreiranje baze znanja,

- ispravka (debugovanje – otklanjanje grešaka),

- kreiranje interfejsa za krajnjeg korisnika pri eksploataciji ES, i

- kontrola zaključivanja

Kreiranje baze znanja, podržano je jezicima za predstavljanje pravila, parametara i okvira, specijalizovanim editorima (kojima se olakšano proverava

MEHANIZMI ZAKLJUČIVANJA

BC FC

PREPOZNA-VANJE

UZORAKA

REZOLUCIJA KONFLIKTA

MEHANIZAM ŠKOLSKE TABLE LOGIKA

PROCEDURE

MATEMATIČKA NUMERIČKA

IZRAČUNAVANJADEMONI

REZONOVANJE SA NEIZVESNIM

PODACIMA

META KONTROLA

66

Page 63: VEŠTAČKA INTELIGENCIJA

sintaksa pravila odnosno parametara kao i mogućnost kompilacije baze znanja u neku internu formu koja je pogodnija za primenu mehanizma zaključivanja).

Programi za atkrivanje i otklanjanje grešaka (debugovanje) pružaju mogućnost provere konzistntnosti baze znanja preko praćenja sistema zaključivanja po koracima uz objašnjenja “zašto” i “kako”.

Modul za spregu sa krajnim korisnikom se realizuje preko programa za formiranje ekrana kao i pomoću (helpa) za krajnjeg korisnika.

Kontrola zaključivanja se često svodi na specifikaciju prioriteta u zaključivanju. Metode kontrole u FGESBT su prilično ograničene.

Sl. 2.5.4 Modul za spregu sa korisnikom pri sintezi ES

f) Modul za spregu sa krajnjim korisnikom ES

Moduli za spregu FGESBT sa krajnjim korisnikom ES su ograničeni okolnošću da su FGES uglavnom konsultivnog tipa i da je u eksploataciji komunikacija ES i krajnjeg korisnika najčešće tipa dijaloga: sistem postavlja

MODUL ZA SPREGU SA KORISNIKOM PRI SINTEZI ES

KREIRANJE BAZE ZNANJA

ISPRAVKA GREŠAKA

(Debug-ovanje)

KREIRANJE MODULA ZA SPREGU SA KRAJNIM

KORISNIKOM

KONTROLA ZAKLJUČIVANJA

MODUL ZA SPREGU SA KRAJNJIM KORISNIKOM

DAVANJE ODGOVORA NA PITANJE SISTEMA

OBJAŠNJENJA

”ZAŠTO?” i ”KAKO?”

67

Page 64: VEŠTAČKA INTELIGENCIJA

Sl. 2.5.5 Modul za spregu sa krajnjim korisnikom

pitanja, krajnji korisnik daje odgovore.Komunikacija između krajnjeg korisnika i ES na prirodnom jeziku je

najčešće prilično ograničena. Takođe davanje objašnjenja o procesu zaključivanja su veoma često

ograničena na odgovore za pitanje “zašto” i “kako”.Ovo objašnjenje pojačava poverenje krajnjeg korisnika u ES, iako se realno

kroz ta objašnjenja korisniku ne ostvaruje dublji uvid u ponašanju ES, a posebno kada je u pitanju dublje značenje vezano za strategije zaključivanja.

g) Prikupljanje znanja

U prikupljanju znanja polazi se od raspoloživih znanja iz domena primene ES. Mogući izvori znanja su:

- eksperti iz oblasti primene ES,

- knjige,

- rezultati merenja,

- dijagrami,

- empirijski podaci prikupljeni po raznim osnovama itd.

Zadatak inženjera znanja je da preuzme relevantno znanje iz prethodno pomenutih izvora i da preko korišćenja ESBT unese podatke i implementira znanje o kome je reč u BAZU ZNANJA.Znanje predstavljeno u bazi znanja uključuje:

- tehnologije iz domena primene,

- relevantne elemente,

- klase,

- relacije,

- svojstva,

- vrednosti,

- pravila i

- podatke neophodne za davanje objašnjenja.

Faza prikupljanja znanja je najduža od svih aktivnosti u razvoju ES.U okviru FGES tehnologije razvijeni su neki programi za formalizaciju prikupljanja znanja. Oni obično nisu integrisani u softversko okruženje FGESBT ne koriste tehnike mašinskog učenja u osvajanju novog znanja.FGES tehnologija je razvila određene praktične strategije prikupljanja znanja:

68

Page 65: VEŠTAČKA INTELIGENCIJA

- multidimenziono skaliranje

- hijerarhijsko grupisanje,

- frekventnu uslovljenost,

- repertoarske rešetke i dr.

Prethodne strategije i tehnike su razvijane kao pomoć ekspertima pri sintezi i održavanju bez pomoći inženjera znanja.

Eksperti unose osnovne koncepte, činjenice, zahteve i ostale faktore koji omogućavaju da se generiše osnovna struktura ES. Iza ove faze eksperti kroz interakciju sa programima obezbeđuju detaljnije informacije o klasama ulazno/izlaznih podataka, izuzetaka od pravila i td. Na osnovu svih ovih informacija i programima ugrađenih strategija prikupljanja znanja generiše se INICIJALNA BAZA ZNANJA. Ona se daje ekspertu na uvid, koji unosi ispravke i izmene. Ova interakcija između programa i eksperta najčešće ide kroz više iteracija.

h) Programski jezici

Razvoj programske podrške za ES se ostvarivao preko programskih jezika opšte i specijalne namene. Prvi FGES su ostvareni uz korišćenje programskih jezika opšte namene (COBOL, FORTRAN, PASCAL, C). Kasnije su primenjivani LISP i Prolog koji spadaju u programske jezike koji su namenski specijalizovani kroz njihove mogućnosti primene simboličkog procesiranja. Na taj način je obezbeđeno skraćivanje vremena realizacije ES.

Prvi FGESBT su kreirani u FORTRAN-u , LISP-u i PASCAL-u.Noviji FGEBT su urađeni u C-u mada su i neki stariji ES takođe razvijani u

C-u. Razlog za to je brzina odvijanja procesa u ES pri eksploataciji a i zbog portabilnosti sa konvencionalnih računarskih uređaja na specijalne i obrnuto.Integracija FGESBT sa drugim softverskim paketima je mala.

i) Hardverski zahtevi

FGES i FGESBT su razvijani na skoro svim tipovima računarskih sistema: konvencionalnim, LISP mašinama, a sa porastom sposobnosti personalnih računara i na njima.

LISP mašine su imale veliku memoriju, izuzetno efikasno procesiranje, ekrane velike rezolucije, rad u mreži i niz drugih mogućnosti i opcija od kojih je simboličko procesiranje posebno zna.

U tabeli 2.5.2 date su neke karakteristike najpoznatijih FGESBT. Neki od navedenih ESBT se po pojedinim elementima mogu se svrstati i u SGESBT (AQT i KEE).

69

Page 66: VEŠTAČKA INTELIGENCIJA

Jedina i najveća mana LISP mašina je visoka cena u odnosu na konvencionalne računare, a posebno u odnosu na PC računare.

Najpoznatiji FGESBT na PC-u je Personal Consultant + (proizvođač: Texas Instruments Inc).

70

Page 67: VEŠTAČKA INTELIGENCIJA

Tabela 2.5.2

FGESBT Predstavljanjeznanja

Zaključivanje MKS MKK SDJ KBZ Hardverski zahtevi

ART P, O, N,... BC, FC, ... ++ ++ + I VAX,RVK, LISP, ....

KEE P, O, N,... BC, ... ++ ++ + I VAX,RVK, LISP, ....

S.1 P, N BC, FC + ++ ++ DA VAX,RVK, RS, ...

OPS 5+ P, ... FC + + + DA RS, PC, ...

TIMM P, N, PR FC, IND + + ++ P RVK, PC, ...

Personal Consultant + P, N, ... BC, FC ++ ++ ++ DA PC

Legenda:MKS – Modul za spregu sa Korisnikom pri Sintezi ES PR – Primeri

MKK – Modul za spregu sa Krajnjim Korisnikom ES + Dobra

SDJ – Sprega sa Drugim Jezicima ++ Veoma dobra

KBZ – Kompilacija Baze Znanja I - Inkrementalno

P – Pravila; O – Okviri; N – Neizvesnost DA – Da

FC – olančavanje unapred RVK – Računari Velikih Kapaciteta

BC – Olančavanje unazad RS – Radne Stanice; PC – Personalni Računari

70

Page 68: VEŠTAČKA INTELIGENCIJA

2.6. DRUGA GENERACIJA EKSPERTSKIH SISTEMA - SGES

2.6.1 OSNOVNE KARAKTERISTIKE SGES

(Second_Generation_Expert_System)

U predstavljanju FGES uvek smo navodili određena ograničenja. Ta ograničenja su kreatori novih ES nastojali da prevaziđu kroz podizanje ekspertize ES na viši nivo, kompletnijom prezentacijom znanja, povećanjem performansi zaključivanja (rezonovanja) kao i većom dubinom u obradi problema datog domena.

Nastojanja da se pri eksploataciji krajnjem korisniku priđe kompleksnije uslovilo je detaljnije izveštavanje o toku procesa rezonovanja kao i detaljnija objašnjenja funkcionisanja ES i to na prirodnom jeziku, doduše ponekada u izvesnoj meri reduciranog kroz uputstva za popunu menija pitanjima, a i kod samih odgovora.

Potreba za podizanjem performansi ES se pojavila gotovo odmah nakon pojave prvih komercijalnih ES. Prvi koraci kreiranja kompleksnijih ES su usledili već krajem 80 i 90-tih godina 20-tog stoleća.

Kreatori ES su tada nastojali da ES budu inteligentniji od ES iz prethodnog perioda – perioda pionirskih poduhvata koji su proizveli FGES.

Nastojanje da se osvoji novi kvalitet u projektovanju ES, veoma brzo su se nagomilala mnoga komercijalna i nekomercijalna rešenja koja se u principu mogu predstaviti blok šemom prikazanom na slici 2.6.1.

Već sa blok šeme (slika 2.6.1), koja inače grubo prezentira strukturu ES ove generacije - SGES, konstatuje se da oni poseduju osobinu učenja, kao i ostvarene mogućnosti za komunikaciju sa okruženjem.

Nova saznanja u FGES-u su morali da ažuriraju ekspert ili inženjer znanja ili udruženim snagama, posebno kada se nametala potreba za usložnjavanjem mehanizama rezonovanja kao i većom dubinom u pogledu iscrpnosti rešenja. Sve te aktivnosti se u SGES izvršavaju uglavnom automatski. To i jeste suština mašinskog učenja. U/I modul u SGES omogućio je povezivanje sa drugim srodnim paketima, što je inače bila slaba strana FGES.

Dakle, SGES ima jaču globalnu strukturu, ali razlika u pojedinim blokovima nosi suštinsku razliku koja se ogleda u povećanju performansi u svim pravcima razvoja ES.

Sve prethodno je uslovilo da se domen primene pored već zastupljenih u FGES proširi na procesiranje prirodnog jezika, operativno upravljanje proizvodnim procesima, upravljanje procesima u realnom vremenu kao što su tehnološki procesi, navigacija i dr. Ove procese karakteriše manja struktuiranost znanja, vremenski promenljiva stanja, rad sa asinhronim podacima i najčešće nepouzdani ulazni podaci.

71

Page 69: VEŠTAČKA INTELIGENCIJA

Sl. 2.6.1. Opšta struktura ove generacije ES - SGES

Preuzimanjem i obradom podataka iz okruženja preko U/I modula u toku funkcionisanja ES mogu se korigovati vrednosti određenih parametara u bazi znanja.Visok stepen modularnosti u unutrašnjoj strukturi omogućuje lako kombinovanje pojedinih tehnika.

Znanje u bazi znanja može se predstaviti na više načina nego kod FGES, znatno veći broj opcija zaključivanja (rezonovanja), interakcija sa krajnjim korisnikom je šira; tu su obuhvaćena sistemska poboljšanja performansi ES koja su ugrađena u SGES.

U daljem tekstu se detaljnije izlažu karakteristike predstavljanja znanja, mehanizama zaključivanja, modula za spregu i ostali elementi koji relevantno opisuju ES druge generacije.

a) Predstavljanje znanjaTehnike predstavljanja znanja SGES omogućavaju da se znanje predstavi

kao statička in varijanta tj. da ne zavisi od konteksta problema koji se rešava pomoću ES, ali isto tako i kao dinamično znanje koje je povezano sa kontekstom problema.

Predstavljanje znanja u SGES je ostvareno sa većom dubinom nego kod FGES i na taj način je znatno proširena oblast primene u korist SGES.

Predstavljanje znanja u SGES se standardno ostvaruje preko pravila, okvira i semantičkih mreža, ali se koristi i niz novih tehnika kao što su matrice znanja, skripta, neuronske mreže i dr.

Baza znanja kod SGES je po pravilu podeljena u dva dela. U jednom je smešteno znanje koje je vezano za konkretne metode rešavanja problema iz domena primene, a drugom je dato meta znanje u kome se opisuju uputstva kada i kako se primenjuju pojedina pravila. U kreiranju baze znanja kod SGES su činjeni veliki napori vezani za sintezu velikih baza znanja koje integralno mogu predstavljati ljudsko znanje i na taj način se prevazilazi uska specifikacija domena primene ES.Sa ovakvom strukturom baze znanja ES sistemi se približavaju potencijalnim mogućnostima koji su slični potencijalima ljudskog mozga.

b) Mehanizmi i procesi zaključivanjaTehnike zaključivanja u ES druge generacije se najčešće baziraju na

adaptacijama tehnika zaključivanja – rezonovanja koje su koristile FGES.Potrebno je napomenuti da se mnogo toga inoviralo, a posebno u poslednjih

petnaestak godina.

BAZA ZNANJA

FORMALIZMI I MEHANIZAM

ZAKLJUČIVANJA

RADNA MEMORIJA

S P R E G A S A K O R I S N I K O M

KORISNIK

U/I

MODULI

U Č E N J E

OKRUŽENJE

72

Page 70: VEŠTAČKA INTELIGENCIJA

Navešćemo neke od njih koje ukazuju na prednosti nove SGES generacije ES:

- ostvarena je integracija tehnika zaključivanja,

- mehanizmi zaključivanja u SGES dinamički menjaju strategiju u skladu sa vrstom problema,

- zaključivanje u SGES nije fokusirano kao u FGES, upravo zbog prethodno navedene činjenice,

- prethodna osobina je uslovila uvođenje meta rezonovanja sa određenom hijerarhijom u redosledu primene pojedinih tehnika,

- SGES su sposobniji za dublje rezonovanje i imaju mogućnost da tu sposobnost selektivno aktiviraju u skladu sa problematikom koju rešava ES,

- U okviru SGES su se pojavili prvi distribuirani ES sa karakteristikama koje su omogućavale paralelno procesiranje,

- “duboko sprezanje” simboličkog i numeričkog izračunavanja omogućava izvođenje zaključivanja koje može imati i kvantitativni i kvalitativni karakter,

- kao i niz drugih prednosti , koje ovde ne navodimo jer bi ova lista bila preobimna.

U oblasti VI postoje tehnike i upravljački mehanizmi za distribuirano rešavanje problema (distributed solving problem). Mnogi od njih se koriste i u SGES - pomenućemo samo naprimer hijerarhijsko distribuirano procesiranje i funkcionalnu dekompoziciju. Primer ovakvog načina rešavanja problema u ES je procesiranje govora i razumevanje prirodnog jezika u SGES, po prvi put su kreirani oblici ponašanja ES koji za analog imaju viziju čije je generisanje do sada bio u mogućnosti da realizuje samo ljudski mozak.

Takođe je interesantna pojava ES za modeliranje postupaka korisnika kada postoji mogućnost izbora jedne određene situacije iz nekog šireg skupa istih. Ponekada tokovi ES nisu vezani ni za jedan određeni domen rešavanja problema već se oslanjaju na opštu teoriju izbora. Zaključivanje u ovim ES se ostvaruje na osnovu pretpostavki koje podržavaju ugrađeno teorijsko znanje u bazu znanja ES, na osnovu koga se generišu modeli, prema korisnikovim preferencijama.

Napomenućemo i da su u nekim SGES realizovane mogućnosti da se u podsistem mehanizama zaključivanja ugradi i mogućnost korišćenja zdravorazumskog rezonovanja koje je vezano za svakodnevne intelektualne aktivnosti – rezonovanja čoveka.

c) ModeliranjeTehnologija kreiranja SGES najčešće ispoljava tendenciju da se proces razvoja

sistema tretira kao proces modeliranja. Sa ovog aspekta kreiranje SGES prolazi kroz sledeće faze:

73

Page 71: VEŠTAČKA INTELIGENCIJA

- prvo se sprovode analize koje opravdavaju koncept,

- zatim ako analize podržavaju koncept modeliranja, ide se prvenstveno na modeliranje problematike ES,

- zatim se kreira model samog ES, naravno u ovom slučaju SGES,

- kao i kod FGES neophodno je izvršiti preslikavanja koja koriste odgovarajuće programske jezike i softverske alate da bi se dobila automatizovana verzija ES preko elektronskih računara.

Treba naglasiti da modeliranje SGES zahteva veću sistematičnost i viši nivo automatizma nego FGES.

Koncept modeliranja ima više šanse na uspeh ako su svi segmenti ES optimalno rešeni. Ovde treba napomenuti da je to posebno bitno za bazu znanja.

Kombinacije tehnika vezanih za baze podataka (Database Management System – DBMS) i tehnika vezanih za baze znanja (Knowligebase Management System) su značajno uvećavale mogućnosti modeliranja.

I u ovom pristupu definisanje modula za rezonovanje, odnosno zaključivanje, je bilo moguće je ostvariti i kao kvalitativno i kao kvantitativno.

Neuronske mreže omogućavaju modeliranje spoznajnih tj. kognitivnih procesa što je omogućilo da su SGES sve više koristili konekcionističke modele.

d) Moduli za spregu

Već smo i ranije naveli da modul za spregu sa korisnikom služi da korisniku obezbedi efikasan pristup znanju ugrađenom u ES, razumevanju tog znanja, davanja objašnjenja o prosleđenom rezonovanju, interaktivan rad u toku samog procesa rezonovanja i prikladan i iscrpan način prezentiranja rezultata.

Važan koncepcijski momenat vezan za modul za spregu sa korisnikom SGES je što je suštinski okrenut prema korisniku, za razliku od istih modula kod FGES, koji su pored mnogih ograničenja uglavnom okrenuti prema sistemu.Neke od važnijih karakteristika modula za spregu kod SGES su:

- korisnik ima velike olakšice u korišćenju modula za spregu sa ES; bogata grafika, interaktivni rad id.,

- korisnik može da preusmerava proces zaključivanja u toku samog funkcionisanja sistema (on line režim) koristeći prezentaciju međurezultata,

- mogućnost da korisnik može u jednom koraku da ubaci set podataka sa kojima utiče na promenu više parametara u sistemu,

- prilikom pristupa bazi znanja koriste se grafičke prezentacije, zavisnosti pojedinih elemenata u bazi, tabelarni pregledi, razni mediji,

- daleko je obimniji skup pitanja nego kod FGES; “kako “, “zašto”, “koji”, “koliko”, “zašto ne”, “ima li” i td.,

- odgovori na pitanja su struktuirani na prirodnom jeziku pri čemu je ugrađena mogućnost za razlikovanje sadašnjeg, budućeg i prošlog vremena.

74

Page 72: VEŠTAČKA INTELIGENCIJA

Sve napred navedeno čini SGES vrlo podesnim za podršku u odlučivanju (decision support). Rezultati koje daje ES i objašnjenja koja ih prate, nisu rezultat samo logike već su date i procene koje su vezane za očekivanja korisnika. Ovo je moguće u SGES jer su već u bazi znanja ugrađeni elementi znanja koji su povezani sa kontekstom problema. Naravno da to zahteva da korisnik bude u dovoljnoj meri informisan da bi njegovi zahtevi bili u sklopu konteksta i konzistentni.

SGES koji koriste neuronske mreže uvećavaju mogućnosti sprege sistema i krajnjeg korisnika posebno u delu tumačenja – objašnjavanja rezultata u kombinaciji sa učenjem.

Modul za spregu sa okruženjem takozvani U/I – ulazno izlazni modul je novina koja nije postojala u FGES zbog čega FGES nije omogućavao efikasno uvažavanje promena u radnom okruženju.

U/I modul je neophodan kada se želi kreirati ES čije funkcionisanje zavisi od okruženja, preuzima podatke neposredno iz okruženja.

Jedna od ključnih funkcija U/I modula je prilagođenje U/I informacija ostalim delovima sistema.

U/I modul obezbeđuje integraciju ES sa programskim proizvodima (opšte namene) koji su od interesa za predmetni ES, ES sa drugim ekspertnim sistemima, U/I modulima drugih sistema iz okruženja i dr.

Adekvatno struktuiranje U/I modula omogućava procesiranje U/I informacija u realnom vremenu, a samim tim podiže performanse SGES dajući im na taj način potpuno nove mogućnosti primene.

e) Rad u realnom vremenu

SGES su sa svim do sada nabrojanim performansama znatno pogodniji za primenu i funkcionisanje u realnom vremenu nego FGES.

Osnovne predispozicije koje ove ES čine podesnim za rad u realnom vremenu su:

- složenija globalna struktura,

- struktuiranje baze znanja je povoljnije, posebno zbog odvojenosti statičkog od dinamičkog znanja, i

- ostvarena je interaktivna veza sa okruženjem preko U/I modula.

U/I modul se može struktuirati tako da automatski preuzima informacije iz okruženja i transformiše ih u pogodan oblik.

Brzina rada U/I modula može da se prilagodi potrebama, odnosno brzini promena u okruženju, koje su bitne za funkcionisanje SGES u realnom vremenu. U/I modul može biti poseban podsistem koji preko mrežnog sistema integriše više ES u smislu koncepta distribuiranog procesiranja.

75

Page 73: VEŠTAČKA INTELIGENCIJA

Naravno, sve te predispozicije su u daljem razvoju ES dovele do nove generacije ES koje su za rad u realnom vremenu daleko efikasnije RTES – Real Time Expert System.

f) Prikupljanje znanja

Ranije data globalna struktura baze znanja na slici 2.5.3 je u stvari struktura koja odgovara i SGES. Iz iste sledi da ukupno znanje u bazi znanja nije vezano samo za osnovni domen ES, već znatno šire, kako bi ES funkcionalno bio kompletniji. Prikupljanje znanja SGES karakteriše daleko viši nivo automatizma nego kod prethodne generacije - FGES.

Automatska sinteza pravila i drugih elemenata baze znanja preko podsistema za mašinsko učenje je jedna od glavnih prednosti SGES u odnosu na FGES. Takođe, U/I modul za spregu sa radnim okruženjem značajno obogaćuje strukturu podataka koji se koriste u ES.

g) Mašinsko učenje

Sposobnost učenja SGES čini iste superiornijim u odnosu na FGES, jer se znatno lakše rešavaju problemi koji su vezani za nedovoljno pouzdane ulazne podatke. Primena mašinskog učenja olakšava nadgradnju i održavanje baze znanja kod složenih ES. Mašinsko učenje povećava konzistentnost celokupnog sadržaja u bazi znanja.

SGES koji su zasnovani na sprezi sa VNM – veštačke neuronske mreže, ostvaruju posebne efekte u mašinskom učenju. Jedan od posebnih efekata je da mogu da funkcionišu i pri prisustvu velikog intenziteta šuma u ulaznim podacima.

Navešćemo šta se naprimer kod SGES podrazumeva kao segment mašinskog učenja:

- generisanje novih sadržaja u bazi znanja,

- ispravka i preciziranje nepreciznih sadržaja u bazi znanja,

- generisanje opštih pojmova iz pojedinačnih,

- učenje strategija zaključivanja – rezonovanja.

Inače po analogiji sa modelima učenja koje primenjuje čovek i mašinsko učenje razlikuje sledeće modele učenja:

- induktivno učenje,

- učenje na osnovu primera,

- učenje na osnovu modela genetskih algoritama

- učenje primenom konekcionističkih modela.

Efikasnost mašinskog učenja u mnogome zavisi od izabranih algoritama ali i od dobro organizovane saradnje eksperta i inženjera znanja, posebno u fazi realizacije ES kao i za postavljanja prototipa baze znanja i ES u celini. Inače, najveći napori

76

Page 74: VEŠTAČKA INTELIGENCIJA

istraživača i projektanta ES danas su prvenstveno usmereni na realizaciju efikasnog mašinskog učenja, što za posledicu ima uspešno rešavanje i ostalih segmenata (predstavljanje znanja, rezonovanja, rezonovanja u realnom vremenu i dr.).

h) Hardverski zahtevi SGES

Razvoj SGES na početku i tokom 90-tih godina XX veka se odvijao uglavnom na konvencionalnim računarskim sistemima.

Iz ovog perioda su se ispoljile potrebe za kombinovanjem konvencionalnih sa specifičnim mašinama za postizanje posebnih efekata ili pak zbog specifičnosti domena primene ES.

Posebno se kombinovanje hardvera i softevera pokazalo plodotvorno u sprezi konvencionalnih i neuronskih računara.Neuronske mreže i neuronski računari su nezaobilazni kada se naprimer rešavaju problemi kod kojih se zahteva konkretna inteligentna interpretacija određenih faza obrade problema kao i gde se nameće potreba za paralelnim procesiranjem u složenim sistemima sa nelinearnim karakteristikama.

i) Razvoj SGES

Iako se prilično odmaklo u razvoju SGES, razlike SGES u odnosu na FGES nisu uvek uniformne u svim karakteristikama ES.

Već je pomenuto da su projektanti i istraživači posebno zaokupljeni problemom mašinskog učenja, novim modelima predstavljanja znanja i rezonovanja.Isto tako, istražuju se novi modeli za manipulaciju sa velikim bazama znanja u ES.

77

Page 75: VEŠTAČKA INTELIGENCIJA

2.6.2 SOFTVERSKO OKRUŽENJE ZA SINTEZU SGES

Uvećani zahtevi za performansama ES u periodu nastajanja SGES su i bili osnov da se pokloni posebna pažnja izgradnji softverskog okruženja za sintezu ES.

Sve to je uslovilo pojavu novih kompletnih ESBT pomenutih pod sinonimom “ljuske” odnosno “struktura ljuske”.

ESBT za SGES odnosno SGESBT su prošli kroz sva ona usavršavanja koja su nametnuta pre svega zahtevnijom ekspertizom ES, većom fleksibilnošću, većom dubinom obrade problema za koji je namenjen ES.

Analogno ranijim navodima veyanim za osnovne karakteristike ESBT i FGES i ovde je istim redosledom dat pregled osnovnih karakteristika SGESBT koji je uslovljen sa:

j) oblast primene SGESBT,

k) struktura SGESBT,

l) predstavljanje znanja u SGESBT,

m) mehanizmi zaključivanja – rezonovanja,

n) modul za spregu sa korisnikom, koji razvija ES

o) modul za spregu sa krajnjim korisnikom ES

p) U/I modul,

q) prikupljanje znanja,

r) programski jezici

s) hardverski zahtevi.

a) Oblast primene SGESBT

SGESBT se koristi za sintezu ES u već poznatim - tradicionalnim domenima za dijagnostiku, klasifikaciju, selekciju, odlučivanje, izbor i konfirmaciju, a isto tako i za specijalne (netradicionalne) oblasti primene ES kao što su supervizija i praćenje tehnoloških procesa, elektromagnetskih procesa kao i upravljanje, nadgledanje i kontrolu istih u realnom vremenu.

Važne karakteristike SGESBT obzirom na oblast primene ES koji se sintetizuju pomoću ovih alata odnose se na mogućnost uključivanja u složenije sisteme i neposredno povezivanje i komunikaciju sa postojećim konvencionalnim softverom za manipulaciju sa bazama podataka, tabelama odlučivanja i dr.

SGESBT mogu biti kreirani za opšte i specijalne namene. Jasno je da su SGESBT opšte namene daleko složeniji u svim aspektima jer

treba da obuhvate širi opseg tehničke sinteze obzirom da domen primene nije usko specificiran. Ovi ESBT zahtevaju vrhunskog inženjera znanja. SGESBT specijalne namene treba da omoguće sintezu više ES usko specijalizovanih domena primene, te su neki moduli takvih ESBT jednostavnije struktuirani. To ne znači da su oni

vremenski zavisni podaci

78

Page 76: VEŠTAČKA INTELIGENCIJA

inferiorni u odnosu na opšte ESBT, a još manje da su lako ostvarivi, jer specifičnost može da unese skupe i teško ostvarive pojedinosti.

Poseban oblik specijalizovanih ESBT su SGESBT za opis i rešavanje generičkih zadataka kao što su: klasifikacija, planiranje i dizajn.

b) Struktura SGESBT

Na slici 6.2-1 data je globalna blok struktura SGESBT.Slika 2.6.2 Opšta struktura SG-ESBT

Sa slike 2.6.2. se vidi da je u odnosu na FGESBT globalna struktura uvećana za blokove prikupljanja znanja, modeliranje i U/I modul. Ovo usložnjavanje strukture ima za posledicu veću automatizaciju procesa prikupljanja

SGESBT

PRIKUPLJANJE ZNANJA I

MODELIRANJE

MODUL ZA SPREGU SA KORISNIKOM PRILIKOM SINTEZE ES

BAZA ZNANJA

MEHANIZAM ZAKLJUČIVANJA

MODUL ZA SPREGU SA KRAJNJIM KORISNIKOM ES

U/I

MODUL

SPOLJNE PROCEDURE I DRUGI SW SISTEMI

SPOLJNI

SIGNALI

vremenski zavisni podaci

79

Page 77: VEŠTAČKA INTELIGENCIJA

znanja koja se obavlja pod kontrolom tehnika mašinskog učenja i stalne provere konzistentnosti baze znanja. Baza znanja se konsoliduje i primenom programa za modeliranje domena primene. Isto tako ona se usavršava i simulacijom zaključivanja posle svakog proširenja baze znanja.

U/I modul omogućava sprezanje SGESBT sa drugim softverskim proizvodima koji mogu biti od interesa za funkcionisanje ESBT kao i samog ES.

U/I modul omogućava povezivanje sa složenijim sistemima.Pojedini blokovi globalne strukture su sačinjeni od većeg broja

podmodula, a ovi pak sadrže ugrađene metode, algoritme i razne pomoćne programe. Svi oni čine skup tehnika, koje su hijerarhijski uređene, tako da ih inženjeri znanja lako koriste za sintezu ES.

c) Predstavljanje znanja u SGESBT

Na slici 2.6.3. je data blok šema predstavljanja znanja, na način koji je hijerarhijski uređen. Sa slike se vidi da je jedan broj blokova prisutan i u FGESBT, ali da ima i potpuno novih kao što su: objekti modeli, vremenski zavisni podaci, upravljanje i neuronske mreže. Isto tako već postojeći blokovi kod FGESBT su znatno kompleksniji zahvaljujući odgovarajućoj programskoj podršci, što će se videti i iz kratkog pregleda koji je dat u nastavku.

Slika 2.6.3 Blok šema predstavljanja znanja

Važna karakteristika SGESBT je inovirana organizacija predstavljanja znanja. U najvećem broju SGEBT vrši se dekompozicija problema na niz manjih, lakše rešivih, problema koji u bazi znanja predstavljaju module znanja. Hijerarhijska organizacija tehnike SGESBT (kako se vidi na slici 2.6.3) uslovljava sintezu osnovnih jedinica (pravila, okvira, parametara itd.) na najnižem organizacionom nivou. Primitive se koriste kao osnovne komponente i tehnike za sintezu na srednjem nivou (hipoteze, objekti, meta pravila i td.). Hijerarhijska organizacija omogućava kombinovanje primitiva i na nižim nivoima.

U SGESBT je značajna mogućnost eksplicitnog predstavljanja znanja o načinu funkcionisanja ES. Pri tome se koriste meta pravila u kombinaciji sa određenim primitivama rezonovanja i posebnim generičkim zadacima.

Na kraju prikupljanja samog znanja (opšteg znanja iz domena primene) daleko efikasnije se automatski obrađuju sa napred pomenutom organizacijom, pogotovo ako postoji mogućnost izbora najpovoljnijeg nivoa sa kojim se najbrže i najracionalnije prikuplja znanje u bazu znanja.

Ukupni efekti su pojačani korišćenjem objektno orijentisanog progra-miranja, što je često praksa u realizaciji ESBT.

PRAVILA

PREDSTAVLJANJE ZNANJA

OKVIRISEMANTIČKE

MREŽE

TROJKE

objekat-atribut-vrednost

PROCEDURE

LOGIKANEIZVESNI

PODACI

PAROVI- atribut- vrednost

objektivremenski

zavisni podacifead-back

upravljanjemodeli vnm

80

Page 78: VEŠTAČKA INTELIGENCIJA

d) Mehanizmi zaključivanja

Kod SGESBT se sinonimi “rezonovanje” za pojam “zaključivanje” koristi ravnopravno što je opravdano obzirom, pre svega, na skup tehnika i strategija koje se ugrađuju u ovaj ESBT. ESBT druge generacije podržavaju koncept otvorene arhitekture sistema. Naime, korisniku sistema se često ostavlja da sam sintetizuje mehanizam rezonovanja u skladu sa potrebama njegove aplikacije. Za ovo je opet zaslužan koncept hijerarhijske uređenosti i modularnosti koji omogućavaju korisniku da sam vrši odabir primitivnih funkcija rezonovanja kao i faktore izvesnosti za odgovarajuće programsko okruženje.

Najvažnije osobine vezane za tehnike i strategije rezonovanja unesene u ESBT druge generacije su:

- nemonotono rezonovanje,

- rezonovanje zasnovano na modelima,

- objektno orijentisano rezonovanje,

- korišćenje fuzzy koncepta, i

- kombinovanje primene ES i veštačkih neuronskih mreža.

Nemonotono rezonovanje podrazumeva uvođenje više od jedne hipoteze u proces zaključivanja. Ako se u procesu sprovođenja zaključivanja pokaže da je neka hipoteza netačna onda se odbacuju kako zaključci tako i hipoteza. Proces zaključivanja se nastavlja tako što počinje od mesta odbačene hipoteze, ali drugim putem tj. jednom od konkurentnih hipoteza. Proces zaključivanja se može realizovati simultanim ažuriranjem više skupova činjenica (više konteksta) koje podržavaju potencijalno rešenje ili rešenja u toku sprovođenja procesa zaključivanja, konteksti koji se ne mogu održati se odbacuju i tako se dolazi do konačnog zaključka (u kome postoji ili ne postoji rešenje).

Rezonovanje zasnovano na modelima omogućava SGESBT dublje rezonovanje, a isto tako obezbeđuje i veću pouzdanost. Ova vrsta zaključivanja može biti funkcionalna, simbolična i kvalitativna iz domena primene. Modeli uključuju kako logička tako i nuimerička izračunavanja. Realizacija jake sprege oba tipa izračunavanja je neophodno za dublje rezonovanje iz domena primene.

81

Page 79: VEŠTAČKA INTELIGENCIJA

Slika 2.6.4. Mehanizmi zaključivanja

Objektno orijentisano rezonovanje se zasniva na korišćenju jedinstvene strukture u kojoj su smeštene kako činjenice tako i proceduralni podaci o objektu koji je učesnik u procesu rezonovanja.

Relevantne procedure se aktiviraju slanjem odgovarajućih poruka objektu.U objektno orijentisanom rezonovanju pregledno se ostvaruje induktivno

rezonovanje preko stabla odlučivanja na osnovu skupa odabranih primera.U poslednje vreme se objektno orijentisano rezonovanje koristi i za rad

sistema u realnom vremenu, a ono tada mora da uvažava vremenski kritične trenutke u asinhronoj komunikaciji sa spoljnim autonomnim procesom i uopšte uzevši celim sistemom. Objektno orijentisano rezonovanje u realnom vremenu se koristi i za sintezu distribuiranih ES.

Pri tome ne treba shvatiti da sve što je vezano za FGESBT odbačeno. Većina tehnika rezonovanja se i dalje koristi ali sa većim ili manjim inoviranjem u skladu sa konceptima koje koristi SGESBT. Tako, rezonovanje sa nepotpunim i neizvesnim informacijama SGESBT koristi faktore izvesnosti i račun verovatnoće kao i FGESBT, ali i teoriju zamagljenih tj. nejasnih skupova tj. fuzzy prilaz.

MEHANIZMI ZAKLJUČIVANJA

BC PC

PREPOZNA-VANJE

UZORAKA

REZOLUCIJA KONFLIKTA

MEHANIZAM ŠKOLSKE

TABLE LOGIKA

KON-TEKST

MATEMAT.

NUMERIČKA

IZRAČUNA-

VANJA

DEMONI

REZONO-VANJE SA

NEIZVESNIM PODACIMA

META KONTRO-

LA

proceDU-re

REZONOVANJE ZASNOVANO NA

MODELIMA

NEMONO-TONO

REZONO-VANJE

INDUKCIJAOSTALE METODE

PARALNO ZAKLJUČIVANJE

REZONOVANJE

U REALNOM

VREMENU

REZONOVANJE ORIJENTISANO KA

OBJEKTIMA

82

Page 80: VEŠTAČKA INTELIGENCIJA

e) Modul za spregu sa korisnikom pri sintezi ES

ESBT druge generacije pružaju mnogo veće i povoljnije mogućnosti u sintezi ES no što je to bio slučaj sa ESBT prve generacije.

Kreiranje baze znanja je olakšala upotreba grafičkih modula za spregu. Razni pomoćni moduli obezbeđuju automatizovanu kompilaciju baza znanja. Debug-ovanje je podržano grafičkim prikazivanjem elemenata baze znanja i automatskom proverom sintakse istih.

Pored toga koristi se obimniji skup pitanja od strane korisnika na koji SGESBT daje adekvatne odgovore.

Napred navedene pogodnosti za korisnike SGESBT se prenose i na spregu ES sa krajnjim korisnikom.

Sl. 2.6.5 Modul za spregu sa krajnjim korisnikom

MODUL ZA SPREGU SA KORISNIKOM PRI

SINTEZI ES

KREIRANJE BAZE ZNANJA

ISPRAVKE GREŠAKA Debuging

KREIRANJE MODULA ZA SPREGU SA

KRAJNIM KORISNIKOM

KONTROLA ZAKLJUČIVA-

NJA

SIMULA-CIJA

MODELI-RANJE

PRIKUPLJANJE ZNANJA

PRIKUPLJANJE ZNANJA

NA BAZI MODELA

VEZE SA

BAZAMA PODATAKA

VEZE SA

DRUGIM U/I MODULIMA

83

Page 81: VEŠTAČKA INTELIGENCIJA

Ugrađene razne tehnike modeliranja u SGESBT olakšavaju upravljanje procesom zaključivanja što za posledicu ima mogućnost da korisnik tokom razvoja ES sam bira proces zaključivanja prema potrebama aplikacije.

Ukoliko je ES predviđen za rad u realnom vremenu tada u SGESBT mora da egzistira modul simulacije kako bi ES bio proveren pre instalacije za eksploataciju.

Usaglašeno sa svim dosada rečenim integracija SGESBT sa programima za prikupljanje znanja znatno olakšava posao eksperta i inženjera znanja.

Za sve napred nabrojano postoje realizovani ESBT koji su u komercijalnoj upotrebi (Expert SystemBuilder, Picon, Nexport Object).

PRIKUPLJANJE ZNANJA

NA BAZI MODELA

VEZE SA

BAZAMA PODATAKA

VEZE SA

DRUGIM U/I MODULIMA

PAMĆENJE I

POVEZIVANJE

PRIMERA

84

Page 82: VEŠTAČKA INTELIGENCIJA

f) Prikupljanje znanja

Iskustvo je pokazalo da je prikupljanje znanja najduža faza u kreiranju odgovarajućeg ES (slika 2.6.6.).

U SGES sistemu (sl. 2.6.1) glavna karakteristika prikupljanja znanja je paralelno odvijanje i konstituisanje podsistema mašinskog učenja.

U SGESBT učenje se odvija off-line pri prikupljanju znanja i on-line u procesu zaključivanja i proširivanja baze znanja.

Korišćenje mašinskog učenja i racionalizovanog prikupljanja znanja značajno može da ubrza sintezu prototipa ES.

Sl. 2.6.6 Prikupljanje znanja

Veća automatizacija se postiže uključivanjem raznih tehnika učenja pri prikupljanju znanja. Eksperti i inženjeri znanja mogu daleko brže da revidiraju implementirano znanje u bazu znanja a na taj način i održe konzistentnost baze znanja.

Poseban konfor za eksperte u kreiranju baze je što mogu da se obraćaju SGESBT na prirodnom jeziku.

Zahvaljujući navedenoj okolnosti eksperti mogu najpre da modeliraju konceptualni model baziran na kvalitativnoj analizi domena i taj isti model koriste za prikupljanje znanja.

SGESBT je nasledio određen broj tehnika od FGESBT ali je iste automatizovao, unapredio i proširio uz sve moćniju programsku podršku koja se nezavisno razvijala u isto vreme kada su nastajale SGES i SGESBT.

g) U/I modul

Uključivanje SGESBT u složenije aplikacije nameće potrebu za U/I modulom. U/I modul preko koga se ostvaruje veza sa drugim sistemima iz okruženja, a posebno je važan kada se ESBT koristi za sintezu upravljanja nekim autonomnim procesom iz okruženja. Na sl. 2.6.7 data je blok struktura tipičnog U/I modula SGESBT.

Slika 2.6.7 Blok struktura tipičnog U/I modula SGESBT

Sa slike 2.6.7 je jasno šta sve U/I modul omogućava. Sve te mogućnosti povećavaju kako prikupljanje znanja tako i korišćenje postojećih baza podataka i baza znanja. To su povezivanja sa aplikacijama projektovanih na drugim programskim jezicima, sa drugim operativnim sistemima itd.

U/I je neizbežan u SGESBT kada je problem vezan za sintezu ES koji treba da funkcioniše u režimu realnog vremena.

h) Modul za spregu sa krajnjim korisnikom

PRIKUPLJANJE ZNANJA

AUTOMATIZO-VANJE

TEHNIKE FGESBT

UČENJEINTELIGENTNI

EDITOR

GRAFIČKO UNOŠENJE PODATAKA

PRIRODNI JEZIK

PRIKUPLJANJE ZNANJA

NA BAZI MODELA

U/I MODUL

MODUL ZA VEZU SA DRUGIM JEZICIMA

VEZE SA

DRUGIM

BAZAMA ZNANJA

VEZE SA

BAZAMA PODATAKA

VEZE SA

DRUGIM U/I MODULIMA

PAMĆENJE I

POVEZIVANJE

PRIMERA

84

Page 83: VEŠTAČKA INTELIGENCIJA

Osnovna novina sa jakim efektom u SGESBT je interaktivna grafika. Određen manji broj FGESBT je pratila grafika, ali je ista bila daleko manje konforna za rad od grafike koju koriste SGESBT.

Uostalom SGESBT su nastali u vremenu kada je softver opšte namene, pa i grafika, u interaktivnom modu, gde su programski zahvati u objekt modu sa čime je projektovanje informatičkih i uopšte kompjuterskih aplikacija doseglo najracionalniju sintezu u smislu integrisanosti faze sistem analize i kodiranja.

Zhvaljujući prethodnom elementi znanja i grafički simboli koji se koriste u sintezi baze znanja mogu se pridružiti elementima baze znanja. Isto tako, kada se manipuliše nekim grafičkim simbolom sa ekrana (icons – ikone) odgovarajući element znanja u bazi se automatski ažurira.

Na slici 2.6.8. data je blok šema modula za spregu sa krajnjim korisnikom. Već sama blok šema ukazuje na to da u SGES modul za spregu sa krajnjim korisnikom značajno proširen u odnosu na isti u FGESBT odnosno FGES.

Komunikacija krajnjeg korisnika i FGESBT se odvija konforno na prirodnom jeziku, a objašnjenja su mnogo konkretnija jer pri njihovom generisanju u SGESBT učestvuje složeniji model zaključivanja i rešavanja problema.

Korisnik može neposredno i da širi, odnosno sužava, skup pitanja a na taj način i očekivane odgovore i tako zaobilazi irelevantne situacije u dijalogu sa sistemom.

Sl. 2.6.8 Blok šema modula za spregu sa krajnjim korisnikom

i) Programski jeziciDominantni izvorni jezici koji se koriste za projektovanje SGESBT su LISP,

Prolog i C – jezik. Međutim najveći broj SGESBT ima sopstvene jezike koji se koriste za sintezu baze znanja. Sa istih se često prave prevodi na LISP, Prolog i C radi brzih procesa obrade. Pokazalo se da je kompilacija na C najkonkurentnija u pogledu brzine procesiranja.

j) Hardverski zahtevi

SGESBT su se razvijali na mini i mikro računarima, računarima većeg kapaciteta opšte namene, LISP mašinama i mikroprocesorskim radnim stanicama.

U tabeli 2.6.2. su date karakteristike nekih SGESBT i mašine na kojima su razvijane kao i na kojima se isporučuju.

Specijalne mašine za procesiranje ESBT (npr. LISP mašine) su ozbiljna investicija, te je najveći broj SGESBT razvijen za računare opšte namene u poslednje vreme razvijani su i na odgovarajućim konfiguracijama PC-a. Zbog finansijskih razloga se često ide na kombinovano rešenje kako bi se obezbedile željene performanse.

NEIZVESNI I VIŠEZNAČNI ODGOVORI

OBJAŠNJENJA I OSTALO NA PRIRODNOM JEZIKU

MODUL ZA SPREGU SA KRAJNJIM KORISNIKOM ES

IZBOR IZ MENIJA

UNOS SA TASTATURE “ZAŠTO”? “KAKO”? “ŠTA AKO”?

GRAFIČKO UNOŠENJE

POLJA ZA DIJALOG

OSTALA PITANJA

OBJAŠNJENJE STRATEGIJE

REZONOVANJA

GRAFIKA SIMULACIJA

PAMĆENJE I

POVEZIVANJE

PRIMERA

UNOŠENJE

PODATAKA

OGRANIČA-VANJE

DIJALOGA

OBJAŠNJA-

VANJE

85

Page 84: VEŠTAČKA INTELIGENCIJA

Već smo ranije pomenuli (Tabela 2.5.1) da su neki FGESBT zapravo imali karakteristike koje bi ih mogle uvrstiti među SGESBT. Ti sistemi (ART i KEK) navedeni su i u Tabeli 2.6.1.

Tabela 2.6.1 Karakteristike nekih ESBT druge generacije SGESBT.

SGESBT Predstavljanjeznanja

Zaključivanje

MKS MKK SDJ KBZ RV DIS Hardverski zahtevi

ART P, O, N,... BC, FC, ... ++ ++ + I VAX,RVK, LISP, ....

KEE P, O, N,... BC, ... ++ ++ + I VAX,RVK, LISP, ....

Picon P, O,… BC, FC, … ++ ++ ++ D + LISP, …

Gensym G2

P, O,… BC, FC, … ++ ++ ++ DA + + VAX,RS, LISP ...

Nexpert Objekt

P, O, N,... BC, FC, … ++ ++ ++ I RS, PC, ...

Z DEST - 2

P, O, N,... BC, FC, … ++ ++ + DA VAX, ...

Legenda:MKS – Modul za spregu sa Korisnikom pri Sintezi ES BC – Olančavanje unazad

MKK – Modul za spregu sa Krajnjim Korisnikom ES PR – Primeri

SDJ – Sprega sa Drugim Jezicima + Dobra; ++ Veoma dobra

KBZ – Kompilacija Baze Znanja I - Inkrementalno

RV – Mogućnost rada u realnom vremenu DA – Da

DIS – Mogućnost sinteze DIStribuiranih ES RVK – Računari Velikih Kapaciteta

P – Pravila; O – Okviri; N – Neizvesnost RS – Radna Stanica

FC – Olančavanje unapred PC – Personalni Računari

86

Page 85: VEŠTAČKA INTELIGENCIJA

2.7. Razvoj ES

Izrada bilo kojeg ES je obiman posao jer zahteva analizu širokog opsega literature, sa vrlo velikim brojem mogućih uslova eksperimenta i rešenja. Obično se nastoji da se ES razvijen za rešavanje problema iz jedne oblasti tako postavi da postoji mogućnost primene razvijene osnove ES i na druge oblasti nauke i tehnike.

U razvoju ES se najčešće koristi deterministički pristup, koji polazi od pretpostavke da eksperti iz date oblasti imaju visoki nivo znanja, koja se odnose na probleme, koje bi trebalo rešavati. Takvi ES se nazivaju ekspertnim sistemima zasnovanim na znanju. Predstavljaju se uglavnom heuristikom koristeći pri tome znanja i iskustva eksperata stečena kroz brojne eksperimente i višegodišnja izučavanja date oblasti. ES pri tome koristi principe razmišljanja i odlučivanja kakve koriste i sami eksperti iz date oblasti pa otuda i naziv ekspertni sistem. Baza znanja ES sadrži rešenja, koja su do sada objavljena u literaturi.

Na osnovu tih informacija o pojedinim postupcima i na osnovu znanja eksperata, a u skladu sa tokom konsultacije i podacima koje krajnji korisnik unosi, ES predlaže postupak za rešavanje datog problema počevši od davanja potrebnih informacija o načinu pripreme svega što je potrebno za dati posao, prikaza potrebne aparature, postupka izvođenja datog posla, načina određivanja i načina izračunavanja rezultata sa potrebnim formulama i na kraju daje pregled literature koja se odnosi na taj specifičan problem.

Ukoliko za dati problem postoji više približno jednako pogodnih postupaka ES predlaže korisniku, optimalan postupak na osnovu odgovora koje je dao tokom konsultacije (vezano za raspoložive elemente i aparaturu) i na osnovu zaključaka eksperata koji su poređenjem pojedinih rešenja sa aspekta tačnosti, preciznosti, izvodljivosti, selektivnosti, potrebne aparature, cene koštanja postupka itd. odabrali ona rešenja, koja su po njihovom mišljenu najpovoljnija u kontekstu napred navedenog, dajući pri tome na uvid korisniku i pregled literature koja pokriva i druge postupke koji se mogu primeniti za rešavanje datog problema.

Za one probleme koji do sada nisu rešavani primenom neke od postojećih metoda ES daje neophodne informacije o načinu ispitivanja - da li je uopšte moguće dati problem rešavati primenom neke od postojećih metoda ili ne, a zatim, ako provera potvrdi mogućnost primene, ES daje sugestije o načinu njegovog rešavanja. Da bi se to postiglo i uobličilo na način koji će biti jasan, pregledan i pristupačan širokom spektru krajnjih korisnika iz date oblasti često je potrebno primeniti i po nekoliko različitih programskih alata uz odgovarajuće dorade i prilagođavanja, koja su u tom smislu neophodna.

88

Page 86: VEŠTAČKA INTELIGENCIJA

2.7.1 Definisanje ciljeva i izbor metodologije rešavanja

Radi uvida u složenost i obim poslova i uslove koji moraju biti zadovoljeni prilikom izrade ovakvog tipa ES trebalo bi istaći da je često neophodno pretražiti svu relevantnu literaturu, koja pokriva celu datu oblast kroz dugi niz godina.

Ukoliko za dati problem postoji više približno jednako pogodnih postupaka ES predlaže korisniku optimalan postupak na osnovu njegovih odgovora koje je dao prilikom konsultacije.

ES mora biti prilagođen razmišljanjima eksperata u toku rešavanja pojedinih problema iz date oblasti i u tom smislu pratiti njihovu logiku razmišljanja i odlučivanja u pojedinim koracima.

Takođe je neophodno razviti ES na takav način da bude primenljiv i lako prihvatljiv, ne za usko specijalizovanu grupu korisnika, koji rade na rešavanju samo određenih problema ili na određenim uređajima, već prilagoditi najširem broju korisnika počevši od onih koji znaju vrlo malo i o datoj oblasti i o računarima do onih koji u svojim laboratorijama svakodnevno ili vrlo često koriste određene metode u rešavanju tekućih problema.

Da bi se to postiglo i uobličilo na način koji je jasan, pregledan i pristupačan obično se, kako je već pomenuto, primenjuje i po nekoliko programskih alata uz odgovarajuće dorade i prilagođenja. Neophodno je obezbediti jednostavan princip dijaloga, potrebnu pomoć u formi teksta, dijagrama, pregleda, tabela i šema i potpunu informaciju o postupku koji se dobije kao rezultat konsultacije.

Za izradu takvog ES se, kako je već pomenuto, obično koristi deterministički pristup, koji polazi od pretpostavke dobrog poznavanja navedene problematike od strane eksperata iz date oblasti. Ekspertnim sistemom su obično obuhvaćena najbolja rešenja koja su do sada objavljena u literaturi za navedenu oblast.

Na osnovu tih informacija ES daje predlog postupka za rešavanje određenog problema počevši od uzimanja uzorka za datu analizu, pripremanja svih potrebnih rastvora, potrebne aparature, samog toka analize i celog postupka ispitivanja do izračunavanja rezultata kao i pregleda relevantne literature. Za one probleme koji do sada, prema informacijama u literaturi, nisu rešavani ES daje sugestije na koji način bi prema mišljenu eksperata trebalo pristupiti njihovom rešavanju.

89

Page 87: VEŠTAČKA INTELIGENCIJA

Prilikom izrade bilo kog ES potrebno je rukovoditi se idejom da razvijeni ES mora da zadovolji nekoliko ciljeva i to:

1) da ima visok nivo ekspertskog rezonovanja;

2) da obrađuje složene probleme iz date oblasti;

3) da bude modularan i lako proširiv;

4) da se nove informacije i znanja mogu što lakše ugraditi u ES, a da se pri tome sistem odlučivanja minimalno ili uopšte ne menja;

5) da se priprema podataka i postupaka može nesmetano i samostalno izvoditi od strane eksperata do konačne implementacije u ES, a da se prilikom nje olakša komunikacija između eksperta i sistema inženjera, kao i da se omogući brza implementacija;

6) da korisnik ne može oštetiti ES u toku konsultacije;

7) da se jednom razvijen ES vrlo lako može prevesti na druge jezike, ukoliko za to postoji interesovanje, što obično kod ES koji nude višegodišnja ekspertska znanja jeste slučaj, kao i da i njihovo inoviranje bude što jednostavnije;

8) podelu na podsisteme što je posebno važno prilikom izrade složenijih ES, a obzirom na probleme koji bi mogli nastati primenom u razvoju ili održavanju složenijih ES potrebno je razviti odgovarajući sistem koji će omogućiti da se može obezbediti relativno jednostavna podela ES na podsisteme eliminišući pri tome bilo kakve mogućnosti (nazovimo ih «lutanja») ES koja se inače mogu javiti kao problem pri klasičnom radu sa PC ljuskom za razvoj ES; potrebno je obezbediti mogućnost provere i testiranja onih podsistema ES koji su već razvijeni, iako nisu razvijeni svi njegovi delovi. Pored toga potrebno je obezbediti za sve podsisteme jedinstvenu strukturu podataka;

9) izvršiti podelu u osnovnoj postavci ES radi lakšeg snalaženja korisnika, a i zbog specifičnosti rešenja u pojedinim podsistemima, obzirom na određene razlike koje mogu postojati u elementima odlučivanja; pored toga neke strukture obuhvaćene pojedinim podsistemima se sličnije ponašaju, te se određena pravila i principi mogu koristiti za ceo taj podsistem dok za druge ne mogu;

10) u okviru podsistema obezbediti mogućnost proširenja i ažuriranja kao i mogućnost dogradnje novim podsistemima ukoliko se za to vremenom ukaže potreba.

Da bi se zadovoljili napred navedeni ciljevi, a obzirom na mogućnosti raspoloživih PC ljuski za razvoj ES, koje često imaju određena ograničenja,

90

Page 88: VEŠTAČKA INTELIGENCIJA

često je potrebno uvesti određena dodatna rešenja koja će pomoći da se zadovolje napred definisani zahtevi.

Standardno rešenje ES se zasniva na primeni PC ljuske za razvoj ES koji će se sastojati iz baze znanja, inference engine – interni sistem zaključivanja (forward - unapred i backward - unazad) i korisničkog interfejsa. Baza znanja obuhvata pravila - rules, sistem odlučivanja i parametre. sa svim informacijama o datom domenu u formi teksta, formula, tabela, grafikona i šema.

Pravila rade sa parametrima tako da je omogućena jednostavnija kontrola, testiranje i ažuriranje.

Baza znanja čini sastavni deo ES i rad sa njom je pod punom kontrolom mehanizma zaključivanja. Ona, kako je pomenuto, sadrži elemente rezultata konsultacije za sve slučajeve koje pokriva dati ES.

U izboru sadržaja parametara i elemenata postupaka postoji puna sloboda izbora teksta, formula, tabela, crteža i grafikona, koji se vrlo lako pojedinačno mogu menjati nezavisno od ostalog dela baze znanja. Ovo rešenje ima univerzalni karakter i može se primeniti za razne ES u svim oblastima gde god se ukaže potreba za takvom prezentacijom znanja.

Na osnovu istraživanja zahteva korisnika, ustanovljeno je da bi bilo veoma korisno omogućiti predstavljanje parametara u grafičkoj formi. Na taj način se omogućava grafičko predstavljanje šema, jednačina ili kompleksnijih tekstualnih formi u obliku parametara, koji se unutar sistema odlučivanja predstavljaju u simboličkoj parametarskoj formi. Naime, takvi parametri se zovu grafički parametri.

Grafičko definisanje i prikazivanje parametara omogućava da se ceo ekran može definisati kao jedan parametar, pri čemu je taj parametar moguće lako dopunjavati dodatnim informacijama ili menjati neke delove opisa ili prikaza, a da to uopšte ne utiče na sistem i formirano stablo odlučivanja, jer su unutar njih ti isti parametri definisani u simboličko-parametarskoj formi.

Na taj način je omogućeno da baza znanja, koja prema osnovnim rešenjima većine ljuski može zajedno sa svim pravilima i parametrima da zauzima svega nekoliko MB, sada može na ovaj način da zauzima i daleko više MB u formi slika i spoljnih tekstova, a da to uopšte ne remeti rad mehanizma zaključivanja niti rad sistema odlučivanja.

Tehnika programiranja mora u potpunosti biti prilagođena zahtevima baze znanja i načinu rada sistema odlučivanja kao i prezentiranju znanja sa grafičkim parametrima. Nadalje, često je potrebno u realizaciji ES primeniti olančavanje unazad i olančavanje unapred. Obe vrste olančavanja su neophodne da bi se obezbedila puna kontrola nad ES, kao i da bi se

91

Page 89: VEŠTAČKA INTELIGENCIJA

eliminisale moguće neželjene pojave koje se često javljaju pri razvoju ES (neaktiviranje ili neadekvatno aktiviranje pojedinih pravila).

Ovakav način rada takođe omogućava i predstavljanje znanja na način koji najviše odgovara ekspertima, ali i korisnicima. Na ovaj način je obezbeđena i forma prikazivanja rezultata konsultacije koja nije limitirana i koja se može lako prilagoditi željama eksperata.

Pored toga, primena grafičkih parametara obezbeđuje mogućnost da se svi parametri i elementi postupaka mogu prikazati korisnicima ES na način koji je za njih najprihvatljiviji, u formi dijaloga sa mnoštvom dopunskih informacija, napomena, dijagrama, formula i crteža koji bi trebalo da im olakšaju kako konsultaciju ES, tako i izbegavanje dvosmislenosti i nesigurnosti u odlučivanju.

Takođe, pri dobijanju predloženog postupka korisnik dobija potpunu informaciju šta i kako sprovesti, u formi koja je u potpunosti prilagođena zahtevima korisnika, a u cilju dobijanja potrebnog rešenja.

Celokupan ES trebalo bi da radi u ekranskoj formi, tj. da korisnik kroz konsultaciju, a i kasnije pri dobijanju rezultata konsultacije dobije sve potrebne informacije na ekranu pregledno i sa jasno uočljivim elementima. Krajnjim korisnicima, ukoliko žele da dodatno štampaju rezultate, ES trebalo bi da obezbedi i tu mogućnost.

Pored toga većina današnjih PC ljuski za razvoj ES pružaju mogućnost povezivanja sa raznim programima kao i raznim bazama podataka što daje proširene mogućnosti konsultovanja kao i obima arhiviranog znanja, ali i dopunjavanja tih baza podataka novim rešenjima. Na taj način su otvorene mogućnosti za razvoj ES koji mogu da uče tzv. učećih ES što predstavlja i jedan od vodećih ciljeva razvoja veštačke inteligencije danas u svetu.

92

Page 90: VEŠTAČKA INTELIGENCIJA

2.8. PRIMENA EKSPERTNIH SISTEMA

ES se su našli svoje, moglo bi se reći značajno, mesto u svim oblastima nauke, tehnike, tehnologije, medicine, za potrebe Interneta kao i u svim oblastima života. U većoj meri su počeli da se razvijaju početkom devedesetih godina da bi danas njihov broj bio na zavidnom nivou. ES su zajedno sa robotikom i neuronskim mrežama glavna oblast primene veštačke inteligencije u svetu.

Broj radova iz ove oblasti poslednjih godina kontinuirano raste i postoji tendencija da postane oblast veštačke inteligencije sa najin-tenzivnijim razvojem.

Najčešća primena ekspertnih sistema se može naći u sledećim oblastima :

• Upravljanje industrijskim procesima• Praćenje rada medicinskih uredjaja• Autonomno kretanje vozila• Automatski piloti• Upravljanje satelitima• Operativno i taktičko upravljanje vojnim operacijama na

bojnom polju• Analize složenih finansijskih transakcija• Naftnim platformama• Za detekciju bušotina nafte

Međutim u savremenim uslovima života i poslovanja gotovo da nema oblasti u kojima se ne mogu koristiti ekspertni sistemi.

Najnovija istraživanja u domenu vještačke inteligencije nastoje da sistemi mašinskog učenja potrebno znanje stiču učenjem iz primjera, automatski, iz raspolozivih izvora znanja. U istraživanjima i razvoju sistema za pretraživanje informacija danas su prisutne mnoge tehnike poboljšavanja tradicionalnog pristupa.

U posljednje vrijeme, razvojem informacionh tehnologija, moguće je sve lakše formirati informacione kolekcije i organizovati njihovo skladištenje i čuvanje i određenoj formi. Iz tog razloga čovjeku je potreban sve veći napor da bi došao do relevantne informacije, naročito u tekstualnim bazama podataka. Jedan od pokazatelja je i činjenica što je za postizanje boljih rezultata pretraživanja neophodno da korisnik posjeduje razna dodatna znanja što iziskuje veliki intelektualni napor.

U procesu pretraživanja informacija i baze podataka, korisnik svoju potrebu za informacijom iskazuje upitom tj. Skupom termina koji prestavlja

93

Page 91: VEŠTAČKA INTELIGENCIJA

semantiku te potrebe. Korisnik formuliše svoj zahtjev pomoću termina na način koji određuje sistem za pretraživanje informacija, putem kojeg korisnik traži informacije koje ispunjavaju određene uslove tj. ključne pojmove koje definišu njegov problem.

Nadalje u procesu pretraživanja u sistemu za pretraživanje informacija, informacije se pronalaze u bazi podataka na osnovu opisa dokumenta koji je formiran pri ažuriranju baze podataka te samo pretraživanje u mnogome zavisi od kavliteta tog opisa. Opis dokumenta odnosno njegova karakteristika dobijena je dodjeljivanjem termina iz teksta dokumenta, dodjeljivanjem termina iz samog teksta dokumenta ili dodjeljivanjem termina iz kontrolisanog riječnika odrednica u procesu predmetnog označavanja tj. indeksiranja.

Najčešći problem korisnika koji se javljaju pri formulisanju upita u sistemu za pretraživanje informacija proizilaze iz nedostajućih znanja poput :

• poznavanja i tačne primjene komandi jezika upita• odgovarajućeg izbora Bulovih i drugih operatora• terminološke kompatibilnosti korisnikovog upita i opisa dokumenta

Prva dva problema je moguće otkloniti jer se radi o sintaksnim teškoćama i proceduralnom znanju vezanom za konkretni sistem za pretraživanje. Dok je glavni uzrok niskim performansama sistema za pretraživanje informacija, problem opisivanja, kako predmeta nekog dokumenta tako i upita, jer su ovi problemi semantičke prirode. Ove probleme takođe povećava i nekonzistentnost indeksera u izboru termina koji se dodjeljuju dokumentima.

Zbog potrebe poznavanja jezika indeksiranja i postupaka za formulisanje upita u radu sa sistemom za pretraživanje informacija, korisniku je neophodna pomoć iskusnijeg stručnjaka za pretraživanje informacija. Potreba za ovakvim stručnjacima naročito je vidljiva kod korištenja online Sistema za pretraživanje informacija i pri istivremenom pretraživanju više baza podataka.

Ovakvi specijalisti za pojedine grupe baza podataka i predmetne oblasti su nezaobilazni posrednici za manje iskusne korisnike i one koji se povremeno služe ovakvim sistemima. Ovakvi posrednici koji često rade sa korisnicima vrše prevođenje korisničkih zahtjeva odnosno formulisanje upita prema bazi podataka sa ciljem dobijanja najboljeg odgovora za korisnika.

Većina ekspertnih sistema za pretraživanje informacija obuhvata uobičajene komponente sa rasporedom određenih klasa znanja posrednika u sistemu za pretraživanje informacija koji su ugrađeni u više modula :

94

Page 92: VEŠTAČKA INTELIGENCIJA

• baze znanja koje obuhvataju najmanje dvije vrste znanja i to : znanje eksperta za određeni domen i znanje o strategijama i pravilima za izbor temina i formulisanje upita ;

• mehanizam zaključivanja ili rezonovanja koji omogućava sistemu da iz baze znanja pronađe relevantno znanje i primjeni ga u rješavanje problema ;

• baza činjenica koja opisuje tekući status problema koji se rješava a koje uglavnom daje korisnik u interakciji sa sistemom ;

• korisnički interfejs koji omogućava komunikaciju tj. interakciju sistema sa korisnikom kojim je često obuhvaćen i modul za obrazlaganje preporuka ili zaključaka sistema.

U r4aznim oblastima nauke, tehnike i tehnologije ES se efikasno mogu primeniti za planiranje eksperimenata, razvoj analitičkih metoda, odlučivanje, predviđanje struktura materijala ili jedinjenja, sintezu istih, medicinski, biološki, biohemijski i hemijski inžinjering. ES se posebno u velikoj meri razvijaju i primenjuju u oblasti analitike. Zbog širokog opsega mogućnosti i kompleksnosti polja koja se odnose na izbor optimalnih eksperimentalnih uslova rada uvođenje pogodnog ES može značajno da pomogne korisniku.

Cilj je obezbediti takav ES koji se može nesmetano koristiti u medicinskoj, biološkoj, tehnološkoj ili hemijskoj laboratoriji i koji u tom okruženju može da pomogne u izboru opreme, optimizaciji fizičkih parametara, izboru sastava reakcionih smeša, optimizaciji metoda, odlučivanju, analizi reproduktivnosti, testiranju itd.

Uspeh i ograničenja svakog pojedinog ES u bilo kojoj oblasti primene su usko povezani sa mogućnošću provere ispravnosti rada ES (koliko se odluke i predlozi ES slažu sa mišljenjem eksperata), sa mogućnošću popravke i dopune ES u toku razvoja i testiranja, kao i u toku kasnije primene. Neophodno je da ES zadovolje potrebne evaluacione kriterijume, kao i da se uočeni problemi i manjkavosti mogu otkloniti bez većih sistemskih zahvata ili izmene strukture podataka.

ES u praksi uglavnom pomažu u rešavanju usko specijalizovanih problema, evaluaciji i optimizaciji eksperimenata ili u rešavanju grupe problema koji se mogu rešavati primenom određenih tehnika. Pomenućemo samo neke od važnijih ES razvijenih u raznim oblastima.

Za tumačenje strukture nepoznatih jedinjenja na osnovu dobijenih spektara razvijeni Dendral, Congen, C13, Metadendral i drugi.

95

Page 93: VEŠTAČKA INTELIGENCIJA

Za kvalitativnu analizu organskih supstanci na osnovu analize raspoloživih spektralnih krivih razvijeni su Scannet, Seac i drugi.

Za podešavanje i optimizaciju parametara razvijen je TQMS TUNE

Za razvoj postupaka za upoređenje međulaboratorijskih nalaza razvijen je EXPIC.

U poslednje vreme se ES sve više primenjuju i u oblasti logistike, marketinga i menadžmenta uopšte. U tom smislu se sve više primenjuju u formi takozvane hipermedije gde se kombinuju sa tekstom, zvukom, grafikom, raznim video zapisima itd. Jedan od najvažnijih logističkih sistema za podršku NATO sangama tzv. CALC je zasnovan na primeni hipermedije.

Slika 2.8.1. Moguća struktura hipermedije

2.8.1. Primer Ekspertnog sistema MYCIN

MYCIN je ekspertni sistem stvoren između 1972. i 1974. godine da bi pomogao ljekarima u određivanju dijagnoza bolesnika sa infekcijom krvi. Ova osnovna verzija je sadržala oko 200 pravila, dopunjena je između 1975. i 1978. godine sa još 300 dodatnih pravila koji su se ticali uglavnom Meningitisa. Ovaj ekspertni sistem je bio detaljno proučavan i komentarisan zbog važnosti domena kojim se bavio a i zbog dobrih rezultata koje je dao prilikom utvrđivanja dijagnoza i propisivanja terapije.

Prva verzija ovog sistema dala je dobre rezultate u oblasti medicine. 1974. godine 15 slučajeva bakterijske infekcije je bilo podvrgnuto sa jedne strane ispitivanjipa preko MYCIN-a, a sa druge strane ispitivanjima pet

Video zapis

Zvuk

Tekst

Grafika

Grafika

Tekst

Ekspertni sistem

Tekst

96

Page 94: VEŠTAČKA INTELIGENCIJA

stučnjaka iz te iste oblasti. U 11 slučajeva, od mogućih 15, ekspertni sistem MYCIN je dao istu terapiju kao i stručnjaci iz ove oblasti. U drugih četiri slučaja ni eksperti se nisu mogli složiti oko propisivanja tačne terapije. Popularnosti ovog programa je doprinijo i interfejs koji je omogućavao jednostavnu komunikaciju sa korisnikom.

Sistem MYCIN je u stanju da objasni način svog razmišljanja ali i takođe da objasni zašto postavlja neko pitanje tj. na koji način odgovor korisnika usmjeravaju njegovo razmišljanje, ovo je ujedno i suština ekspertnih sistema.

Ljudi u suštini teško prihvataju savjete drugih osoba, pa je takav slučaj i sa savjetima koje daju mašine. Doktor će prihvatiti dijagnozu ekspertnog sistema samo ako ga on ubjedi u ispravnost svojih zaključaka tj. u funkcionisanje svog rasuđivanja. To znači da se ekspertni sistemi uspješno mogu integrisati u ljdsko društvo jedino ako budu u stanju da uspostave pravi dialog sa svojim korisnikom.

2.9. ZAKLJUČAK

Ekspertni sistemi su primjenjena vještačka inteligencija koji su napustili istraživačke labaratorije da bi ušli u poslovni svijet i našli konkretnu primjenu. Mnogobrojni ekspertni sistemi su sa uspjehom bili postavljeni u razna preduzeća i rješili su konkretne probleme. Ali velike poteškoće su se pojavile kada se pokušalo izvući iz stručnjaka njihovo znanje a zatim ga formalizovati. Te poteškoće su znakovi unutrašnje slabosti ekspertnih sistema.

Sedamdesetih godina, kod psihologa i istraživača u domenu vještačke inteligencuje problem koji se javljao prilikom osmišljavanja ekspertnih sistema je bio u tome kako struktuirati ljudska znanja u simbolička pravila koja se teško tumače i indentifikuju. Vremenom se ovaj problem prevazišao pa se sada kreiraju modeli znanja koji su dosta savršeniji, jer ne koriste simboličke hipoteze.

Nije isključeno da će tehnike koje dolaze u budućnosti koristiti u isto vrijeme ekspertne sisteme i druge tehnike kao neuronske mreže bazirane prije na adaptativnim hipotezama a ne na simboličkim (hibridni sistemi).

Međutim nije paradoksalno reći da , ako su se ekspertni sistemi razvili u preduzećima oni ipak nisu našli praktičnu primjenu u tim istim preduzećima iz razloga što su ekspertni sistemi još uvjek predmet ljudske radoznalosti ili izraz intelektualnog prestiža nekoliko individua usamljenih u svom radu radeći često u raskoraku sa svojim nadređenim.

97

Page 95: VEŠTAČKA INTELIGENCIJA

Uopšte gledano preduzeća osciliraju između jednostavnog odbacivanja ekspertnih sistema propraćenih primjedbama da trba upravljati investicijama, ili preuzimanjem rizika određujući ekspertni sistem kao osnovno sredstvo njihove buduće kompetentnosti. Na primjer u Francuskoj komesierijat za atomsku energiju, državni institut za agronomska istraživanja, bankarska kompanija itd. ustvari su pioniri u primjeni ekspertnih sistema u svom poslovanju koji su prihvatili ekspertne sisteme kao osnovno sredstvo svoga poslovanja.

Jedan od razloga odbacivanja inplantacije ekspertnih sistema počiva u velikoj mjeri u nedovoljnoj obavještenosti o potencijalima ove nove tehnologije. Nemogućnost pronalaženja adekvatnih odgovora na pitanja : Šta uratiti? Zašto uratiti? Kako uraditi? Doprinosi da se većina preduzeća odriče upotrebe ekspertnih sistema.

Međutim preduzeća treba da budu svijesna koji je interes i značaj upotrebe ekspertnih sistema kao proizvoda ili sredstva u industriskoj proizvodnji. On im može pomoći da odrede svoje potrebe, preciziraju probleme, definišu rješenja, izaberu dobavljače, učestvuju i pomognu u odabiru kadrova, analiziranju postignutih rezultata itd.

98

Page 96: VEŠTAČKA INTELIGENCIJA

3. NEURONSKE MREŽE

3.1 Uvodna razmatranja

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 (Artifical Neural Network - ANN) su po strukturi, funkciji i obradi informacija slične biološkim neuronskim mrežama, ali se radi o veštačkim tvorevinama.

Ključni elemenat ove vrste veštačke inteligencije je specifična struktura obrade informacija sastavljena od velikog broja međusobno povezanih elemenata obrade (neurona) koji zajednički rade na rješavanju problema. Te jedinice su povezane komunikacionim kanalima (vezama). Neuronska mreža u računarskim naukama predstavlja veoma povezanu mrežu elemenata koji obrađuju podatke. Podaci koji se ovim kanalima razmenjuju su obično numerički. Neuroni obrađuju samo svoje lokalne podatke i ulaze koje primaju preko konekcije .

Važna osobina neuronskih mreža je njihova sposobnost da uče na ograničenom skupu primjera te su zbog toga sposobne da izađu na kraj sa problemima koji se tradicionalnim pristupom teško rješavaju. 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.

U ovom tekstu, kada se govori o neuronskim mrežama, misli se prvenstveno na “veštačke neuronske mreže” (engleski termin Artificial Neural Networks, skraćeno ANN), zbog toga što se uglavnom govori o modelima neuronskih mreža (skraćeno NM), realizovanim na računarima. U stručnoj literaturi, nije redak slučaj da se izostavlja reč “veštačke” iako se misli na njih. 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

99

Page 97: VEŠTAČKA INTELIGENCIJA

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 je proizašla iz želje da se konstruiše veštački sistem sposoban za prefinjeno, “inteligentno”, obrađuje informacije ili vrši određena izračunavanja na sličan način kao što to ljudski mozak rutinski izvodi. Na određen način, NM nam pružaju mogućnost i za bolje razumevanje rada ljudskog mozga.

Veštačke neuronske mreže su skupovi odgovarajućih modela (matematičkih ili nematematičkih) 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 karakterišu odgovarajući propusni (težinski) koeficijenti, koji su po ulozi slični 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 višestrukim ponavljanjem podešavajući pritom propusne (težinske) koeficijente veza (sinapse). Ove veze memorišu znanje neophodno za kasnije rešavanje specifičnih problema.

Većina NM ima odgovarajuću vrstu pravila za “obučavanje”, koja omogućavaju da 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 posle prikupljanja trening podataka poseduju sposobnost za generalizaciju.

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) koji obrađuju podatke paralelno. Vrste funkcija koje su NM u stanju da obrađuju određene su strukturom mreže, kao i jačinom konekcije, a obrada podataka se izvodi u neuronima. Svaki elemenat operiše samo sa lokalnim informacijama. Pored toga svaki elemenat radi asinhronizovano, tj. 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štiju upotrebu (aplikacije). Danas se NM primenjuju za rešavanje sve većeg broja svakodnevnih problema sa veoma velikom kompleksnošću. U programiranju se mogu koristiti kao “generator” (engine), tj. odgovarajući programski sistemi, koji

100

Page 98: VEŠTAČKA INTELIGENCIJA

je u stanju da vrše različita prepoznavanja i klasifikacije i koji imaju sposobnost da izvrše generalizaciju prilikom odlučivanja pri nepreciznim ulaznim podacima.

NM nude idealna rešenja za raznovrsno klasifikovanje problema, kao što je naprimer prevođenje teksta u govor, prepoznavanje slova, itd.. NM često uspešno rešavaju 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). One takođe pokazuju dobre rezultate prilikom predviđanja i modeliranja 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če.Zbog toga su one često velika pomoć ljudima koji rešavaju složene probleme.

Sličnost između bioloških i veštačkih neurona

Asocijativno mišljenje i prepoznavanje kod čoveka se zasniva na poređenju ranije doživljenih i upamćenih situacija sa onim situacijama koje su trenutno aktuelne sa ciljem da se novoj, na onovu sličnosti pridruži (socira) neka od ranije poznatih situacija i da se time donese zaključak koji je ranije u takvoj situaciji uspešno proveren.

Veštačke neuronske mreže su u stanju da na određen način funkcionišu prema navedenim principima asocijativnog razmišljanja i prepoznavanja.

Oblik (pattern) je kao kategorija od osnovnog značaja u izučavanju asocijativnog razmišljanja. On predstavlja skup podataka koji opisuju neku situaciju, događaj ili pojavu. Metode prepoznavanja oblika su se razvile kao pokušaj da se matematički formulišu i računski realizuju principi asocijativnog zaključivanja koji su svojstveni čovekovom mišljenju.

Mreža (network) predstavlja skup entiteta koji međusobno komuniciraju. Ukoliko dva entiteta mogu međusobno da komuniciraju kaže se da između njih postoji veza. Neuronska mreža predstavlja mrežu čiji su entiteti procesorske jedinice koje podsećaju na nervni sistem čoveka.

Neuronske mreže predstavljaju skup metoda zasnovanih na samo-organizovanim sistemima koji imaju mogućnost pamćenja i namenskog prilagođavanja promenama okoline. Pri tome se primenjuju metode kojima se oponaša vladanje živih bića, a osnova je matematički opis samo-organizirajućih procesa neurona u mozgu živih bića. To su brojni primeri veštačkih neuronskih mreža.

Druga grupa AI – Artificial Inteligency - algoritama se zasniva na prenosu ljudskog znanja u računarski program. Pri tome se sistem opisuje simbolima (modelira se ), a znanje o ponašanju se formalizira različitim matematičkim pravilima. Ove metode imaju zadatak da se postojeće ljudsko znanje pretvori u inteligentni računarski program pomoću koga se oponaša ljudsko ponašanje i

101

Page 99: VEŠTAČKA INTELIGENCIJA

zaključivanje, ali veoma često, a posebno u ranijim varijantama, bez sposobnosti samostalnog učenja novog znanja.

Potrebno je istaći da su posebno istaknutu primenu za vođenje procesa dobile metode koje se zasnivaju na teoriji fuzzy logike. Osnova ovih metoda je matematički model sistema opisanog jezičnim varijablama (opis ljudskog govora) i fuzzy pravila zaključivanja.

Daljim razvojem područja AI dolazi do povezivanja različitih modela inteligentnih sistema i njihove specijalizacije za pojedina područja. Veštačke neuronske mreže su razvijane sa namerom da se odgovarajućim veštačkim modelom zameni biološki živčani sistem. Matematički model vladanja neurona je opisan 1943 u radu McCulloch i Pitts, što se može smatrati početkom novog tehničkog i naučnog područja pod nazivom veštačka inteligencija.

Sa njim je započet razvoj različitih fizičkih i hemijskih modela veštačkih neurona i njihovog povezivanja u neuronske mreže. U praksi se primenjuju neuroni izvedeni iz elektroničkih sklopova, elektroničkooptički neuroni, mikrohemijski reaktori, i enzimski neuroni na čvrstoj podlozi. Za mnoge namene su posebno prikladni modelineuronskih mreža u obliku računarskih programa.

Biološke neuronske mreže sadrže izuzetno veliki broj živčanih stanica, tako se procenjuje da je broj neurona u mozgu čoveka reda veličine broja zvezda u našoj galaksiji, oko 1012. Poznate veštačke neuronske mreže nemaju niti približno tako veliki broj neurona. Na sledećoj slici je dat grafički prikaz osnovnih delova biološkog neurona (nervne - živčane stanice). Ulazni signali (električni podražaji) se prenose iz okoline u stanicu pomoću dendrita. Dendriti su protoplazmatski nastavci živčane stanice (neurona) preko kojih stanica prima nadražaje (signale) iz okoline, odnosno okolnih živčanih stanica. U telu živčane stanice (somi) dolazi do akumulacije ukupnog nadražaja. Jezgro živčane stanice sadrži genetski materijal potreban za sintezu proteina i razmnožavanje stanice.

Zavisno od ukupnog intenziteta nadražaja i praga osetljivosti, živčana stanica obnavlja ili zadržava električni naboj. Pražnjenje električnog naboja u okolinu se sprovodi kroz akson. Akson je izdanak tela živčane stanice kojim se nadražaji (signali) prenose do okolnih stanica. Na krajevima se akson grana u izdanke, koji se povezuju sa (nervnim – živčanim) stanicama u okolini ili mišićnim stanicama za pokretanje motorne aktivnosti (izvršni sistem upravljanja). U celom ovom procesu je najvažniji mehanizam povezivanja (umrežavanja) putem mostova (sinapsa) između izdanaka aksona i dendrita. Procenjuje se da je broj mogućih veza između stanica za oko 3 reda veličine veći od samog broja neurona.

Tačan način na koji funkcioniše ljudski mozak još uvek je delom misterija. I pored toga neki aspekti ovog čudnovatog procesora su poznati. Osnovni elemenat ljudskog mozga je specifičan tip ćelija za koje se zna da su nam obezbedile dar pamćenja, razmišljanja i primenu prethodnih iskustava na svaku našu akciju. Ove ćelije kojih kako je već rečeno u našem mozgu ima oko 100 milijardi poznate su

102

Page 100: VEŠTAČKA INTELIGENCIJA

kao neuroni. Svaki neuron je specijalizovana ćelija sposobna da prenosi elektrohemijski signal.

Ćelija se sastoji od tela (cell body) koje u svom centru poseduje jezgro (nucleus), razgranate ulazne strukture (dendrites) i izlaznu osu (axon). Akson jedne ćelije je povezan sa dendronom druge. Sinapsa je funkcionalni međumembranski kontakt aksona jednog neurona i dendrona drugog. Kada je neuron aktiviran, on šalje elektrohemijski signal preko aksona ka drugoj ćeliji. Signal može biti promenjen od strane sinapse koja je sposobna da poveća ili smanji snagu veze i na taj način uzrokuje aktiviranje druge ćelije ili njenu ukočenost. Na slici 3.1. je dat primer dva neurona i veze između njih :

Slika 3.1. Neuroni i neuronske veze

Složenost bioloških neurona je u velikoj meri izuzeta kod modeliranja veštačkog neurona. On se sastoji od ulaza (Sinapse kod biološskih neurona) koji se multipiliciraju pomoću težina (pojačavanje signala), a zatim izračunavaju pomoću matematičke funkcije, koja određuje aktivaciju neurona, te se na kraju izračunava izlaz veštačkog neurona. Veštačka neuronska mreža koristi veštačke neurone kako bi obrađivala informacije.

U tabeli 3.1. je dat pregled veza između bioloških i veštačkih neuronskih mreža :

Biološka mreža Veštačka mreža

Telo Čvor

Dendroni Ulaz

Akson Izlaz

Sinapsa Težina

Tabela 3.1. Veze između veštačkih i bioloških neuronskih mreža

103

Page 101: VEŠTAČKA INTELIGENCIJA

3.3. Istorijat neuronskih mrežaTežnja za stvaranjem inteligentnih mašina nije težnja čoveka da stvori imitaciju

samog sebe. Ovo prema današnjim prognozama još neko duže vreme neće biti moguće. Činjenica je da savremene mašine poseduju sposobnost smeštanja ogromnih količina podataka i izračunavanja kompleksnih matematičkih operacija bez ikakve greške, dok su sa druge strane, čak i super-računari inferiorni u odnosu na ljude u rešavanju nejasnih i slabo definisanih problema.

Nervni sistem čoveka radi na frekvenciji od približno 100 Hz. Znajući takt frekvencije današnjih PC računara lako je aproksimirati da je kašnjenje signala kroz komponente kod savremenog PC računara reda veličine ns.

Kod nervnog sistema čoveka u pitanju su ms. Postavlja se pitanje zašto je onda nervni sistem čoveka efikasniji od mašine kada su u pitanju procesi kao što je interpretacija vizuelnih scena. Odgovor leži u činjenici da se rad nervnog sistema čoveka bazira na paralelnom radu ogromnog broja jednostavnih procesnih jedinica - neurona.

Podaci se ne čuvaju lokalno kao kod računara već distribuirano, na više mesta, tako da otkaz jednog neurona ne znači i gubitak informacije. Navedene razlike ne samo što ukazuju na razloge zbog kojih “kopija čoveka” neće uskoro biti stvorena, već i na razloge zbog kojih su ljudi jako zainteresovani za razvoj novih biološki inspirisanih inteligentnih sistema.

Članak Warrena McCullocha i Waltera Pittsa “Logički račun ideja svojstvenih nervnoj aktivnosti” iz 1943. godine u kome su predstavljeni modeli neuronskih mreža zasnovani na formalnoj logici i modernim shvatanjima neurologije označio je početak ere neuro-računarstva. Ovi modeli mreža bili su zasnovani na jednostavnim neuronima, binarnim uređajima sa fiksnim pragom.

Knjiga Donalda Hebb-a iz 1949. godine “The Organization of behaviour” (Organizacija ponašanja) iznosi ideju da je klasično psihološko, u stvari uslovljeno ponašanje, koje je prisutno kod svih životinja, jer je ono bazirano na svojstvima neurona.

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, nazvane perceptron. Perceptron je imao tri sloja. Unutrašnji sloj je poznat kao “vezivni sloj”. Ovaj sistem je bio u stanju da poveže ili pridruži slučajnu jedinicu ili izlaz datom ulazu. Kod ovog računara su mogli da se uspešno podešavaju težinski koeficijenti, međutim ovaj računar nije postigao značajnije praktične rezultate.

107

Page 102: VEŠTAČKA INTELIGENCIJA

Tek krajem pedesetih godina (1957-1958), Frank Rosenblatt i Charles Wightman sa svojim saradnicima su uspeli da razviju računar pod nazivom Mark I za koji se može reći da je predstavljao prvi ozbiljniji neuroračunar.

Nešto posle Rosenblatta, B. 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 je napisano nekoliko knjiga i osnovano nekoliko kompanija koje su se bavile neuroračunarima. Međutim, sredinom 1960-tih godina je došlo do zastoja zbog dva ozbiljna problema. Kao prvo, većina istraživača je prišla problemu sa kvalitativne i eksperimentalne strane, zanemarujući pri tome analitički pristup.

Sa druge strane, početni entuzijazam je bio toliko jak da su uveliko publikovana predviđanja da čovečanstvo od veštačkog mozga deli samo nekoliko godina istraživanja. Ovakav zanos je kasnije u velikoj meri diskreditovao ovu oblast i odbio veliki broj potencijalnih istraživača. Mnogi od ovih ljudi su napustili neuroračunarstvo i prešli u srodna oblasti istraživanja.

Sredinom 1960-ih godina je pristup rešavanju problema neuronskih mreža okarakterisan kao pogrešan, nakon što su Marvin Minsky i Seyour Papert u knjizi “Perceptrons” objavili matematički dokaz da jednoslojna neuronska mreža “Perceptron” ne može da nauči funkciju XOR, uz iznošenje pretpostavke da taj problem neće biti prevaziđen čak ni dodavanjem više slojeva neurona.

Tačno je da neuron nije u stanju da izvede pomenutu funkciju, ali za već samo malo složeniju mrežu od nekoliko neurona, taj problem predstavlja veoma jednostavan zadatak. Njihov dokaz je značajno diskreditovao istraživanja neuronskih mreža, a finansiranja planirana za istrživanja u toj oblasti su preusmerena na druge oblasti veštačke inteligencije.

U periodu između 1967. do 1982. godine su se pojavili istraživači Teuvo Kohonen, Kunihiko Fukushima i Stephnen Grossberg koji su dali značajan doprinos razvoju ove oblasti. Naročito se istakao Teuvo Kohonen, koji je otkrio nekoliko tipova neuronskih mreža, koje su po njemu i dobile naziv. U ovom periodu se pojavio i algoritam za backpropagation.

U radu na ovom algoritmu su se posebno istakli sledeći načunici: Amari (1967.) koji je dodao unutrašnje slojeve perceptronskoj mreži, Bryson i Ho (1969.) koji su razvili algoritam sličan backpropagation algoritmu, Werbos (1974) koji je nezavisno od prethodnika razvio backpropagation algoritam, kao i Parker (1982) koji je unapredio backpropagation algoritam.

Početkom 80-ih, američka vojna agencija DARPA (Agencija za odbrambene istraživačke projekte) je postala zainteresovana za NM i finansiranja su ponovo započela.

108

Page 103: VEŠTAČKA INTELIGENCIJA

Sredinom 80-tih, poznati fizičar John Hopfield je dao 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 je u knjizi “Neural Networks and Fuzzy Systems” dokazao da neuronske mreže i fuzzy logika mogu da opisuju isti skup problema i na taj način otvario novu oblast koja se naziva soft computing ili fuzzy neural networks.

Godine 1986 Rumenel, Hinton i Williams su dokazali veliku promenljivost i potencijal backpropagation algoritma. Već početkom 90-tih, neuronske mreže i neuro računarstvo su uvedene kao predmet na nekoliko elitnih univerziteta u SAD, dok se danas neuronske mreže gotovo mogu sresti na svim univerzitetima, kao i u velikoj primeni u praksi.

Iako su Neuronske mreže imale neobičnu istoriju, one su još uvek u ranoj fazi razvoja. Možda se tek sada može reći da smo na kraju početka. Danas neuronske mreže nalaze veoma širok spektar primena u različitim praktičnim oblastima u preko 80% firmi u SAD.

3.4. Osnovi neuronskih mreža

1. Neuron - prima ulaze, procesira ih i proizvodi jedan izlaz. Ulaz može biti sirovi podatak ili izlaz iz nekog drugog neurona. Na sledećoj slici 3.2 je prikazano procesiranje informacije u veštačkom neuronu.

Slika 3.2 Opšti prikaz veštačkog neurona

109

Page 104: VEŠTAČKA INTELIGENCIJA

2. Mreža. Svaka mreža sastoji se od neurona grupisanih u slojeve. Pored ulaznog i izlaznog sloja, mreža može imati jedan ili više skrivenih slojeva. Na slici 3.3 je dat primer mreže sa jednim skrivenim slojem.

Slika 3.3. Opšti prikaz veštačke neuronske mreže

3. Struktura mreže. Topologije mreže mogu biti razlicite zavisno od problema koji se rešava, vrste ulaznih podataka, vrste izlaznih podataka i drugih faktora. To je razumljivo obzirom da se neuronske mreže primenjuju u najrazličitijim oblastima ljudske delatnosti.

4. Procesiranje informacije u mreži. Osnovni koncepti koji se odnose na procesiranje su:

Ulazi - moraju biti u numeričkom obliku. Ako to nije slučaj, moraju se prevesti u numeričke ekvivalencije. Oblik i vrsta ulaznih podataka mogu biti različiti i oni umnogome određuju karakteristike mreže. Svaki ulaz korespondira jednom atributu. Na primer, kod mreže koja služi za iznalaženje mogućnosti subjekta da vrati kredit, ulazni atribut može biti veličina mesečnog prihoda.

Izlazi - predstavljaju rešenje problema. Mreža može imati jedan ili više izlaza, zavisno od konkretnog problema. Izlaz može biti kontinualna vrednost ili kvazi-logička vrednost, npr. +1 za "da" a 0 za "ne".

Težine - su ključni elementi neuronske mreže. Mreža uči podešavajuci težine prema istorijskim podacima koji se kroz nju propuštaju. Težina izražava relativnu značajnost svakog ulaza u neuron, odnosno ona predstavlja sposobnost ulaza da pobudi neuron.

Funkcija sumiranja - množi svaki ulaz odgovarajućom težinom a zatim sumira dobijene umnoške.

110

Page 105: VEŠTAČKA INTELIGENCIJA

Jednačina za n ulaza u jedan neuron ima sledeći oblik:

Funkcija transformacije - određuje da li rezultat funkcije sumiranja (interna aktivizacija neurona) može da proizvede izlaz. Veza izmedu aktivizacije i izlaza može biti i linearna i nelinearna. Postoji više tipova te funkcije, a sama činjenica da funkcija transformacije neurona skrivenih slojeva može biti nelinearna je od izuzetne važnosti. U suprotnom, da je moguća samo linearna transformacija, mreža bi bila u stanju da modeluje samo linearne funkcije, jer je poznato da kombinacija linearnih funkcija daje linearnu funkciju. Zbog toga je funkcija transformacije najčešće nelinearna, a jedna od najpoznatijih je sigmoidna funkcija:

gde je Yt normalizovana vrednost rezultata funkcije sumiranja Y. Normalizacija znači da se ovom transformacijom izlazni nivo dovodi u "razumne" granice, u ovom slučaju, između 0 i 1. Kada ne bi bilo ove transformacije izlazna vrednost bi mogla da bude isuviše velika, naročito u kompleksnijim mrežama sa više skrivenih slojeva. Čest je slučaj da se koristi i funkcija praga (threshold) (naprimer sve iznad nivoa 0.5 postaje 1, a sve ispod nivoa 0.5 postaje 0).

Učenje - Neuronska mreža uči iz iskustva. Proces učenja sastoji se iz tri osnovna segmenta:

o računanje izlaza, o upoređivanje dobijene vrednosti sa željenom, o podešavanje težina i vraćanje na prvi korak.

Pre početka procesa učenja postavljaju se inicijalne vrednosti težina slučajno ili po određenom pravilu. Sa svakim novim setom podataka, težine se podešavaju tako da se smanjuje razlika izmedu stvarnog i željenog ulaza. Ova razlika se naziva delta. U najboljem slučaju delta treba da se svede na nulu, međutim u praksi je obično slučaj da se zadaje nivo greške (naprimer 5%) koji treba postići da bi se okončao proces učenja ili se unapred zadaje broj iteracija prilikom učenja. Osnovni zadatak je da promene težina idu u pravom smeru (tj. da konvergiraju), jer se samo tako delta smanjuje.

111

Page 106: VEŠTAČKA INTELIGENCIJA

3.5 Veštačke neuronske mreže

Veštačka neuronska mreža podrazumeva način obrade informacija inspirisan procesiranjem kakvo vrši biološki mozak. Pri tome, veštačka neuronska mreža koristi ograničen broj koncepata iz bioloških neuronskih sistema. Ključni element ovog načina obrade podataka je neuobičajena struktura procesa obrade informacija, sastavljena od velikog broja međusobno povezanih elemenata procesiranja, koji zajednički rade na rešenju problema.

Ove mreže, kao i ljudi, uče na osnovu primera tj. istorijskog iskustva, naime one nisu programirane eksplicitnim instrukcijama, nego uče da izvrše zadatak, koristeći primere iz stvarnog života. Veštačke neuronske mreže su u stanju da prepoznaju smisao u komplikovanim ili nepotpunim podacima, da prepoznaju obrasce koji su neprepoznatljivi ljudima, zbog svoje složenosti i koji se ne mogu dobiti korišćenjem drugih računarskih tehnika. Veštačke neuronske mreže su sofisticirane tehnike modeliranja, sposobne da modeliraju veoma kompleksne funkcije.

Ako je posmatramo u analogiji sa biološkim neuronskim mrežama, dovoljno je reći da se ljudski mozak sastoji od velikog broja ćelija koje se zovu neuroni. U mozgu postoji oko 100 milijardi neurona koji su međusobno povezani - prosečan broj veza svakog neurona sa ostalima iznosi nekoliko hiljada, mada ovaj broj varira u veoma širokim granicama. Neuroni su organizovani u grupe, koje se zovu mreže gde svaka mreža sadrži više hiljada višestruko međusobno povezanih neurona.

Slika 3.4 Biološki neuron

112

Page 107: VEŠTAČKA INTELIGENCIJA

Slika 3.4a Biološki neuron – slika sa elektronskog mikroskopa

Svaki neuron je specijalizovana ćelija sposobna da prenosi elektrohemijski signal. Ćelija se sastoji od tela (soma) koje u svom centru poseduje jezgro (nukleus), razgranate ulazne strukture (dendroni) i izlaznu osu (akson). Akson jedne ćelije je povezan sa dendronom druge. Sinapsa je funkcionalni međumembranski kontakt aksona jednog neurona i dendrona drugog.

Kada je neuron aktiviran, on šalje elektrohemijski signal preko aksona prema drugoj ćeliji. Signal može biti promenjen od strane sinapse, koja je sposobna da poveća ili smanji snagu veze i na taj način prouzrokuje aktiviranje druge ćelije ili njenu ukočenost. Jedan od najuticajnijih istraživača neuronskih sistema, Donald Hebb je izneo tezu da se učenje u suštini sastoji u menjanju (tj. podešavanju) "jačina" sinaptičkih veza.

Slika 3.5 Grubi prikaz biološke neuronske mreže

113

Page 108: VEŠTAČKA INTELIGENCIJA

Neuronske mreže su dobile ovo ime bog toga što njihova konfiguracija podseća na mrežu nervnih ćelija, koje formiraju ljudski mozak. Princip prosleđivanja impulsa od jedne do druge nervne ćelije u ljudskom nervnom sistemu je iskorišćen kao model prosleđivanja informacija kroz veštačku neuronsku mrežu, tj. neuronska mreža je koncipirana na modelu ljudskog mozga i nervnog sistema.

Veštačka neuronska mreža emulira biološke procese. Sastoji se od elemenata procesiranja povezanih u arhitekturu mreže. Veštački neuron prima ulazne signale analogne elektrohemijskim impulsima i odgovara adekvatnim izlazom, koji korespondira izlazu biološkog neurona. U samom veštačkom elementu procesiranja, signali se mogu menjati slično kao što se menjaju sinapsama kod bioloških sistema.

Veze izmedu bioloških i veštačkih neuronskih mreža date su u sledećoj tabeli 3.2.:

Tabela a

Biološka mreža Veštačka mreža

Soma (telo) Čvor

Dendroni (drvo) Ulaz

Osa Izlaz

Sinapsa Težina

Tabela b

Biološka mreža Veštačka mreža

Neuroni: Računarski procesor:

brzina - mala (~102 Hz) brzina - velika (~109 Hz)

broj - veliki (~109) broj - mali (stotine)

jednostavan procesor kompleksan procesor

paralelna obrada sekvencijalna obrada

Tabela 3.2 Osnovne razlike između biloških mreža i konvencionalnih računara:

Sa inženjerskog stanovišta biološki neuroni su slabi procesori i prilično su nepouzdani. U mozgu je ovo prevaziđeno velikim brojem neurona i međusobnih veza kao i paralelnom obradom. Klasični softver se može koristiti samo za unapred definisan skup problema, dok neuronska mreža ima svojstvo adaptibilnosti pa se prema tome može koristiti i za najrazličitije probleme.

114

Page 109: VEŠTAČKA INTELIGENCIJA

Grubo rečeno, konvencionalni računari su pogodni za rešavanje dobro definisanih zadataka obrade informacija u stabilnom i savršeno poznatom okruženju. Neuronske mreže su dobre u obavljanju zadataka čak i kada su podaci heterogeni, nesređeni, nesigurni pa čak i nekonzistentni i kada ne postoje savršena rešenja za praktične probleme.

Pošto će u nastavku rada biti reči samo o veštačkim neuronskim mrežama, neće se naglašavati da je mreža veštačka niti da je neuron veštački.

115

Page 110: VEŠTAČKA INTELIGENCIJA

3.6 Pregled osnovnih koncepata teorije veštačkih neuronskih mreža

Kako su učenje i adaptacija neke od osnovnih karakteristika inteligencije, prirodno su interesovanje i pokušaji naučnika i istraživača da mašine učine prilagodljivijim promenljivoj okolini. Mozak životinja i ljudi su se u tom smislu pokazali veoma dobro i mogu poslužiti kreatorima sistema AI kao dobra analogija. Upravo kao proizvod ove analogije je i nastao model veštačkog neurona. Ovaj model je sličan nekim vrstama neurona koji se mogu naći u mozgu čoveka. Međutim, po stepenu složenosti pojedinačnih neurona, a naročito po broju i organizaciji veštačkih neuronskih mreža, modeli veštačkih neurona i neuronskih mreža su daleko, daleko iza neurona i neuronskih mreža koje postoje u mozgu.

3.6.1 Model veštačkog neurona

Veštački neuron predstavlja jednostavni procesni elemenat koji obavlja relativno jednostavnu matematičku funkciju. Saglasno tome, mreže koje se sastoje iz određenog broja međusobno povezanih neurona nazivaju se veštačke neuronske mrež. Na sledećoj slici je prikazan grafički prikaz veštačkog neurona.

Slika 3.6 : Opšti model veštačkog neurona

Ulazne vrednosti u neuron su označene sa x1, x2, ..., xn, gde je n ukupan broj ulaza u neuron. Izlazna vrednost yi (i je redni broj neurona u mreži) se dobija tako, što se prvo svaka ulazna vrednost pomnoži sa odgovarajućim težinskim koeficijentom wij (j=1,...,n). Ovako dobijeni proizvodi (xjwij, j=1,...,n) se potom sabiraju, pa se dobija: pi=x1wi1+x2wi2+...+xnwin. Zatim se vrednost pi koristi kao ulaz u aktivacionu funkciju a koja zavisi od parametra Θ i formira konačnu vrednost izlaza neurona. Najčešće se parametar Θ oduzima od pi, pa se njihova razlika koristi kao ulaz u aktivacionu funkciju, kao što je prikazano na slici.

y = ai ( ∑ θ x w - j i j i )n

j = 1

w i 1

w i 2

w i nx n

x 2

x 1

Σ

θ i

116

Page 111: VEŠTAČKA INTELIGENCIJA

, или

Parametar Θ se naziva prag aktivacije, dok se razlika vi = pi – Θ naziva aktivacioni signal neurona.

Aktivaciona funkcija a može da ima različite oblike. Najčešće se koriste:a) Linearna

a(x) = kx b) Odskočna

c) Linearna odsečena (korak po korak)

d) Sigmoidalna (logistička)

e) Tangens hiperbolički

Veštački neuroni, kao i biološki, imaju jednostavnu strukturu i imaju slične funkcije kao i biološki neuroni. Telo neurona se naziva čvor ili jedinica. Tipičan model neuronskih mreža sadrži tri tipa slojeva: ulazne, izlazne i skrivene. Funkcije pojedinih slojeva odgovaraju njihovom nazivu. Tako ulazni slojevi služe da prime signale iz okoline i distribuiraju ih u unutrašnjost mreže. Skriveni slojevi te signale preuzimaju, procesiraju ih i prenose do izlaznih slojeva koji ih konačno predaju okolini (izlaz).

U neuronskoj mreži nema supervizora koji nadgleda i kontroliše rad celine, postoje samo relativno jednostavni procesni elementi (neuroni) koji obavljaju jednostavne zadatke i predstavljaju osnovne elemente neuronskih mreža. Celokupan zadatak neurona je da primi signale sa ulaza (težinski izlazi susednih neurona) i da na osnovu njih generišu izlazni signal.

<≥

=0 ,0

0 ,1)(

x

xxa

<−≥

=0 ,1

0 ,1)(

x

xxa

≥<<

−≤−=

/kx

/kx/k-kx

/kx

xa

1 ,1

11 ,

1 ,1

)(

)exp(1

1)(

kxxa

−+=

)exp()exp(

)exp()exp()tanh()(

kxkx

kxkxkxxa

−+−−==

117

Page 112: VEŠTAČKA INTELIGENCIJA

Slika 3.7. Neuronska mreža sa tri povezana sloja

Procesirajući elementi (neuroni) primaju ulazne signale (x1, x2, x3, …,xn)

od drugih neurona preko veza koje mogu biti pobuđivačke ili inhibitorne. Svaki od ovih ulaznih signala množi se određenim brojem – težinom (w1, w2, w3, …, wn) koji predstavlja jačinu uticaja dotičnog ulaza na posmatrani neuron. Na ovaj način “otežane” ulazne veličine se sumiraju i formiraju ukupnu aktivaciju a. Ukoliko je vrednost aktivacije veća od definisanog praga, procesirajuća jedinica proizvodi odgovarajući odziv. Ovo je šematski prikazano na slici 3.8. odnosno slici 3.9.

Slika 3.8. Osnovni model neurona

u1..n – ulazni podaci w1..n – težinski koeficijenti f( ) – aktivaciona funkcija i – izlazni podatak

118

Page 113: VEŠTAČKA INTELIGENCIJA

Slika 3.9. Model neurona

Prema tome vrednost aktivacije a može se izračunati uz pomoć sledeće relacije:

Kada je u datom trenutku aktivacija neurona poznata, neuron proizvodi izlazni signal y :

y = f(a)Aktivacione funkcije igraju veoma važnu ulogu prilikom modeliranja

neuronskih mreža. Aktivaciona funkcija određuje da li rezultat funkcije sumiranja može da proizvede izlaz. Veza između aktivacije i izlaza može biti i linearna i nelinearna.

Postoji više tipova te funkcije, a već sama činjenica da funkcija transformacije neurona skrivenih slojeva može biti nelinearna je od izuzetne važnosti. U suprotnom, da je moguća samo linearna transformacija, mreža bi bila u stanju da modeluje samo linearne funkcije, jer je poznato da kombinacija linearnih funkcija kao rezultat daje linearnu funkciju.

Veoma često je funkcija transformacije nelinearna, a jedna od najpoznatijih takvih funkcija je sigmoidna funkcija:

gde je Yt normalizovana vrednost rezultata funkcije sumiranja Y. Normalizacija znači da se ovom transformacijom izlazni nivo dovodi u razumne

119

Page 114: VEŠTAČKA INTELIGENCIJA

granice, između 0 i 1. Kada ne bi bilo ove transformacije izlazna vrednost bi mogla da bude isuviše velika, naročito u kompleksnijim mrežama sa više skrivenih slojeva. Veoma često se koristi i funkcija praga (threshold) (gde naprimer sve iznad nivoa vrednosti 0.5 postaje 1, a sve ispod 0.5 postaje 0).

Na slici 3.10. je prikazan izgled sigmoidne funkcije :

Slika 3.10. Sigmoidna aktivaciona funkcija

Kako smo već pomenuli neuronske mreže uče na primerima. To podrazumeva da 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 na ulaz mreže, više ne dovode do promene ovih koeficijenata, smatra se da je mreža obučena za rešavanje nekog problema.

3.6.2. Model veštačke neuronske mreže

Neuronsku mrežu u osnovi definišu sledeće karakteristike:

1. arhitektura (topologija) mreže, odnosno šema vezivanja neurona 2. prenosna funkcija neurona 3. zakoni učenja

Arhitekturu veštačke neuronske mreže predstavlja specifično uređenje i povezivanje neurona u obliku mreže. Po arhitekturi, neuronske mreže se razlikuju prema broju neuronskih slojeva. Obično svaki sloj prima ulaze iz prethodnog sloja, a svoje izlaze šalje narednom sloju.

Prvi sloj se naziva ulazni, poslednji sloj je izlazni, a ostali slojevi se obično nazivaju skrivenim slojevima. Jedna od najčešćih arhitektura neuronskih mreža je

120

Page 115: VEŠTAČKA INTELIGENCIJA

mreža sa tri sloja. Prvi sloj (ulazni) je jedini sloj koji prima signale iz okruženja. Prvi sloj prenosi signale sledećem sloju (skriveni sloj), koji obrađuje ove podatke i izdvaja osobine i šeme iz primljenih signala.

Podaci koji se smatraju važnim se upućuju izlaznom sloju, poslednjem sloju mreže. Na izlazima neurona trećeg sloja se dobijaju konačni rezultati obrade. Složenije neuronske mreže mogu imati više skrivenih slojeva, povratne petlje i elemente za odlaganje vremena, koji su dizajnirani da omoguće što efikasnije odvajanje važnih osobina ili šema sa ulaznog nivoa.

Slika 3.11. Model neuronske mreže

Obučavanje NM se svodi na učenje iz primera, kojih bi trebalo da bude što više, kako bi mreža mogla da se ponaša što preciznije u kasnijoj eksploataciji. Proces učenja dovodi do korigovanja sinaptičkih težina. Kada uzorci koji se predstavljaju mreži ne dovode više do promene ovih koeficijenata, smatra se da je mreža obučena. U osnovi postoje tri tipa obučavanja:

1. nadgledano obučavanje - mreži se predstavljaju ulazni podaci i očekivani izlazni podaci

2. obučavanje ocenjivanjem - mreži se ne predstavljaju očekivani izlazni podaci nego joj se posle izvesnog vremena predstavlja ocena prethodnog rada. Jedan od primera je mreža koja uči da balansira štap. Kad god štap padne, mreži se prosleđuje ocena prethodnog rada, na primer, u obliku ugaonog odstupanja štapa od ravnoteže.

3. samoorganizacija - mreži se predstavljaju isključivo ulaz .

Ulazni sloj

Skriveni sloj

Izlazni sloj

121

Page 116: VEŠTAČKA INTELIGENCIJA

3.6.3 Aktivacione funkcije

Osnovni principi rada koje smo naveli kod aktivacionih funkcija pojedinačnog neurona važe i kod jednostavnijih ili složenijih neuronskih mreža. Naime, aktivacione funkcije neurona na skrivenim slojevima su potrebne da bi mreža bila u stanju da nauči nelinearne funkcije. Bez nelinearnosti, kako je već pomenuto, neuroni skrivenih slojeva ne bi imali veće mogućnosti od obične perceptronske mreže (koja se sastoji samo od ulaza i izlaza), jer se kombinovanjem linearnih funkcija ponovo dobija linearna funkcija.

Zbog toga se na izlazu neurona nalazi aktivaciona funkcija koja je najčešće nelinearna. Ova nelinearnost čini mreže sa više slojeva naročito moćnima. Gotovo svaka nelinearna funkcija može da se koristi, mada se za backpropagation algoritam najčešće koriste sigmoidne funkcije kao što su logistička, arcustangens ili gausova funkcija.

Slika 3. 12. Nelinearna aktivaciona funkcija

Za neurone na izlaznom sloju se mogu birati aktivacione funkcije koje odgovaraju raspodeli ciljnih vrednosti. Granične aktivacione funkcije, kakva je logistička, su naročito korisne kada su ciljne vrednosti ograničene. Međutim, ako ciljne vrednosti nemaju ograničene vrednosti, bolje je da se koristi aktivaciona funkcija koja nije ograničena.

Ako su ciljne vrednosti pozitivne, ali pri tome nemaju gornju granicu, najbolje je koristiti eksponencijalnu aktivacionu funkciju. Postoji izvesna prirodna povezanost između izlaznih aktivacionih funkcija i različite raspodele šuma koji se izučava statistički u kontekstu generalizacije izlaznog modela.

122

Page 117: VEŠTAČKA INTELIGENCIJA

3.6.4. Težinski koeficijenti

Kako smo već pomenuli, sinapse, kojima biološki neuroni regulišu prohodnost određene putanje između aksona i dendrita, kod veštačkih neurona, se ostvaruju preko prilagodljivih težinskih koeficijenata (weight) ili težina veza. Kada se na ulaz neurona dovedu neke vrednosti i pomnože sa težinskim koeficijentima, dobijaju se ulazni podaci.

Zbir ulaznih vrednosti neurona pomnoženih sa odgovarajućim težinskim koeficijentima se propušta kroz aktivacionu funkciju i ta vrednost predstavlja izlaz iz neurona. Iako neuroni imaju prilično jednostavne (linearne) funkcije, kada se povežu u višeslojnu mrežu, u stanju su da obrade veoma složene (nelinearne) funkcije.

Neuroni na skrivenim i izlaznim slojevima pored težinskih koeficijenata koriste i koeficijent koji se koristi u računanju mrežnih ulaznih vrednosti i naziva “threshold” (“bias”). Koeficijent threshold se može tretirati kao dodatni težinski koeficijent na ulazu koji ima konstantnu težinu jedan. Rukovanje ovim koeficijentom je slično kao i za svaki drugi težinski koeficijent.

Prirodni neuroni su znatno komplikovaniji od veštačkih. Iako su veštački neuroni, izvedeni u VLSI tehnologiji, znatno brži od prirodnih, visok stepen međusobne povezanosti, njihov ogroman broj i još veći broj veza između njih, čine biološke nervne sisteme nedostižnim za današnju tehnologiju i nepotpuno razumljivim za današnju nauku.

Pored toga, veoma je mala verovatnoća da će principijelna šema stotine milijardi veza u mozgu biti za dogledno vreme analizirana. Šta više, mi još uvek ne znamo kako da protumačimo težinske koeficijente čak i u mrežama od samo nekoliko neurona.

Na kraju ovog uvodnog dela možemo reći da je oblast koju danas poznajemo kao neuronske mreže nastala kao rezultat spoja nekoliko veoma različitih pravaca istraživanja: obrade signala, neurobiologije i fizike. Neuronske mreže predstavljaju tipičan primer interdisciplinarne oblasti. Sa jedne strane, one su 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 (o kojima će biti nešto više reči kasnije), adaptivne memorije, asocijativne memorije, fazi logika. Međutim, opšti je utisak da su neuronske mreže za sada najzrelija i najprimenljivija tehnologija iz ovog segmenta oblasti veštačke inteligencije.

Navešćemo na kraju još neke 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

123

Page 118: VEŠTAČKA INTELIGENCIJA

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.

Sa druge strane, 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.

3.6.5. Osnovne komponente neuronskih mreža

U nastavku ćemo se još jednom detaljnije osvrnuti na funkcionisanje osnovnih komponenata neuronskih mreža. Osnovna komponenta neuronske mreže je neuron, koji uopšteno izgleda kao na slici 3.13:

f

x

x

x

1

1

2

2

n

n

d e n d r i t ia k s o n

w

w

ws i n a p t i ~ k e t e ` i n e

a k s o n s k io g r a n c i

Slika 3.13. Model neurona

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 nameće na prenosnu funkciju je da bude ograničena i neopadajuća.

Izlaz iz neurona se vodi na akson, koji preko svojih aksonskih ogranaka prenosi rezultat na dendrite. Na taj način se izlaz jednog sloja mreže prenosi u sledeći.

124

Page 119: VEŠTAČKA INTELIGENCIJA

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 3.14:

1 1 1

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

s s s

o d s k o ~ n a l o g i ’~ k a s a p r a g o ms i g m o i d a

Slika 3.14. Neki modeli prenosnih funkcija

Kako smo već pomenuli neuronsku mrežu u osnovi definišu sledeće karakteristike:• prenosna funkcija neurona• topologija mreže, tj. način na koji se neuroni međusobno povezuju• 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.

Takođe smo već pomenuli da 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: 1. nadgledano obučavanje,

2. obučavanje ocenjivanjem i

3. samo-organizacija.

Međutim neovisno od toga koji algoritam učenja je korišćen, procesi su u suštini vrlo slični i sastoje se od sledeć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).

125

Page 120: VEŠTAČKA INTELIGENCIJA

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 težina, i ako je greška ispod neke zahtevane vrednosti, smatra se da je mreža obučena.

3.6.6 Podela neuronskih mreža

Postoji veliki broj različitih realizacija neuronskih mreža, a samim tim postoji i mnogo podela. Neuronske mreže se mogu klasificirati prema:

• broju slojeva, • vrsti veza između neurona, • vrsti obučavanja neuronskih mreža i • prema smeru prostiranja informacija.

Jedna od najopštijih podela neuronskih mreža je prema broju slojeva. Mreže se mogu podeliti na:

• jednoslojne i • višeslojne.

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

Neuronske mreže se takođe mogu podeliti prema vrstama veza, tj. prema arhitekturi na:

• slojevite,• potpuno povezane i• celularne.

Kod slojevitih mreža 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 poslednjeg (izlaznog) sloja predstavljaju izlaze mreže.

Kod potpuno povezanih neuronskih mreža izlaz jednog neurona se vodi prema ulazu svih neurona u mreži.

126

Page 121: VEŠTAČKA INTELIGENCIJA

Kod celularnih neuronskih mreža samo susedni neuroni su međusobno povezani. Bez obzira na lokalnu povezanost, signali se prostiru i na neurone i van susedstva zbog indirektnog prostiranja informacija.

Prema načinu obučavanja neuronskih mreža one se dele na neuronske mreže sa :

• Nadgledanim obučavanjem i • Nenadgledanim obučavanjem.

Kod nadgledanog obučavanja neuronskih mreža, algoritam, koji nadzire obučavanje (supervisor) upoređuje podatke dobijene na izlazu sa očekivanim podacima. Razlika između dobijenih i očekivanih podataka se šalje proceduri za učenje, koja koriguje težinske koeficijente mreže.

Kod nenadgledanog obučavanja neuronske mreže su nezavisne. Prilikom obučavanja se predstavljaju samo ulazni podaci, koje Neuronska mreža pokušava da generalizuje i “uoči” zajedničke osobine.

Prema smeru prostiranja informacija kroz mrežu neuronske mreže se mogu podeliti na :

• Feedforward (nerekurzivne ili nepovratne)• Feedback (rekurzivne ili povratne)

Kod Feedforward neuronskih mreža viši slojevi ne vraćaju informaciju u niže slojeve. Prostiranje signala se vrši samo u jednom smjeru (od ulaza prema izlazu) odnosno ostvaruje se propagacija signala.

Feedback neuronske mreže vraćaju informacije iz viših slojeva, nazad u niže slojeve. Izlaz iz neurona se vraća u niže slojeve ili u isti sloj. Feedback mreže imaju mnogo veće procesne sposobnosti od Feedforward mreža.

Neuronske mreže se takođe mogu podeliti prema vrsti učenja i prema pravcu prostiranja signala na:

I. Neuronske mreže sa nenadgledanim učenjem

1. Feedback mreže

• Aditivna Grossbergova - Additive Grossberg (AG) • Grossbergova sa odlaganjem - Shunting Grossberg (SG) • Teorija binarne adaptivne rezonancije - Binary Adaptive Resonance

Theory (ART1) • Teorija analogne adaptivne rezonancije - Analog Adaptive Resonance

Theory (ART2, ART2a) • Diskretna Hopfildova - Discrete Hopfield (DH)

127

Page 122: VEŠTAČKA INTELIGENCIJA

• Kontinualna Hopfildova - Continuous Hopfield (CH) • Diskretna bidirekciona asocijativna memorija - Discrete Bidirectional

Associative Memory (BAM) • Privremena asocijativna memorija - Temporal Associative Memory (TAM) • Adaptivna bidirekciona asocijativna memorija - Adaptive Bidirectional Associative Memory (ABAM) • Kohenove samoorganizujuće mape - Kohonen Self-organizing Map/Topology-preserving map (SOM/TPM) • Kompetitivno učenje - Competitive learning

2. Zatim na Feedforward mreže:

• Matrice sa mogućnošću učenja- Learning Matrix (LM) • Pobuđeno-primorano učenje - Driver-Reinforcement Learning (DR) • Linearna asocijativna memorija - Linear Associative Memory (LAM) • Optimizovana linearna asocijativna memorija - Optimal Linear

Associative Memory (OLAM) • Slabo raspoređena distribuirana asocijativna memorija - Sparse

Distributed Associative Memory (SDM) • Fuzzy ascocijativna memorija - Fuzzy Associative Memory (FAM) • Counterpropagation (CPN)

II. Iz grupe Neuronskih mreža sa nadgledanim učenjem možemo navesti:

1. Feedback mreže

• Brain-State-in-a-Box (BSB) • Fuzzy kognitivne mape - Fuzzy Cognitive Map (FCM) • Bolcmanova mašina - Boltzmann Machine (BM) • Mean Field Annealing (MFT) • Rekurentno kaskadno povezivanje - Recurrent Cascade Correlation

(RCC) • Povratna propagacija kroz vreme - Backpropagation through time

(BPTT) • Povratno učenje u realnom vremenu - Real-time recurrent learning

(RTRL) • Recurrent Extended Kalman Filter (REKF)

2. Feedforward mreže:

• Perceptron

128

Page 123: VEŠTAČKA INTELIGENCIJA

• Adaline, Madaline • Backpropagation (BP) • Košijeva mašina - Cauchy Machine (CM) • Adaptivni heuristički kriterijum - Adaptive Heuristic Criterium (AHC) • NM sa vremenskim zadržavanjem - Time Delay Neural Network

(TDNN) • Asocijativno nagrađivanje - Associative Reward Penalty (ARP) • Avalanche Matched Filter (AMF) • Backpercolation (Perc) • Artmap • Adaptivne logičke mreže - Adaptive Logic Network (ALN) • Kaskadne veze- Cascade Correlation (CasCor) • Prošireni Kalman-ov filter - Extended Kalman Filter(EKF) • Kvantizacija vektora učenja - Learning Vector Quantization (LVQ) • NM zasnovane na verovatnoći- Probabilistic Neural Network (PNN) • Opšte regresione NM - General Regression Neural Network (GRNN)

129

Page 124: VEŠTAČKA INTELIGENCIJA

3.7. Arhitekture veštačkih neuronskih mreža

Veštačka neuronska mreža se formira od većeg broja neurona povezujući izlaze jednih sa ulazima drugih. Svi neuroni neke mreže se mogu razvrstati u tri osnovne kategorije, pa tako imamo:

1. ulazne neurone (prihvataju informacije iz sredine), 2. izlazne neurone (generišu signale za određene akcije) i 3. skrivene neurone (služe za internu reprezentaciju informacija o

radnom okruženju).U praksi se najčešće koriste sledeće dve klase neuronskih mreža:

1. mreže sa povratnim vezama (rekurentne) i 2. mreže bez povratnih veza (nerekurentne, eng. feed-forward).

Najpoznatiji predstavnik rekurentnih mreža su potpuno povezane neuronske mreže. Kod njih se izlazi svakog neurona vode na ulaze svih neurona u mreži, računajući tu i sam taj neuron. Klasi rekurentnih mreža takođe pripadaju i ćelijske neuronske mreže. Ovde su veze, tj. interakcije između neurona, lokalnog karaktera.

Najznačajniji predstavnik nerekurentnih mreža su svakako slojevite neuronske mreže koja će zbog svoje primene u fazi neuro sistemima, u nastavku biti detaljnije obrađene.

feedforward feedback

Slika 3.15. : Feedforward i feedback neuronska mreža

130

Page 125: VEŠTAČKA INTELIGENCIJA

Kod slojevitih neuronskih mreža neuroni su organizovani tako da formiraju slojeve. Na ulaz jednog neurona dovode se izlazi svih neurona iz prethodnog sloja, a njegov izlaz se vodi na ulaze svih neurona u narednom sloju. Između neurona u istom sloju ne postoji nikakva interakcija (povezanost). Neuroni u prvom, ulaznom, sloju imaju samo po jedan ulazni priključak. Ulazi ovih neurona čine ulaz celokupne mreže.

Poslednji sloj u ovom redosledu jeste izlazni sloj, pa tako izlazi neurona u ovom sloju čine izlaz celokupne mreže. Ostali neuroni, koji nemaju veze sa ulazno-izlaznim priključcima, su skriveni neuroni, pa se slojevi u kojima se oni nalaze nazivaju skriveni slojevi. Signali se kroz ovakvu mrežu prostiru samo u jednom smeru, od ulaza ka izlazu. Na slici 3.16 je prikazana topologija ovakve mreže.

Slika 3.16. : Slojevita neuronska mreža

3.7.1. Osnovne karakteristike feed-forward i feedback neuronske mreže

Na slici 3.15. je predstavljena feed-forward mreža sa tri sloja. Feed-forward mreže dozvoljavaju kretanje signalu samo u jednom smeru - od ulaza ka izlazu. To znači da jedan neuron može da vrši uticaj samo na neuron koji se nalazi u narednom sloju (sloju koji je bliži izlazu). Ove mreže su pogodne za prepoznavanje oblika. Feed-forward mreže obično brzo daju izlaz za dat ulaz.

Na slici 3.15. je takođe predstavljena feedback mreža sa tri sloja, kao i primer feedback odnosno rekurentne mreže. Kod feedback mreža signali mogu da putuju u oba smera zato što su u mrežu ubačene neke vrste petlji. Ulazni atributi moraju proći mrežu više od jednog puta pre nego što se proizvede

131

Page 126: VEŠTAČKA INTELIGENCIJA

odgovor. Ovakve strukture koriste se za rešavanje dinamičkih problema, veoma su moćne ali mogu da postanu vrlo komplikovane i mogu iziskivati mnogo vremena za podešavanje. Stanje ovih mreža menja se dok ne dostignu tačku ravnoteže. Ostaju u ravnotežnom stanju sve dok se ne pojavi novi ulaz i tada je potrebno naći novo ravnotežno stanje. Potrebno im je obicno duže vreme da daju izlaz (u odnosu na feed-forward mreže). Rekurentne mreže obicno imaju veliku sposobnost adaptibilnosti.

132

Page 127: VEŠTAČKA INTELIGENCIJA

3.8. Kratak pregled načina rada neuronskih mreža

Neuronske mreže su oblast veštačke inteligencije (AI) strukturirane da radi na način kao što radi ljudski mozak. Od početka svoje prisutnosti u nauci, neuronske mreže istraživane su s dva različita pristupa.

Prvi, takozvani biološki pristup, istražuje neuronske mreže kao pojednostavljene simulacije ljudskog mozga i upotrebljava ih za testiranje hipoteza o funkcionisanju ljudskog mozga.

Drugi pristup tretira neuronske mreže kao tehnološke sklopove za složenu obradu informacija (Zahedi, 1993). Razlozi što neuronske mreže često rešavaju probleme bolje nego statističke metode leže u njihovoj mogućnosti da analiziraju nepotpune podatke, podatke sa smetnjama, zatim da se nose s problemima koji nemaju jasno jednostrano rešenje, kao i da uče na prošlim podacima.

Zbog takvih prednosti neuronske mreže su pokazale uspeh u predviđanjima finansijskih procesa koje imaju visok stepen variranja i fluktuacije. Od nedostataka neuronskih mreža potrebno je spomenuti nedostatak testova statističke značajnosti modela neuronskih mreža i procenjenih parametara (Refenes et.al., 1997). Takođe, ne postoje utvrđene paradigme za odlučivanje o tome koja arhitektura je najbolja za određene probleme i tipove podataka.

Uprkos navedenim nedostacima, rezultati mnogih istraživanja pokazuju da neuronske mreže mogu rešiti mnoge probleme lakše i bolje nego tradicionalne metode modeliranja i statističke metode. Matematički je dokazano (uz primenu Ston-Weierstrass, Hahn-Banach i drugih teoreme) da su troslojne neuronske mreže, koje imaju veoma široko osetljivu prenosnu funkciju u mogućnosti da aproksimiraju bilo koju nelinearnu funkciju (Hornik, et.al., 1989; Ito, 1991, Masters, 1993).

3.9. Osnovni principi funkcionisanja u neuronskim mrežama

Neuronske mreže se sastoje od dva ili više slojeva ili grupa elemenata obrade nazvanih neuronima. Izraz neuron označava osnovnu jedinicu u modelu neuronske mreže koja je namenjena obradi podataka. Neuroni su spojeni u mrežu na takav način da izlaz iz svakog neurona predstavlja ulaz u jedan ili više drugih neurona. Prema smeru, veza između neurona može biti jednosmerna ili dvosmerna, a prema intenzitetu moguća je pobuđujuća (egzitatorna) ili smirujuća (inhibitorna) veza.

Neuroni su grupisani u slojeve. Postoje tri osnovna tipa slojeva: ulazni, skriveni i izlazni. Ulazni sloj prima ulazne podatke iz spoljne sredine i šalje ih u

133

Page 128: VEŠTAČKA INTELIGENCIJA

jedan ili više skrivenih slojeva. U skrivenom sloju se informacije neurona obrađuju i šalju u neurone izlaznog sloja. Informacije zatim putuju unazad kroz mrežu, a vrednosti težina veza između neurona se prilagođavaju prema željenom izlazu.

Proces se iterativno ponavlja u mreži u onoliko mnogo iteracija koliko je potrebno za dostizanje izlaza koji je najbliže željenom (stvarnom) izlazu. Na kraju se mrežni izlaz predstavlja korisniku. Učenje neuronskih mreža je u osnovi proces pomoću koga sistem dolazi do vrednosti težina veza između neurona.

Težina veze je snaga veze između dva neurona. Ako je, na primer, neuron j povezan s neuronom i, wji označava težinu veze od neurona j prema neuronu i (wij je težina obrnute veze od neurona i prema neuronu j). Ako je neuron i spojen sa neuronima 1,2,...,n, njihove težine su smeštene u varijablama w1i, w2i, ..., wni. Neuron prima onoliko ulaza koliko ima ulaznih veza prema tom neuronu, pa proizvodi jedan izlaz prema prenosnoj funkciji. Process dizajniranja neuronske mreže se sastoji od četiri faze (Zahedi, 1993):

• raspoređivanje neurona u različite slojeve, • određivanje tipa veze između neurona (inter-slojne i intra-slojne veze), • određivanje načina na koji neuroni primaju ulaze i proizvode izlaze, • određivanje pravila učenja za prilagođavanje težina veza.

Rezultat dizajniranja neuronske mreže je arhitektura mreže. Prema gornjem procesu dizajniranja, kriterijumi za razlikovanje arhitektura neuronskih mreža su:

• broj slojeva, • tip veze između neurona,• veze između ulaznih i izlaznih podataka,• ulazne i prenosne funkcije,• tip učenja,• sigurnost aktiviranja - ispaljivanja,• vremenske karakteristike,• vreme učenja.

134

Page 129: VEŠTAČKA INTELIGENCIJA

3.10. Tipovi veza između neurona

Veze u mreži se mogu ostvariti između dva sloja (inter-slojne veze) i između neurona u jednom sloju (intra-slojne veze). Postoje različiti tipovi inter-slojnih veza (Zahedi, 1993):

• potpuno povezane – svaki neuron u prvom sloju je povezan sa svakim neuronom u drugom sloju,

• delimično povezane – svaki neuron u prvom sloju ne mora obavezno biti povezan sa svakim neuronom u drugom sloju,

• unapred – veze između neurona su jednosmerne, neuroni prvog sloja šalju svoje izlaze neuronima u drugom sloju, ali nema povratne veze,

• dvosmerne – postoji i povratna veza kada neuroni drugog sloja pored toga što primaju ulaze iz prvog sloja šalju i svoj izlaz nazad neuronima u prvom sloju,

• hijerarhijske – neuroni jednog sloja su povezani samo sa neuronima susednog sloja,

• rezonantna – dvosmerna veza gde neuroni nastavljaju da šalju informacije između slojeva sve dok određeni uslov nije zadovoljen.

Primeri nekih poznatih arhitektura neuronskih mreža s inter-slojnom vezom su:

Perceptron (kreator je Frank Rosenblat, 1957) – prva neuronska mreža, ona je dvoslojna i potpuno povezana,

ADALINE (kreatori su Bernard Widrow, Marcian E. Hoff, 1962) – ova mreža je dvoslojna i potpuno povezana,

Mreža “širenje unazad” (kreator je Paul Werbos, 1974, proširena je od strane Rumelhart-a, Hinton-a i Williams-a, 1986) – to je prva neuronska mreža sa jednim ili više skrivenih slojeva, a veza između skrivenih slojeva je hijerarhijska,

ART (Adaptive Resonanse Theory) (dizajnirana je od strane Steven-a Grosberg-a, 1976) – predstavlja troslojnu mrežua sa rezonantnom vezom,

Counterpropagation mreža unapred (dizajnirana od strane Robert-a Hecht-Nielsen, 1987) – struktura mreže je slična Mreži “sa širenjem unazad”, to je troslojna, ali ne-hijerarhijska mreža, kod koje može da postoji takođe i veza između neurona unutar jednog sloja.

135

Page 130: VEŠTAČKA INTELIGENCIJA

Veze između neurona u jednom sloju (intra-slojne) mogu biti:

• Ponavljajuće – neuroni u jednom sloju su potpuno ili delimično povezani. Veza je realizovana na takav način da neuroni međusobno komuniciraju svoje izlaze, nakon što prime ulaze iz prethodnog sloja. Komunikacija se nastavlja sve dok neuroni ne postignu stabilan uslov. Kad se postigne stabilan uslov, neuronima je dozvoljeno da pošalju izlaze u naredni sloj.

• On-center/off-surround – u ovoj vezi, jedan neuron u sloju ima pobuđujuću vezu prema susednim neuronima, ali smirujuću vezu prema drugim neuronima u sloju.

Neke od intra-slojnih mreža sa ponavljajućom vezom su:

• Hopfield-ova mreža (dizajnirana od strane John-a Hopfield, 1982) – to je dvoslojna, potpuno povezana mreža, neuroni izlaznog sloja su međusobno povezani ponavljajućom intra-slojnom vezom,

• Ponavljajuća Mreža “širenje unazad” (dizajnirali su je David Rumelhart, Geoffrey Hinton, Ronald Williams, 1986) – to je ponavljajuća intra-slojna veza, ali s jednim slojem, gde deo neurona prima ulaze, dok je drugi deo potpuno povezan ponavljajućom intra-slojnom vezom,

Pored ovih razvijene su neke od mreža sa on-center/off-surround vezom:

• ART1, ART2, ART3 (dizajner je Steven Grosberg, 1960) – to je rezonantna oncenter/ off-surround veza,

• Kohonenova samo-organizirajuća mreža (kreator je Teuvo Kohonen, 1982),

• Counterpropagation mreža,• Mreža s konkurentnim učenjem.

136

Page 131: VEŠTAČKA INTELIGENCIJA

3.11. Veze između ulaza i izlaza

Neuronske mreže mogu se takođe razlikovati prema vezama između ulaza i izlaza i mogu biti:

1) autoasocijativne – ulazni vektor je istog sastava kao i izlazni (veoma često se koriste u problemima vezanim za prepoznavanja uzoraka), 2) heteroasocijativne – izlazni vektor se razlikuje od ulaznog vektora. Autoasocijativne mreže se koriste za rešavanje problema vezanih za prepoznavanje uzoraka, obradu signala, filtriranje smetnji i kod sličnih problema koji nastoje da prepoznaju uzorak ulaznih podataka.

3.12. Ulazne i prenosne funkcije

U cilju razumevanja glavnih tipova arhitektura neuronskih mreža koje se upotrebljavaju u praksi, osnovni principi funkcionisanja neuronskih mreža će biti opisani kroz ulazne i izlazne jednačine, prenosne funkcije i pravila učenja.

Ulazne (Sumarne) funkcije

Kada neki neuron prima ulaz iz prethodnog sloja, vrednost njegovog ulaza se računa prema ulaznoj funkciji, koja se najčešće naziva “sumarana” funkcija. Najjednostavnija sumarna funkcija za neuron i se određuje množenjem izlaza poslatog od strane neurona j prema neuronu i (označenom kao izlaz j) sa težinom veze između neurona i i neurona j, zatim sumom ovih proizvoda za sve neurone j povezane s neuronom i, ili:

gde je n broj neurona u sloju koji šalje svoj izlaz primljen od strane neurona i. Drugim rečima, inputi nekog neurona i je suma svih izlaza koji pristižu u taj neuron pomnoženih sa odgovarajućom težinom.

Osim ovog standardnog mrežnog ulaza, postoje dva dodatna tipa ulaza u neku mrežu:

• extinputi - ulaz koji neuron i prima iz spoljnje okoline,• biasi – vrednost pojačanja koja se upotrebljava za kontrolu aktivacije

137

Page 132: VEŠTAČKA INTELIGENCIJA

neurona u nekim mrežama.

Ulazne vrednosti se mogu normalizovati u odnosu na neki interval ( to je obično [0,1] ili [-1,1] ) kako bi se izbegao uticaj ulaza sa visokim vrednostima. Normalizacija se preporučuje u većini neuronskih mreža (obavezna je u Kohonen-ovoj mreži). Detaljnije informacije o normalizaciji podataka će biti navedene kasnije u tekstu.

Različite arhitekture neuronskih mreža upotrebljavaju različite oblike sumarnih funkcija. Najvažniji oblici su:

Izlazne (Prenosne) funkcije

Kada neuron primi ulaz prema napred navedenoj sumarnoj funkciji, tada neuron šalje svoj izlaz prema drugim neuronima sa kojima je povezan (obično neuronima u narednom sloju).

Izlaz iz neurona se računa primenom takozvane prenosne funkcije. Nekoliko najčešće korištenih prenosnih funkcija su:

• funkcija koračna (step funkcija),• signum funkcija,• sigmoidna funkcija,• hiperboličko-tangentna funkcija,• linearna funkcija,• linearna funkcija sa pragom.

Kada je u pitanju koračna prenosna funkcija izlaz se definiše na sledeći način:

138

Page 133: VEŠTAČKA INTELIGENCIJA

Signum funkcija se upotrebljavala u prvoj neuronskoj mreži – Perceptron-u. Step i signum funkcije se retko koriste u savremenim neuronskim mrežama obzirom da nisu u mogućnosti da aproksimiraju većinu kontinuiranih funkcija iz realnog sveta.

Sigmoidna (ili logistička) funkcija je jedna od najčešće upotrebljavanih prenosnih funkcija u neuronskim mrežama. Ona se definiše sledećom formulom:

gde je g doprinos funkcije koji se izračunava kao g = 1/T, a pri tome je T prag. Doprinos određuje zaobljenost funkcije oko nule. Ovakva funkcija rezultira kontinuiranim vrednostima u intervalu [0,1]. Ona se upotrebljava naprimer u mrežama kod kojih postoji “širenje unazad” kao i Hopfield-ovoj mreži. Ova funkcija zajedno sa hiperboličko-tangentnom funkcijom je jedna od najčešće korišćenih funkcija u neuronskim mrežama.

Na sledećoj slici je prikazan Graf tipične sigmoidne funkcije:

Slika.3.17. Graf sigmoidne funkcije

139

Page 134: VEŠTAČKA INTELIGENCIJA

Poseban oblik sigmoidne funkcije je hiperboličko-tangentna funkcija:

Graf hiperboličko-tangentne funkcije je sličan grafu sigmoidne funkcije, osim što je ovde interval vrednosti [-1,1]. Zbog svoje mogućnosti mapiranja vrednosti u pozitivna kao i u negativna područja, ova funkcija se upotrebljava u mnogim eksperimentima.

Slika 3.18. Graf hiperboličko-tangentne funkcije

Linearna funkcija ima oblik:

Linearna funkcija sa pragom – treshold je poseban oblik linearne funkcije:

Kod ove funkcije, neuron ima vrednost različitu od nule samo ako njegov ulaz dostigne nivo vrednosti praga T.

140

Page 135: VEŠTAČKA INTELIGENCIJA

Izbor odgovarajuće prenosne funkcije se radi u fazi dizajniranja mreže, omogućavajući pritom naknadnu izmenu vrednosti praga (T) kao i doprinosa (g). Najbolja prenosna funkcija se obično dobija eksperimentisanjem na nekom određenom problemu.

141

Page 136: VEŠTAČKA INTELIGENCIJA

3.13. Načini obučavanja neuronskih mreža

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

Tipovi učenja - Algoritmi učenja - Obučavanje veštačkih neuronskih mrežaKada su u pitanju neuronske mreže, postoji jedna bitna razlika u odnosu

na klasične računare, a to je da se neuronske mreže ne programiraju. Dok kod klasičnih računara programer unosi program u računar i taj program definiše odnosno specificira rad računara u svakom trenutku, neuronske mreže se obučavaju. Pre nego što počnu da se primenjuju mnogo vremena se provodi na njihovo učenje, obučavanje ili treniranje. Proces obučavanje se zasniva na ažuriranju težinskih koeficijenata. Brzina njihovog ažuriranja može biti merilo moći procesiranja neuronske mreže.

Učenje je modifikacija ponašanja na osnovu iskustva, ali u interakciji sa okolinom, koja dovodi do drugačijih reagovanja na spoljašnje pojave. Iako je ova definicija napisana davno pre pojave veštačkih neuronskih mreža, može se u potpunosti primeniti i na proces njihovog obučavanja.

Ponašanje neuronske mreže zavisi od arhitekture mreže (ukupnog broja neurona, koji je čine i njihove međusobne povezanosti), od težina veza između neurona i od modela upotrebljenih neurona. Treba imati u vidu da su izmene u arhitekturi i modelima neurona nakon projektovanja i realizacije mreže teško izvodljivi, tako da se obučavanje mreže uglavnom svodi na podešavanje težina njenih veza.

Pored strukture, algoritam učenja je najvažniji faktor razlikovanja medu neuronskim mrežama.Danas postoji veliki broj algoritama čija je taksionomija predstavljena na slici 3.19.

Podela na diskretne i kontinualne učinjena je na osnovu vrste ulaza.

Kada govorimo o klasifikaciji načina za obučavanje neuronskih mreža, mogu se uočiti dve osnovne kategorije:

1. nadgledano (supervised) i 2. nenadgledano (unsupervised) obučavanje.

Ilustracije ovih pristupa su date na sledećim slikama 3.20 i 3.22.

142

Page 137: VEŠTAČKA INTELIGENCIJA

Slika 3.19 Algoritmi učenja

Učenje koje se nadgleda - koriste se ulazni podaci za koje su poznati izlazi pa se razlika željenog i izračunatog koristi za korekciju težina neuronske mreže. Bitno pitanje koje se tiče ovog tipa učenja je problem konvergencije greške - minimiziranje razlike izmedu dobijenog i željenog. Cilj je da se težine postave na vrednosti za koje će greška biti minimalna.

U postupku nadgledanog obučavanja mreži se prezentuju pobuda i korektan, tj. željeni odziv, koji se od nje očekuje. Za određivanje željenog odziva zadužen je učitelj ili supervizor. Stvarni odziv se poredi sa željenim, a mera odstupanja se prosleđuje proceduri za obučavanje. Na osnovu ove greške procedura učenja vrši promenu parametara mreže, težeći da minimizuje razliku između ova dva odziva.

Slika 3.20 Učenje koje se nadgleda

+-

+

143

Page 138: VEŠTAČKA INTELIGENCIJA

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

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.

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:

Slika 3.21. Lokalni i globalni minimum

144

Page 139: VEŠTAČKA INTELIGENCIJA

Učenje koje se ne nadgleda - je učenje samoorganizujuceg tipa. Mreži se prikazuju samo stimulativni ulazi, a ona sama sebe interno organizuje iako nema saznanje koji su izlazi korektni i da li uopšte imaju smisla za osobu koja trenira mrežu, tako da čovek mora ispitati završne kategorije (izlaze) da bi odredio korisnost rezultata.

Kod nenadgledanog obučavanja ne postoji informacija o željenom odzivu, pa shodno tome ne postoji ni supervizor. Od mreže i procedure učenja se očekuje da same uoče pravilnosti u ulaznim podacima i da definišu korektan odziv. Dakle, procedura učenja vrši promenu težina samo na osnovu poznavanja trenutnog ulaza i izlaza mreže.

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

Slika 3.22 Učenje koje se ne nadgleda

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.

145

Page 140: VEŠTAČKA INTELIGENCIJA

Slika 3.23 Ulazni i izzlazni sloj mreže

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 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. Kažemo da neuronska mreža uči off-line ako se faza učenja i faza korišćenja vremenski razlikuju (jedna faza sledi drugu, respektivno).

Neuronska mreža uči on-line ako se faza učenja i faza korišćenja vremenski poklapaju. Obično se učenje koje se nadgleda vrši off-line, a učenje koje se ne nadgleda vrši se on-line.

Pored ove podele, procedure za obučavanje neuronskih mreža možemo razvrstati i na statičke i dinamičke. Kod statičkih procedura tradicionalno se učenje obavlja izmenama težina u mreži već specificirane arhitekture. Za razliku od njih, dinamičke procedure učenja osim težina u procesu obučavanja menjaju i arhitekturu mreže. Prednost ovakvog pristupa se sastoji u tome što se veličina neuronske mreže automatski prilagođava problemu koji se rešava.

U prepthodnom izlaganju o arhitekturama veštačkih neuronskih mreža istaknuto je da su sa stanovišta primene u fazi neuronskim sistemima najznačajnije slojevite neuronske mreže. Ovde će biti prikazane ideje algoritma za nadgledano obučavanje mreža ovakve arhitekture. U pitanju je algoritam za obučavanje neuronskih mreža sa prostiranjem unazad (backpropagation).

146

Page 141: VEŠTAČKA INTELIGENCIJA

Propagacija (prostiranje) unazad (backpropagation)

U cilju pojašnjenja ovog veoma složenog procesa razmotrićemo ponovo još nekoliko detalja, ali iz drugog ugla posmatranja. Parcijalni izvodi funkcije greške se računaju rekurzivno. Zbog toga je backpropagation algoritam organizovan u dve faze. U prvoj fazi se na ulaz mreže dovodi signal nekog od trening uzoraka. Taj signal se prostire do izlaza, tj. sekvencijalno se računaju izlazi neurona počevši od onih u nultom sloju. Ova faza je poznata kao faza prostiranja unapred (forward phase).

Slika 3.24.: Procesorska jedinica mreže sa propagacijom unazad

Slika 3.25: Korekcija greške

147

Page 142: VEŠTAČKA INTELIGENCIJA

Nakon ove faze poznati su odzivi svih neurona u mreži. U sledećoj fazi se vrši modifikacija težina. Prvo se izračunavaju parcijalni izvodi greške u izlaznom sloju, pa se signal greške prostire od izlaza ka ulazu. Ovaj proces se naziva fazom prostiranja unazad (backward phase).

Pri tome se faze prostiranja unapred i unazad obavljaju sekvencijalno za sve uzorke trening skupa – skupa za obučavanje. Ciklus obrade svih uzoraka iz trening skupa naziva se epoha. Pri tome treba napomenuti da backpropagation zahteva postojanje diferencijabilnosti aktivacionih funkcija neurona.

“Učenje" je proces izračunavanja težina između neurona u mreži (Zahedi, 1993). Težine su veoma važan faktor koji određuje vrednost ulaza nekog neurona, a indirektno utiče i na njegov izlaz. U praksi postoje dva osnovna tipa učenja mreže:

• nadgledano,• nenadgledano.

Razlika između dva različita tipa učenja je u raspoloživosti poznatih izlaza u uzorku za treniranje. Kod nadgledanog učenja, skup podataka za treniranje se sastoji od prethodnih slučajeva sa poznatim ulaznim i izlaznim vrednostima. Sistem neuronske mreže prima stvarni izlaz, računa grešku i prilagođava težine u odnosu na datu grešku.

Suprotno tome, kod nenadgledanog učenja nisu poznati stvarni izlazi. Ulazi su raspoloživi mreži, a težine se ne prilagođavaju na osnovi stvarnih vrednosti izlaza. Takav tip učenja se obično upotrebljava za prepoznavanje uzoraka i klasiranje. Kohonen-ova samoorganizirajuća mreža temelji se na nenadgle-danom učenju. Svaka neuronska mreža u osnovi prolazi kroz tri operativne faze:

1. faza učenja (treniranja) – mreža uči na uzorku za treniranje, pri čemu se težine prilagođavaju u cilju minimiziranja ciljne funkcije, naprimer korena srednjeg kvadrata greške - RMS greška),

2. faza testiranja – mreža se testira na uzorku za testiranje, dok su pri tome težine fiksirane,

3. operativna faza – neuronska mreža se upotrebljava u novim slučaje-vima sa nepoznatim rezultatima (težine su takođe fiksirane).

148

Page 143: VEŠTAČKA INTELIGENCIJA

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 se ovi signali propagiraju dalje kroz mrežu, u skrivene slojeve, da bi se posle izvesnog vremena na izlazu pojavio rezultat.

Ovo se realizuje na sledeći način. Za svaki neuron se računa ulazna vrednost, na već objašnjen način: signali se množe sinaptičkim težinama koje su pridružene dendritima, posle toga se sabiraju, a zatim se na dobijenu vrednost primenjuje prenosna funkcija neurona. Signal se 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 pojedinačni izlazni ogranak se računa vrednost greške.

Ako su sve greške jednake nuli, dalja obuka nije potrebna – tj. 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 - vrednosti za koje 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:

OLpi = 1 / (1 + e-UlazLpi)

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 je problem što 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 se izabere suviše mala vrednost za stepen učenja, mreža može pogrešno identifikovati lokalni minimum i ostati u stanju koje nije optimalno. Takva situacija je prikazana na sledećoj slici 3.19.:

149

Page 144: VEŠTAČKA INTELIGENCIJA

Slika 3.26 Problemi vezani za pogrešan izbor minimuma

Kada se izvrši provera celog skupa 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čavanje

Samo-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 3.20. možemo videti mrežu sa 2 ulazna i 25 izlaznih neurona:

150

Page 145: VEŠTAČKA INTELIGENCIJA

Slika 3.27. Primer mreže sa dva 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 postoji naime 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 i što se tiče topologije i broja neurona.

U nastavku će biti objašnjeno kako radi Kohonenov algoritam. Na početku se mreži 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:

Di

1

n

j

Ij Wij2

=

151

Page 146: VEŠTAČKA INTELIGENCIJA

Č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, potrebno je identifikovati i njegovu okolinu. To su jednostavno čvorovi, tj. neuroni koji se nalaze oko njega, kao na slici:

Slika 3.28. Primer pobedničkog čvora i njegove okoline

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

Ht = H0(1 - t/T)

U toku učenja ažuriraju se vrednosti sinaptičkih težina čvorova u oblasti H i to tako, da se 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.

152

Page 147: VEŠTAČKA INTELIGENCIJA

3.14. Primer procesa obučavanja neuronskih mreža

Proces obučavanja neuronskih mreža započinje zadavanjem slučajnih vrednosti težinskih koeficijenata veza i dovođenjem odgovarajućih ulaznih sisgnala na ulazni sloj. Zatim se mreža aktivira i upoređuju se stvarni izlazni i zadati izlazni oblik signala, vrednosti ili krivi.

Obučavanje se vrši tako da se ažuriraju težinski koeficijenti sa ciljem da se u sledećoj iteraciji dobija izlaz koji je bliži zadatoj vrednosti. U trenutku kad se postigne zadovoljavajući rezultat sa jednim ulaznim oblikom, na ulaz se dovodi drugi, itd. Kad se završi sa svim oblicima signala ili krivi iz obučavajućeg skupa, na ulaz mreže se dovodi ponovo prvi ulazni oblik.

Ova procedura se nastavlja sve dotle 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 ostaju nepromenjeni. Tek tada, posle završenog obučavanja, mreža se može primeniti za predviđeni zadatak.

Na sledećem primeru će biti prikazano kako jedan neuron može da nauči da reši problem inkluzije (isključivo ILI), koji inače predstavlja ozbiljan problem u simboličkoj logici. Prikaz inkluzije dat je u tabeli 3.4.

Slučaj Ulaz X1 Ulaz X2 Željeni rezultat1 0 0 02 0 1 13 1 0 14 1 1 1

Tabela 3.4. Pregled inkluzije (isključivo ILI)

Proces učenja se sastoji u prezentovanju različitih ulaza neuronu, pri čemu se težine podešavaju prilikom svake iteracije. Ovaj proces se ponavlja sve dok se ne smanji greška između željenih i stvarnih vrijednosti na dovoljno prihvatljivu meru. Vrednost greške (delta) se koristi za podešavanje težina da bi se rezultat približio željenom. Greška se u svakom koraku računa pomoću formule :

Delta = ZJ - YJ

gde Z i Y predstvaljaju željeni i stvarni izlaz. U nastavku je data formula po kojoj se vrši podešavanje težina :

Wi (konačno) = Wi (početno) + (alfa) * (delta) * (Xi)

153

Page 148: VEŠTAČKA INTELIGENCIJA

gde je alfa parametar koji kontroliše brzinu učenja (u datom primeru 0.2), koji se vrlo često u literaturi naziva koeficijent ubrzanja. U datom primeru vrednost praga je jednaka 0.5.

KorakPočetno Konačno

X1 X2 Z W1 W2 Y Delta W1 W1

1

0 0 0 0.1 0.3 0 0.0 0.1 0.30 1 1 0.1 0.3 0 1.0 0.1 0.51 0 1 0.1 0.5 0 1.0 0.3 0.51 1 1 0.3 0.5 1 0.0 0.3 0.5

2

0 0 0 0.3 0.5 0 0.0 0.3 0.50 1 1 0.3 0.5 0 1.0 0.3 0.71 0 1 0.3 0.7 0 1.0 0.5 0.71 1 1 0.5 0.7 1 0.0 0.5 0.7

3

0 0 0 0.5 0.7 0 0.0 0.5 0.70 1 1 0.5 0.7 1 0.0 0.5 0.71 0 1 0.5 0.7 0 1.0 0.7 0.71 1 1 0.7 0.7 1 0.0 0.7 0.7

4

0 0 0 0.7 0.7 0 0.0 0.7 0.70 1 1 0.7 0.7 1 0.0 0.7 0.71 0 1 0.7 0.7 1 0.0 0.7 0.71 1 1 0.7 0.7 1 0.0 0.7 0.7

Tabela 3.5.. Pregled učenja mreže u svim koracima

Težinama se na početku dodeljuju slučajne vrednosti, a odnos učenja alfa ima relativno malu vrednost. U tabeli 3.5. je dat pregled svih koraka, odnosno podešavanje težina kroz korake sve do kraja treninga koji se završava kada počne da se dobija željeni rezulatat. Kada je trening završen neuron je spreman da obavlja zahtevanu operaciju.

154

Page 149: VEŠTAČKA INTELIGENCIJA

3.15. Pravila učenja

Pravilo učenja se definiše odgovarajućom formulom koja se upotrebljava za prilagođavanje težina veza između neurona. Od velikog broja do sada razvijenih različitih pravila učenja, najčešće se koriste sledeća četiri:

• Delta pravilo,• Uopšteno Delta pravilo,• Delta-Bar-Delta, odnosno, Prošireno Delta-Bar-Delta pravilo,• Kohonen-ovo pravilo.

1) Delta praviloDelta pravilo je poznato i kao Widrow/Hoff-ovo pravilo, ili pravilo

najmanjih kvadrata, jer ima za cilj da minimizira ciljnu funkciju određivanjem vrednosti težina. Cilj je minimizirati sumu kvadrata grešaka, gde je greška definisana kao razlika između izračunatog i stvarnog (željenog) izlaza nekog neurona za date ulazne podatke.

Jednačina koja se koristi kod primene Delta pravila glasi:

gde je η je koeficijent učenja, a Δw ji vrednost prilagođavanja težine veze od neurona j prema neuronu i izračunatom prema sledećoj formuli:

Ycj je vrednost izlaza izračunatog kod neurona j, dok je εi je sirova greška koja se izračunava prema sledećoj jednačini:

gde je ydi je željeni (stvarni) izlaz koji se upotrebljava za izračunavanje greške, a Ycj je vrednost izlaza izračunatog kod neurona j. Sirova greška se vrlo retko širi unazad kroz mrežu.

155

Page 150: VEŠTAČKA INTELIGENCIJA

2) Uopšteno Delta pravilo

Uopšteno Delta pravilo je dobijeno uvođenjem derivacije ulazne funkcije u Delta pravilo tako da se prilagođavanje težina sada izračunava prema sledećoj jednačini:

gde je Ii ulaz u neuron i. Pokazalo se da je ovo pravilo dobro koristiti kod nelinearnih prenosnih funkcija.

3) Delta-Bar-Delta i Prošireno Delta-Bar-Delta pravilo

Kao što se moglo videti iz prethodnog odeljka, koeficijent učenja η je veoma važan parametar kada su u pitanju brzina i efikasnost učenja neuronske mreže, a tipično se određuje kao jedan korak učenja za sve veze u mreži. Delta-Bar-Delta pravilo učenja je razvio Jacobs 1988. (NeuralWare, 1998) u cilju poboljšanja brzine konvergencije kod klasičnog Delta pravila. To je pristup lokalizacije koeficijenata učenja η na način da svaka veza u mreži ima svoj korak učenja i menja te korake kontinuirano kako učenje napreduje.

Dinamičko podešavanje težina u DBD pravilu se izvodi prema Saridis-ovom pristupu. Stopa učenja neke veze u mreži se povećava ako je predznak težine za tu vezu isti u nekoliko vremenskih koraka (ili u nekom području na grafu sa relativno malom zakrivljenošću). Sa druge strane, kada se predznak težina menja za određeni broj vremenskih koraka, stopa za takvu vezu se smanjuje. Na taj način se jednačina Delta pravila modifikuje tako da je stopa učenja različita za svaku vezu:

Povećavanje težina se izvodi linearno, dok se smanjivanje težina izvodi geometrijski. Uprkos svojim prednostima u odnosu na klasično Delta pravilo, Delta-Bar-Delta ima i određenih nedostataka, kao što su:

• u jednačinu učenja ne uključuje momentum, • zbog linearnog povećavanja stope učenja, mogu se pojaviti veliki skokovi

koji često mogu uzrokovati da se preskoče važna područja u površini greške, što se ne može sprečiti sporim geometrijskim smanjivanjem stope.

156

Page 151: VEŠTAČKA INTELIGENCIJA

4) Prošireno-Delta-Bar-Delta pravilo

U cilju prevazilaženja ovih nedostataka, Prošireno-Delta-Bar-Delta pravilo (EDBD), predloženo od strane Minai and Williams (u NeuralWare, 1998) uvodi momentum αk koji također varira s vremenom. Momentum se upotrebljava za sprečavanje saturacije težina u mreži, a EDBD pravilo omogućuje lokalno dinamičko podešavanje ovog parametra, tako da pravilo učenja postaje:

gde je α k momentum veze k u mreži, a t je vremenska tačka u kojoj se težine veze k prilagođavaju. I stope učenja i momentum se podešavaju eksponencijalno, a ne linearno ili geometrijski kao kod DBD pravila. Napred navedena pravila učenja koriste željeni (stvarni) izlaz za izračunavanje greške, te se prema tome može reći da uče nadgledano. Ako željeni izlaz nije poznat, potrebno je upotrebiti neko od nenadgledanih učenja, kao što je Kohonen-ovo pravilo.

5) Kohonen - ovo pravilo

Obzirom da Kohonen-ova mreža ne uči na poznatim izlazima, kod ovog pravila se težine prilagođavaju koristeći ulaz u neuron i:

gde je extinputi ulaz koji neuron i prima iz spoljašnje okoline. Kohonen-ovo pravilo se upotrebljava u Kohonen-ovoj samo-organizirajućoj mreži.

157

Page 152: VEŠTAČKA INTELIGENCIJA

Propagacija unazad - Backpropagation

Backpropagation je skraćenica od back error propagation što bi moglo da se prevede kao "širenje greške unazad". Ovo je najviše korišćen algoritam učenja i prilično je lak za implementaciju. Da bi se mreža koja uči na osnovu ovog algoritma koristila, potreban je prethodni trening mreže. Backpropagation mreža je tipa feed-forward i ima jedan ili više skrivenih slojeva.

Poćinje se od izlaznog sloja, a razlika (odnosno greška) izmedu željenih i stvarnih izlaza se računa da bi se na osnovu nje popravile vrednosti težina u prethodnom sloju. Princip se može jasno sagledati sa sledeće slike:

Slika 3.29. Arhitektura Backpropagation mreže

Za svaki neuron izlaznog sloja, greška (delta) se izračunava kao:

gde su Z i Y, željeni i stvarni izlaz, respektivno. Sigmoidna funkcija

f = [1+exp(-x)]-1

je efikasan način da se izračuna izlaz neurona (gde je x proporcionalno sumi umnožaka ulaza i težina).

158

Page 153: VEŠTAČKA INTELIGENCIJA

Izvod sigmoidne funkcije (df/dx )=f (1-f)

i greška su jednostavna funkcija željenih i stvarnih izlaza. Faktor f (1-f ) je logistička funkcija koja drži korekciju greške u odredenim

granicama. Težina svakog ulaza u j-ti neuron se popravlja proporcionalno ovoj izračunatoj grešci.

Procedura ovog algoritma sastoji se iz sledećih koraka:

1. Inicijalizacija težina (slučajna). 2. Učitavanje ulaznog vektora i željenog izlaza. 3. Propuštanje ulaznog vektora kroz mrežu i dobijanje izračunatog izlaza. 4. Izračunavanje greške. 5. Podešavanje težina idući unazad od izlaznog sloja ka skrivenim slojevima.

Procedura se ponavlja za ceo set ulaznih vektora sve dok se željeni i stvarni ulazi ne poklope, uzimajući u obzir neku toleranciju greške. Velikoj mreži može biti potrebno mnogo vremena za podešavanje, tako da se ponekad unapred zadaje određeni broj iteracija učenja umesto tolerancije. Sa svakim novim skrivenim slojem, vreme učenja se znatno povećava.

Ovaj algoritam učenja je prilično jednostavan i veoma često se koristi. Jedna od zamerki je da je prilično spor, pa su razvijeni određeni modaliteti sa heurističkim poboljšanjima, kakvi su Quickpropagation, Delta-Bar-Delta, Gram-Schmidt signal decorrelation i drugi.

Kako smo već pomenuli između različitih do sada razvijenih algoritama učenja, najčešće se koristi Backpropagation algoritam tako da ćemo ga u nastavku još jednom detaljnije objasniti. Algoritam učenja predstavlja formulu koja se upotrebljava za prilagođavanje težina veza između neurona. Algoritam učenja mreže baziran na principu backpropagtion je bio taj koji je neuronske mreže učinio široko upotrebljavanom i popularnom metodom u različitim područjima primene. Ova mreža se sastoji od ulaznog sloja, izlaznog sloja i najmanje jednog takozvanog skrivenog sloja, sa vezom unapred.

Na slici 3.30 prikazana je na nešto drugačiji način tipična arhitektura Backpropagation mreže (zbog boljeg pregleda prikazan je samo jedan skriveni sloj):

159

Page 154: VEŠTAČKA INTELIGENCIJA

Slika 3.30 Arhitektura Backpropagation mreže

Tok podataka kroz mrežu se ukratko može opisati u sledećih nekoliko koraka:

1) od ulaznog sloja prema skrivenom sloju: ulazni sloj učitava podatke iz ulaznog vektora X, i šalje ih u prvi skriveni sloj;

2) u skrivenom sloju: jedinice u skrivenom sloju primaju ulaz i prenose ga u naredni skriveni ili u izlazni sloj koristeći prenosnu funkciju;

3) kako informacije putuju kroz mrežu, računaju se sumirani ulazi i izlazi za svaku jedinicu obrade;

4) u izlaznom sloju: za svaku jedinicu obrade, računa se skalirana lokalna greška koja se upotrebljava u određivanju povećanja ili smanjenja težina;

5) propagiranje unazad od izlaznog sloja do skrivenih slojeva: skalirana lokalna greška, te povećanje ili smanjenje težina se računa za svaki sloj unazad, počevši od sloja neposredno ispred izlaznogsloja sve do prvog skrivenog sloja, i težine se podešavaju.

Kada ulazni sloj šalje podatke u prvi skriveni sloj, svaka jedinica skrivenog sloja prima ulaz iz ulaznog sloja (početne težine su postavljene slučajno, (najčešće u intervalu od –0.1 do 0.1) prema sledećoj formuli (3.7.3) :

160

Page 155: VEŠTAČKA INTELIGENCIJA

(3.7.3)

gde je Ij[s] ulaz u neuron j u sloju s , Wji

[s] je težina veze od neurona j prema neuronu i (u sloju s-1). Jedinice u skrivenom sloju prenose svoje ulaze prema formuli (3.7.4) :

(3.7.4)

gdje je Xj[s] izlaz neurona j u sloj s , a f je prenosna funkcija (sigmoidna ili neka

druga).Ako postoji više od jednog skrivenog sloja, gore navedena prenosna

funkcija se upotrebljava kroz sve skrivene slojeve sve dok se ne dostigne izlazni sloj. U izlaznom sloju izlaz mreže se uspoređuje sa željenim (stvarnim) izlazom, i određuje se globalna greška E pomoću formule (3.7.5) :

(3.7.5)

gdje je dk željeni (stvarni) izlaz, dok je xk izlaz mreže, a k je indeks izlazne komponente, tj. broj izlaznih jedinica. Svaka izlazna jedinica ima vlastitu lokalnu grešku E čiji je sirovi oblik (dk-xk), ali ono što se propagira kroz mrežu je skalirana greška u obliku gradijent komponente (3.7.6) :

(3.7.6)

Cilj procesa učenja u Backpropagation mreži je da se minimizira gornja globalna greška šireći je unazad u veze kroz mrežu sve do ulaznog sloja. U procesu menjanja težina, svaka veza u mreži se koriguje kako bi se postigla manja globalna greška. Proces povećanja ili smanjenja težina (učenje) se zvodi korišćenjem pravila gradijentnog opadanja (5.8):

(3.7.7)

161

Page 156: VEŠTAČKA INTELIGENCIJA

gdje je η koeficijent učenja. Da bi se izračunali parcijalni poticaji u gornjoj jednačini, može se koristiti (3.7.6), što daje:

(3.7.8)Kada se gornji rezultat uvrsti u formulu (3.7.7), podešavanje težina je:

(3.7.9)

što vodi do glavnog problema postavljanja odgovarajuće stope učenja. Postoje dve međusobno konfliktne smernice za određivanje η. Prva smernica je održavati η na niskoj vrednosti jer ona određuje područje u kome je površina greške lokalno linearna. Ako mreža pretenduje da može predvideti jaku zakrivljenost, takvo područje bi trebalo biti vrlo malo. Međutim, vrlo mali koeficijent učenja znači vrlo sporo učenje. U cilju rešavanja ovog problema, prethodne razlike težina u vremenu (t-1) su dodate su u jednačinu (3.7.9), tako da je trenutno podešavanje težina:

(3.7.10)

gde je alfa momentum, koji ubrzava učenje kada je koeficijent učenja nizak. Učenje se može takođe ubrzati na taj način da se težine ne podešavaju za svaki vektor treniranja, nego kumulativno, pri čemu se broj vektora treniranja nakon kojeg se težine podešavaju zove epoha. Epoha koja nije jako velika može unaprediti brzinu konvergencije, ali vrlo velika epoha može računanje greške učiniti mnogo složenijim i na taj način umanjiti prednosti.

Postoji još jedan problem koji se može pojaviti u Backpropagation mreži, a to je da će neke jedinice obrade prestati da uče ako njihove ulazne težine postanu velike. U tom slučaju sumirane vrednosti ulaza postaju velike i težine dolaze u zasićenje - saturiraju (dobijaju vrijednosti 0 ili 1) dovodeći poticaj u vrednost 0 i skaliranu grešku u vrednost 0.

Takvo zasićenje - saturiranje se može sprečiti dodavanjem male vrednosti F’offset parametra u poticaj sigmoidne prenosne funkcije. Eksperimentalno je dokazano da je vrednost 0.1 adekvatna za sigmoidnu, a vrednost 0.3 za hiperboličko-tangentnu prenosnu funkciju (Fahlmann, 1988 kao i u NeuralWare, 1998).

162

Page 157: VEŠTAČKA INTELIGENCIJA

Backpercolation

Backpercolation (ili skraćeno Perc) je takođe algoritam za feed-forward mreže, ali se kod ovog algoritma težine ne menjaju shodno grešci izlaznog sloja, kao kod backpropagation algoritma, već se greška izračunava za svaki neuron posebno, pa se na osnovu te greške podešavaju i težine. Ovo je efikasan način da se smanji broj ciklusa treniranja.

Algoritam se sastoji iz sledećih koraka:

Inicijalizacija težina (slučajna). Propuštanje ulaznog vektora kroz mrežu i dobijanje izlaza pri čemu se

računa globalna greška. Greška se vraća unazad u skriveni sloj kao u backpropagation. Računa se lokalna greška za svaki neuron. Ova greška predstavlja

vrednost za koju treba da se promeni izlaz ovog neurona da bi se globalna greška smanjila.

Sve težine se podešavaju prema lokalnoj grešci. Ako je potrebno, parametar uvećanja greške se adaptira u svakoj epohi

učenja.

Glavne karakteristike ovog algoritma su:

Stabilnost treninga ne degradira kad ima više skrivenih slojeva. Trening zahteva samo lokalna izračunavanja (vezana za jedan neuron u

jednom trenutku). Trening ne dovodi do automatskog povećanja broja elemenata u

arhitekturi. Težine konvergiraju relativno brzo ka dobijanju arbitrarno tacnog izlaza.

Obzirom da su u pitanju samo lokalna izračunavanja, nema inverzije matrica, ugnježdenih iterativnih pretraživanja ili samo-rekonfiguracije kao ni ostalih tehnika za koje je potrebno duže vreme da bi se mogle obaviti.

Fahlman i Lebiere nazivaju faktor koji doprinosi slaboj konvergenciji backpropagation algoritma "problem pokretne mete". Oni dalje navode: "zbog menjanja svih težina u mreži istovremeno, svaki neuron skrivenog sloja vidi sredinu koja se stalno menja. Zbog toga, umesto da se kreće brzo i zauzme

163

Page 158: VEŠTAČKA INTELIGENCIJA

koristan položaj u rešenju celokupnog problema, neuron se uključuje u složen 'ples' sa mnogo nepotrebnog kretanja."

3.16Postupak rada sa neuronskom mrežom

Prikupljanje i priprema podataka

Kada je problem jasno definisan, potrebno je prikupiti podatke. Set podataka se sastoji iz određenog broja slučajeva (vektora), od kojih svaki sadrži određeni broj vrednosti za ulazne i izlazne varijable. Tada je potrebno doneti odluku koje će se promenljive koristiti. Izbor varijabli mora biti intutitivan, a ekspertiza u određenoj oblasti će nejčešće dati ideju koje promenljive mogu imati kakav uticaj. Na početku, dobro je uključiti sve promenljive za koje se smatra da mogu imati uticaj pa se tokom treninga određene promenljive mogu odbaciti ako se utvrdi da je njihov uticaj marginalan ili da ga nema. Veliki broj savremenih aplikacija ima sposobnost samostalnog određivanja neuticajnih promenljivih. Podaci se dele na podatke za trening i podatke za testiranje. Na osnovu podataka za trening vrši se učenje mreže tj. podešavanje težina dok se podaci za testiranje koriste za validaciju mreže. Vrsta ulaznih podataka umnogome određuje topologiju i algoritam učenja. Sa druge strane, anticipirana topologija mreže i algoritam učenja utiču na izbor podataka. Podaci moraju biti u numeričkom obliku, a ako postoje kvalitativne kategorije i nominalne promenljive, mora se naći način da se izraze u numeričkom obliku. Na primer, neuronska mreža koja treba da procenjuje vrednost nekretnina kao ulaznu promenljivu mora da ima gradsku opštinu koja utiče na cenu nekretnine. Iako bi najlakše bilo da se ova promenljiva ostavi kao nominalna, trening bi bio otežan, pa treba uvesti rejting.

Podaci moraju biti određenog kvaliteta, tj. ne smeju biti dvosmisleni i treba se potruditi da imaju što manje grešaka. Iako gotovo sve savremene aplikacije omogućavaju prepoznavanje "problematičnih" setova podataka i njihovu izolaciju, podaci moraju pokriti i izuzetke kao i granične uslove domena problema. Neuronske mreže su prilično tolerantne, čak i na podatke sa šumom, ali ova tolerancija ima svoju granicu.

Priprema za trening

164

Page 159: VEŠTAČKA INTELIGENCIJA

Neophodno je pre svega izabrati algoritam učenja. Pre nego što se počne sa treningom, mora se odrediti nekoliko parametara, kao što je vrednost parametra koji determiniše brzinu učenja (alfa), zatim veličina praga (threshold) i na kraju, početna vrednost težina. Zatim je potrebno izvršiti izbor strukture mreže.

Broj ulaznih i izlaznih čvorova je određen samim podacima za trening, ali se postavlja pitanje koliko skrivenih slojeva treba uvesti i koliko svaki sloj treba da ima neurona. Neki alati imaju mogućnost da sami odrede najbolju strukturu.

Na kraju, potrebno je podatke formatirati u skladu sa zahtevima konkretne mreže i njenog algoritma.

Obučavanje - vežbanje - trening mreže

Mreži se prezentiraju podaci za trening i ona uči sve dok nije u stanju da proizvede izlaz koji zadovoljava unapred definisanu toleranciju. Kao što je već rečeno, obzirom da ova faza može da traje veoma dugo, nekada se unapred zadaje maksimalan broj iteracija.

Veći broj podataka obezbeđuje bolju obučenost mreže, ali zahteva više vremena za učenje. Problem kod treninga je, što se ne minimizira greška za koju smo zainteresovani - greška koja će se javiti kad se istreniranoj mreži predoči novi ulazni slučaj - već se minimizira greška na setu podataka za trening. Jedna od najproblematičnijih manifestacija ovog problema je situacija kada se mreža "preuči" (over-learning problem).

Kompleksnije mreže (sa više skrivenih slojeva i više neurona) su podložnije ovoj pojavi. Ovo se najlakše može objasniti, ako zamislimo da naša mreža pokušava da modelira krivu, koja prolazi kroz tačke, koje određuju vrednosti u podacima za trening. Kako se učenje odvija, kriva sve bolje odgovara podacima. Medutim, u određenom trenutku, kriva počinje da uzima u obzir i svaki "podatak sa velikim šumom" koji je rasut daleko ispod ili iznad krive i neizbežno se zbog toga deformiše.

Ovo se zove "memorizacija" pa kriva nije više u stanju da predviđa dobro na novim podacima. Analogno navedenom primeru, kriva ne odgovara novim podacima, jer je "zaboravila" osnovno kretanje iz podataka za trening.

Signal za opasnost od memorizacije je onda kada predviđanje na osnovu novih podataka postaje sve lošije iako se greška na podacima za trening smanjuje.

Neke aplikacije pružaju mogućnost da prilikom treninga klasifikuju relevantne i nebitne ulazne promenljive, tako da se ovi drugi mogu izostaviti što neće uticati na sposobnost generisanja izlaza.

165

Page 160: VEŠTAČKA INTELIGENCIJA

Testiranje mreže

Testiranje mreže se vrši sa podacima za testiranje. Testiranje omogućava korisniku da proveri valjanost funkcionisanja mreže tako što će izlaze koje mreža generiše, porediti sa znanim izlazima i utvrditi da li zadovoljavaju predeterminisanu toleranciju (od mreže se dakle, ne očekuje savršeno funkcionisanje – odnosno funkcionisanje bez greške). Ovakvo testiranje se obično naziva testiranje tipa "crna kutija".

Rezultat se može porediti sa drugim načinima klasifikovanja, kao naprimer sa višestrukom regresijom. Poznato je da višestruka regresija uspešno klasifikuje ulaze u 50% slučajeva, a postoji mnogo primera da neuronske mreže sa samo jednim skrivenim slojem značajno nadmašuju ovaj procenat.

Kao i trening, testiranje mora da uključi i rutinske i nerutinske slučajeve kao i ostale problematične situacije. Ako postoje velike devijacije, potrebno je izvršiti novo obučavanje mreže i ako je neophodno, potrebno je isključiti problematične podatke.

Čak i ako neuronska mreža pokaže stepen tačnosti koji je na nivou kao kod neke druge tradicionalne metode, ipak ima više razloga da se prednost da korišćenju mreže. Naime, mreža se može lako modifikovati i prilagoditi drugačijem problemu, dok je kod tradicionalnih metoda to najčešće veoma veliki posao ili je potpuno nemoguće.

Postavlja se pitanje koliko podataka treba koristiti za obučavanje, a koliko za testiranje. U literaturi se može naći odnos prema kome se 70% podataka može iskoristiti za obučavanje, a preostalih 30% za testiranje. Svakako, ovu podelu treba uzeti više kao orijentacionu smernicu jer svaki konkretan primer zahteva i specifičan pristup.

Implementacija

Prilikom implementaciji neuronske mreže, projektant je najčešće u situaciji da mora doneti brojne odluke kao što su naprimer:

Koliki obim podataka za trening i testiranje treba izabrati Zatim koje algoritme učenja treba izabrati Koju topologiju treba izabrati – odnosno broj neurona i njihovu konfi-

guraciju (ulazi, slojevi, izlazi). Potrebno je odrediti i funkciju transformacije Takođe je neophodno definisati koja brzina učenja treba da se izabere Na kraju je potrebno definisati koji alati će se koristiti za dijagnozu i

vrednovanje.

166

Page 161: VEŠTAČKA INTELIGENCIJA

3.17. Neuronske mreže i hardver neophodan za njihovo funkcionisanje

Većina aplikacija neuronskih mreža simuliraju paralelno procesiranje na sekvencijalnim računarima tako što se umesto posebnog procesora za svaki neuron, koristi jedan procesor koji vrši sekvencijalnu obradu. Neuroni se definišu matematički i dodeljuju im se odgovarajuće težine. Neuronska mreža se zapravo simulira na sekvencijalnom računaru. Ovakvo procesiranje zbog toga najčešće iziskuje mnogo vremena. Sa veoma brzim razvojem u oblasti hardvera došlo se do računarskih arhitektura koje su mnogo pogodnije za računanje koje se koristi u neuronskim mrežama. Paralelno procesiranje vezano za neuronske mreže, podrazumeva da svaki neuron u mreži ima svoj procesor što drastično poboljšava performanse, neuronske mreže, a pre svega značajno skraćuje vreme učenja. Naime često nešto ozbiljniji trening iziskuje i milione iteracija pa su zbog toga razvijeni sledeći hardverski pristupi:

Koristiti brze klasične računare sa brzim procesorom ili RISC radnu stanicu. Pentium procesori brzine od 4 GHz. se u ovom trenutku već uveliko koriste za ove namene.

Paralelni procesori koji se koriste za opštu upotrebu, mogu se veoma dobro primeniti i za neuronske mreže, kojima je paralelna obrada osnovna premisa.

Specijalno razvijeni "Neuronski čipovi" – se u osnovi razlikuju od konvencionalnih, jer sadrže veliki broj neuronskih čvorova. Međutim ovakva integralna kola se retko koriste, koristi ih izuzetno vojska za specijalne svrhe, kao što je donošenje odluka u situacijama odnosno namenama gde je vreme za odluku kritično.

Ploče za ubrzavanje – to su specijalni procesori za paralelnu obradu, koji se mogu dodati konvencionalnim računarima (slično kao matematički ko-procesori). Oni mogu biti specijalno dizajnirani za neuronske mreže ili služiti za paralelno procesiranje velike brzine.

167

Page 162: VEŠTAČKA INTELIGENCIJA

3.18. Osnovne razlike između neuronskih mreža i klasičnih računara

Neuronske mreže se razlikuju u odnosu na tradicionalne računare (PC računare, radne stanice, i mainframe računare) kako po formi tako i prema svom funkcionisanju. Dok neuronska mreža koristi veliki broj jednostavnih procesora da bi obavila potrebne kalkulacije, tradicionalni računari koriste jedan ili, u ređim slučajevima, svega nekoliko veoma kompleksnih procesorskih jedinica. Neuronska mreža ne poseduje centralno lokalizovanu memoriju, niti se programira nizovima – odnosno sekvencama instrukcija, kao što se to radi kod svih tradicionalnih računara.

Klasični računari uglavnom rade na binarnoj logičkoj osnovi i tada koriste algoritamski način obrade podataka (najčešće sekvencijalni) sa veoma niskim stepenom paralelizacije. U algoritamskom načinu obrade podataka računar u isto vreme obrađuje informacije samo jednu po jednu ili u boljem slučaju istovremeno obrađuje manji broj informacija. Za razliku od ovakvog pristupa obrade podataka, NM procesuira istovremeno više informacija, tj. može se reći da bi najbolja varijanta za NM bila da je svaki neuron u suštini po jedan procesor.

Razvoj NM je doveo do novih arhitektura računara koji se u mnogome razlikuju od računara kakvi su danas rasprostranjeni.

Ako bismo posmatrali primer prepoznavanja slova, algoritamsko rešenje bi zahtevalo da se zadato slovo uporedi sa svim slovima u bazi, slovo po slovo, dok NM može da uporedi zadato slovo istovremeno sa svim slovima, a rešenje je slovo sa najvećom verovatnoćom. Ovo je moguće jer se memoriji pristupa uz pomoć sadržaja, a ne adrese.

Kod klasičnih računara su elementi obrade informacija i elementi memorisanja informacija potpuno odvojene komponente. Kod neuronske mreže memorisanje i obrada predstavljaju jednu kompaktnu celinu. Podaci koji su vezani za rad neuronske mreže nemaju nikakav smisao bez jedinica obrade.

Neuronska mreža se razlikuje od tradicionalnih računara po načinu na koji se “programira”.

Umesto programa napisanih u obliku serije instrukcija, kao što to rade klasični računari, za rešavanje istih problema se može upotrebiti obučena NM, kod koje arhitektura i težinski koeficijenti određuju njenu funkciju. Koeficijenti se podešavaju tokom obučavanja na ograničenom skupu karakterističnih primera. Kada se mreža obuči do zadovoljavajuće granice, vrednosti veza se mogu memorisati i koristiti u kasnijem radu.

Kod klasičnih računara softver mora biti gotovo savršen da bi radio. Razvoj softvera pri tome zahteva iscrpan dizajn, testiranje i postepeno usavršavanje, što ga čini dugim i skupim procesom. Sa druge strane NM omogućavaju evolutivni razvoj softvera, tj. NM mreže se mogu naknadno adaptirati prema realnim uslovima ili pak u

168

Page 163: VEŠTAČKA INTELIGENCIJA

skladu sa novo nastalim uslovima. Neuronske mreže imaju sposobnost da menjaju svoju strukturu i funkciju, za razliku od klasičnih algoritama koji nemaju toliku fleksibilnost.

Decentralizovana obrada i memorisanje omogućavaju neuronskim mrežama da nastave da funkcionišu i u uslovima kada se deo mreže ošteti (tj. kada jedan deo neurona prestane da funkcioniše ili se neke veze prekinu). Oštećena mreža će i dalje biti u stanju da funkcioniše, ali sa delimično smanjenom tačnošću.

Mreža je takođe tolerantna i na prisustvo šuma u ulaznom signalu. Naime svaki memorisani uzorak je delokalizovan, tj. smešten je u celu mrežu. Ova osobina je još jedna veoma važna osobina NM.

U nastavku ćemo navesti još neke karakteristike po kojima se NM razlikuju od klasičnih računara.

Neuronske mreže imaju drugačiji pristup rešavanju problema od konvencionalnih računara. Konvencionalni računari koriste algoritamski pristup to jest računari slede redosled seta instrukcija da bi rešili problem. Dokle god nisu poznati svi specifični koraci koje računar treba da izvršava on nije u mogućnosti da reši problem. Te ograničavajuće mogućnosti konvencionalnih računara odnose se na rešavanje problema koje mi već razumemo i znamo kako da ih rešimo. Međutim računari će svakako biti mnogo korisniji kada budu mogli da urade neke stvari koje ni mi ne znamo tačno kako da uradimo.

Neuronske mreže obrađuju informacije na sličan način kao i ljudski mozak. Mreža je sastavljena od velikog broja međusobno čvrsto povezanih elemenata obrade (Neurona) koji rade uporedno na rešavanju specifičnih problema. One ne mogu biti programirane da izvršavaju specifične zadatke. Neuronske mreže uče pomoću primera. Primeri moraju biti odabrani pažljivo inače će upotrebljeno vreme u radu sa njima biti protraćeno. Nedostatak je to što mreža mora sama da sazna kako da reši problem, te njen postupak u radu kao i rezultati rada prilikom obučavanja ponekada mogu biti nepredvidivi.

Sa druge strane, konvencionalni računari koriste kognitivni pristup rešavanja problema. Kod njih mora biti poznat način rešavanja problema i naveden sa malim relativno jednostavnijim nedvosmislenim komandnim instrukcijama. Ove instrukcije se zatim konvertuju u viši programski jezik, a posle toga u mašinski kod, koji računar može da razume.

Neuronske mreže i konvencionalni računarski algoritmi nisu u konkurenciji, ali mogu značajno da upotpunjuju jedan drugog. Postoje zadaci koji su primereni algoritamskom pristupu kao što su aritmetičke operacije, ali i zadaci koji su više primereni neuronskim mrežama. Šta više, veliki broj zadataka zahteva sisteme koji će koristiti kombinaciju ova dva pristupa (konvencionalni računari mogu da se koriste za nadgledanje neuronskih mreža) kako bi se postigla maksimalna efikasnost.

169

Page 164: VEŠTAČKA INTELIGENCIJA

Prednosti neuronskih mreža

Prednost neuronskih mreža je njihova sposobnost da uče, što im daje prirodniji interfejs za modeliranje realnog sveta, u odnosu na klasične sisteme, koji moraju biti u potpunosti programirani. Neuronske mreže su u stanju da pronađu veze između pojava koje izmiču ljudskom intelektualnom aparatu, čak i kada je potpomognut klasičnim softverskim alatima.

Neuronske mreže imaju i mogućnost tolerancije nedostataka – naime mreža se sastoji od više elemanata procesiranja, pa tako može da funkcioniše i ako dode do oštećenja dela mreže. Neuronske mreže su sposobne da generalizuju – uopštavaju, pa ako im se prezentuje čak i nekompletan skup ulaznih podataka, mreža će ipak biti u stanju da obezbedi odgovarajući izlaz.

Nedostaci i ograničenja neuronskih mreža

Neuronske mreže ne rade dobro uglavnom ono što ni ljudi ne rade dobro. Treba imati na umu da one nisu dobre za aritmetičke proračune i klasične zadatke obrade podataka. Pored toga, iako imju odličnu moć predviđanja, nažalost one imaju slabu sposobnost objašnjavanja.

Na sledećoj slici 3.31 je prikazan dijagram zavisnosti moći predviđanja i objašnjavanja.

Slika 3.31. Dijagram zavisnosti sposobnosti – moći predviđanja i objašnjavanja kod neuronskih mreža i stabala odlučivanja

170

Page 165: VEŠTAČKA INTELIGENCIJA

Sa dijagrama se jasno vidi da neuronske mreže odlično predviđaju, a slabo objašnjavaju kako su došle do određenih rezultata ili zaključaka, što je potpuno suprotno od naprimer ES ili stabala odlučivanja. Neuronska mreža ne može da objasni korisniku kako je došla do određenog rešenja.

Pored toga dugo vreme obučavanja - treninga takođe može da predstavlja problem, a ako je za određene mreže potreban čest trening, to može učiniti te aplikacije neupotrebljivim.

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.

171

Page 166: VEŠTAČKA INTELIGENCIJA

3. 19. Primena neuronskih mreža

Prirodni neuroni su znatno komplikovaniji od veštačkih. Mehanizmi širenja i rasta aksonskih ogranaka, formiranje novih veza, razvoj ćelija, kao i promene lokalnog ćelijskog metabolizma su samo neka od pitanja kojima se i danas posvećuje velika pažnja. Vrlo je interesantan problem razvoja mozga fetusa, jer se pokazalo 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 (Very Large Scale of Integration) znatno brži od prirodnih neurona, visok stepen povezanosti prirodnih neurona, zatim njihov ogroman broj i još veći broj sinapsi, čine prirodne nervne sisteme nedostižnim za savremenu 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 su neke njihove mogućnosti daleko slabije u odnosu na ljudski mozak u praktičnom životu, nalaze sve veći broj primena. Na primer, upotrebljavaju se u obradi signala, analizi podataka, prepoznavanju karaktera i raznim kontrolama, kompresiji slike, konverziji jezika, postavljanju dijagnoza, prepoznavanju govora, psihijatrijskim proce-nama, analizi električnih kola, kompresiji zvuka, predviđanju kretanja na tržištu, izboru osumnjičenih u kriminološkim istraživanjima prema otiscima prstiju. izgledu itd., analizi medicinskih testova, spektralnoj analizi itd.

Zbog svega navedenog, mnogi istraživači nazivaju neuronske mreže poslednjom ljudskom tehnologijom.

I pored toga što mnogi korisnici možda još uvek ne shvataju u potpunosti njihov rad, neuronske mreže, nalaze sve veći broj primena. Tako se na primer upotrebljavaju u obradi signala, analizi podataka, raznim kontrolama, kompresiji slike, kompresiji zvuka, konverziji jezika, postavljanju dijagnoza, prepozna-vanju govora, psihijatrijskim procenama, analizi električnih kola, predviđanju konjukturnih 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 najsavremenijom - poslednjom ljudskom tehnologijom.

172

Page 167: VEŠTAČKA INTELIGENCIJA

Osnovni razlozi primene neuronskih mreža

Neuronske mreže su sa njihovim izuzetnim mogućnostima u stanju da izvuku smisao ili obezbede rešenja iz kompleksnih ili nepreciznih podataka obzirom da mogu da prepoznaju zakonitosti ili detektuju trendove, što se najčešće ne može postići konvencionalnim ljudskim i računarskim tehnikama.

Uvežbane neuronske mreže mogu da razmišljaju kao “vrhunski eksperti” u domenu informacija koje su im date na analizu.

Prednosti neuronskih mreža su takođe:• Prilagodljivo učenje. Naime neuronske mreže imaju sposobnost da nauče

kako da izvrše zadatak na osnovu datih podataka za obučavanje mreže ili inicijalnog iskustva.

• Samo-organizacija. Neuronske mreže mogu da kreiraju vlastitu orga-nizaciju i način predstavljanja informacija koje su primile za vreme učenja odnosno obuke mreže.

• Stvarno vreme delovanja. Proračuni neuronskih mreža mogu biti sprovedeni uporedno odnosno paralelno, pa su tako dizajnirani i proizvedeni posebni hardverski uređaji koji imaju zadatak su da iskoriste prednosti koje im obezbeđuju ove osobine neuronskih mreža.

• Otpornost na greške. Parcijalno kvar neuronske mreže dovodi do odgovarajućeg pada performansi. Ipak neke mrežne mogućnosti mogu biti sačuvane čak i kada na mreži postoje značajniji kvarovi ili oštećenja.

• U početku su NM uglavnom koristili naučnici iz oblast 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. Prema najnovijim informacijama koriste se u 85 % firmi u SAD.

Karakteristične oblasti primene neuronskih mreža

Primena neuronskih mreža se može u osnovi podeliti na sledeće tri karakteristične oblasti: • procesiranje senzorskih informacija • analiza podataka • kontrola upravljanja

173

Page 168: VEŠTAČKA INTELIGENCIJA

Neuronske mreže se kako je već pomenuto koriste u brojnim i najra-zličitijim oblastima. U nastavku ćemo navesti samo neke:

NM se primenjuju u raznim oblastima ekonomije. Imaju uspeha na finan-sijskim tržištima gde nelinearna priroda finansijskih podataka čini primenu klasičnih metoda veoma teškom;

Pokazale su se superiorne u predviđanju vrednosti akcija u odnosu naprimer na statističke metode;

Mogu se uspešno koristiti svuda gde je potrebno donošenje odluka na osnovu velikog broja promenljivih;

Veoma su pogodne za ocenu kreditne sposobnosti preduzeća (da li mu odobriti zajam ili ne), čak mnogo bolje u odnosu na brojne stručnjake iz te oblasti;

NM su takođe veoma pogodne za predviđanje vremenskih serija vezanih za tražnju – kod marketinških istraživanja i analize tržišta odnosno kod predviđanja broja i karaktera budućih kupaca, ponašanja kupaca u narednom periodu, prilikom prepoznavanja odgovarajućih ciljnih grupa – kada je u pitanju segmentiranje tržišta i definisanje marketinških niša;

Veoma su pogodne za primenu u prepoznavanju oblika, kao što je prepoznavanje karaktera, a naročito kod prepoznavanja rukopisa;

NM se mogu veoma uspešno koristiti za razne vrste dijagnosticiranja, pre svega medicinskog, kao i za modeliranje, naprimer, kardiovaskularnog sistema, ili naprimer za psihijatrijske procene;

Mogućnosti koje pružaju NM u proučavanju rada mozga su još uvek nedovoljno istražene i u toj oblasti se tek mogu očekivati veliki rezultati;

Obzirom na ogroman broj podataka i velike mogućnosti učenja NM se mogu veoma uspešno primenjivati u oblasti vremenskih prognoza;

NM su pokazale neprocenjive vrednosti u kriminološkim itraživanjima; Za vojne primene, kao naprimer za automatsko prepoznavanje mete i

mnoge druge teško da bi se moglo naći neko bolje rešenje od primene NM, koje su i u ovoj oblasti dale rezultate od neprocenjive vrednosti.

prepoznavanje govora, finansijske i ekonomske modele, predviđanje kretanja cena na tržištu, upravljanje sistemima, upravljanje proizvodnim procesima, kompresovanje podataka, naftna istraživanja, analizu medicinskih testova, ispitivanje EEG i EKG signala, pronalaženje optimalnog rešenja,

174

Page 169: VEŠTAČKA INTELIGENCIJA

upravljanje robotima, analiziranje podataka pri pirolizi i spektroskopiji, Predviđanje prodaje Kontrola industrijskog procesa Istraživanje kupaca Validacija podataka Upravljanje rizikom kao i u mnogim drugima oblastima.

Pored ovih nabrojanih primena, neuronske mreže se takođe mogu koristiti u sledećim specifičnim oblastima : prepoznavanje raznih govornika u komunikacijama, ponovno osposobljavanje komunikacija prilikom pada mrežnog softvera, interpretacija naprimer kineskih reči, detekcija podvodnih mina, prepoznavanje lica itd.

Neuronske mreže u biznisu

Biznis je u mnogim svojim segmentima još uvek neistražena oblast sa nekoliko specijalizovanih područja kao što su račuvodstvo ili finansijska analiza. Postoje veliki potencijali za korišćenje neuronskih mreža u poslovne svrhe, uključujući i raspodelu resursa i planiranje. Takođe postoji veliki potencijal za korišćenje neuronskih mreža za takozvano “bunarenje podataka”, to je postupak koji u stvari predstavlja traženje implicitnog uzorka u okviru eksplicitnih informacija smeštenih u bazu podataka. Većina valjanih radova u ovoj oblasti je patentirana, pa prema tome nažalost nije moguće doći do sveobuhvatnih podataka i šema, koje bi objasnile njihov rad. Neuronske mreže se koriste i u neke druge poslovne svrhe, a neke od važnijih su naprimer: podrška prodaji i analiza kredita.

Neuronske mreže u medicini

Neuronske mreže su idealne za dijagnostiku odnosno prepoznavanje bolesti. Pri tome se koriste prethodni pregledi, ali bez potrebe obezbeđivanja specifičanog algoritma za identifikaciju bolesti. Naime, obzirom da neuronske mreže uče na primerima veoma često neki detalji, naprimer kako da se identifikuje bolest nisu ni potrebni. Sve što je potrebno su pažljivo odabrani uzorci varijacija svih bolesti. Neuronske mreže se naprimer eksperimentalno koriste za model ljudskog kardiovaskularnog sistema.

Dijagnoza može biti uspostavljena izgradnjom modela zasebnog kardiovaskularnog sistema i poređenja sa stvarnim psilogičkim merama uzetim

175

Page 170: VEŠTAČKA INTELIGENCIJA

od pacijenta. Neuronske mreže su takođe sposobne da detektuju složene medicinske uslove pomoću povezivanja podataka dobijenih iz različitih biomedicinskih senzora.

Neuronske mreže se takođe koriste za implementacijuu elektronskog njuha. Elektronski njuh ima nekoliko potencijalnih primena u telemedicini. Telemedicina omogućava vršenje medicinskih usluga na daljinu putem komunikacionog linka i uzima sve više maha u savremenoj medicini.

176

Page 171: VEŠTAČKA INTELIGENCIJA

3.20. Umesto zaključka

Neuronske mreže su u mnogome unapredile svet računara. Njihova mogućnost da uče na primerima ih čini veoma fleksibilnim i moćnim. Osim toga nije potrebno izmišljati algoritme da bi se izvršili specifični zadaci, to jest nije uvek potrebno razumeti proces odvijanja nekog posla ili mehanizam tog zadatka. One su takođe veoma dobro osposobljene za primenu kod sistema koji rade u realnom vremenu zbog njihovog brzog odziva i vremena izračunavanja koje je znatno skraćeno zahvaljujući paralelnoj arhitekturi.

Slika 3.32. Sličnosti čoveka i računara

Neuronske mreže takođe pomažu i mogu se koristiti i drugim područjima istraživanja kao što su menadžment, medicina, a posebno neurologija i psihologija, hemija, biologija, nanotehnologije, biotehnologije itd.

Veoma često se neuronske mreže koriste kao model dela živih organizama i u istraživanju unutrašnjeg mehanizma mozga. Možda je najuzbudljiviji aspekt primene neuronskih mreža pretpostavka da će jednoga dana “svesne” neuronske mreže ugledati svetlost dana. Neki naučnici su naime dokazali da je svest mehanička osobina i da su “svesne” neuronske mreže i stvarno moguće.

177

Page 172: VEŠTAČKA INTELIGENCIJA

Na kraju treba napomenuti da neuronske mreže imaju ogroman potencijal i da se mogu najbolje iskoristiti i dobiti najviše od njih, ako se integrišu sa računarima, ostalim segmentima veštačke ineligencije, primenom

Fuzzy logike i ostalih povezanih elemenata. Neuronska mreža je u stanju da uči, kao i da “registruje - evidentira” primere, i iskustveno “pamti” ali ne i da se seća, da ne govorimo o rekonstrukciji i prisećanju pojedinačnih primera.

Čovekovo sećanje je fazi logično. Sećamo se ljudi, predmeta, događaja delimično, ali ipak dovoljno. Čak i kada je sećanje egzaktno ono je samo specijalni slučaj fazi sećanja.

Ovo nije slučajno, jer su i prirodni zakoni fazi prirode. To je ustanovio već pomenuti Maks Plank postavljajući temelje kvantne teorije. Razliku, interval između dve različite vrednosti na izlazu neurona moguće je smatrati celobrojnim umnoškom nekog “neuronskog kvanta”. Pošto izlaz jednog sloja predstavlja ulaz u naredni sloj može se reći da su i ulazi u neuron kvantovani.

Takođe, lako je po analogiji identifikovati i zabranjene nivoe i zone odnosno izlaze neurona. Ovako posmatrano neuroni se mogu uporediti sa poluprovodničkim elementima povezanim u najrazličitijim varijantama.

178

Page 173: VEŠTAČKA INTELIGENCIJA

4. FUZZY LOGIKA

Engleska reč Fuzzy se može prevesti kao nejasan, maglovit ili zamrljan. Fuzzy teorija je specifično projektovana za predstavljanje ljudskog znanja i zaključivanja na takav način da se može jednostavno predstaviti na računaru. Ona omogućava uvođenje matematičkog formalizma za opisivanje nejasnosti, neodređenosti ili dvosmislenosti reči ili fraza, koje se mogi koristiti u svakom prirodnom jeziku (visok, star, veoma slično, skoro sigurno, ...). Fuzzy teorija je ustanovljena 1965. godine od strane profesora Lofti A. Zadeh-a uvođenjem fuzzy skupova.

Kvantifikacija neodređenosti

Skoro svi prirodni jezici sadrže neodređenosti i višestruko značenje. Pridevi, posebno, nisu uvek jasni i jednoznačni; dvosmisleni su u širini svog značenja. Na primer, ako kažemo "visoka osoba" ne možemo jasno odrediti ko je visok ili ko nije visok. Neodređenost izraza "stara osoba" dolazi od prideva "star". U inženjerstvu, posebno, pridevi koji imaju u sebi količinu su česti (opisuju stanja i uslove različitih stvari).

Uzmimo za primer neodređenost značenja "visok" i "star" u smislu koje izražava količinu. Sa rasponom visine od 140 cm do 200 cm, stepen visine x [cm] koja se može nazvati visokim je m (0 Ł m Ł 1). Ako je horizontalna osa x, a vertikalna osa m, grafik će izgledati kao na slici 9. Ovaj grafik pokazuje dvosmislenost "visok" u značenju količine (kvantiteta), i izražen je preko parametra m. Na isti način neodređenost značenja "star" je prikazana na slici 10.

179

Page 174: VEŠTAČKA INTELIGENCIJA

Slika 9. Skala "visokih" ljudi Slika 10. Skala "starih" ljudi

180

Page 175: VEŠTAČKA INTELIGENCIJA

Ovakav način prikazivanja reči se zove "kvantifikacija značenja". Grafik se ponekad zove "kvantifikovano značenje". Značenje reči je kvantifikovano u posebnom opsegu; za visinu je taj opseg od 140 cm do 200 cm, a za starost od 20 do 80 godina.

Većina prideva je kvantifikovana u smislu dimenzije značenja, kao visina, godine ili širina, ali apstaraktni brojevi kao "mali broj" ili "veliki broj" takođe mogu biti kvantifikovani dimenzionalno. Kao dodatak, značenje "intimni prijatelj" u okviru grupe od 10 ljudi može biti kvantifikovano. U ovom slučaju imena 10 ljudi su raspoređena po horizontalnoj osi pri čemu ovde ne postoji veza sa količinom.

U okviru fuzzy teorije skupova radi se sa kvantifikacijom značenja reči u okviru teorije skupova. To je pokušaj da se izrazi poput "visok" ili "star" predstave preko koncepta skupova. U osnovi, pojam skupova nije neophodan za kvantifikaciju neodređenosti, ali je moguće povećati opseg korisnosti radeći u okvirima teorije skupova. Pre svega zato što je teorija skupova osnovni pojam i povezan je sa svim poljima savremene matematike.3

Fuzzy teorija je specifično projektovana za predstavljanje ljudskog znanja i zaključivanja na takav način da se može jednostavno predstaviti na računaru. Ona omogućava uvođenje matematičkog formalizma za opisivanje nejasnosti, neodređenosti ili dvosmislenosti reči ili fraza, koji se javljaju u prirodnom jeziku.

Skoro svi prirodni jezici sadrže neodređenosti i višestruko značenje. Pridevi, posebno, nisu uvek jasni i jednoznačni; dvosmisleni su u širini svog značenja. Na primer, ako kažemo "visoka osoba" ne možemo jasno odrediti ko je visok ili ko nije visok. Neodređenost izraza "stara osoba" dolazi od prideva "star". U inženjerstvu, posebno, pridevi koji imaju u sebi količinu su česti (opisuju stanja i uslove različitih stvari).

Za razliku od formalne logike u kojoj se rezonovanje vrši sa dve vrednosti (tačno-netačno, 0-1), fuzzy logika koristi brojeve iz intervala [0,1], što je mnogo bliže realnosti, ljudskom razmišljanju i izražavanju. Mnoge pojave u prirodi je teško opisati sa samo dva stanja koja se međusobno isključuju. Fuzzy logika omogućava opisivanje takvih “nepreciznih” sistema.

Teorija fuzzy logike je dugo prisutna u literaturi. Još šezdesetih godina L. Zadeh je udario temelje konceptu koji je tek krajem osamdesetih doživeo procvat, i to uglavnom zahvaljujući primeni u oblasti automatske kontrole (npr.

3

180

Page 176: VEŠTAČKA INTELIGENCIJA

u japanskim podzemnim železnicama). Klasični metodi za kontrolu poznati kao PID (Proportional Integrative Derivative) imaju kao manu to što zahtevaju poznate i dobro definisane analitičke modele procesa koji se kontrolišu, što u mnogim slučajevima predstavlja teškoću.

Budući da se sistemi koji rade na principima fuzzy logike ne oslanjaju na matematičke modele već na ograničen skup pravila izvedenih na bazi ljudskog iskustva, postaje jasnije zašto su pogodniji za kontrolu složenih, slabo proučenih sistema i procesa.

Iako toga nije ni svesna većina ljudi je u određenim situacijama u svom životu imala kontakta sa konvencionalnom ali isto tako i sa fazzi logikom. U konvencionalnoj logici određeno tvrđenje je tačno ili netačno i ništa između toga. Ovaj princip tačno-netačno je još pre 2000 godina formulisao Aristotel kao zakon koji isključuje sredinu, i dominirao je u zapadnjačkoj logici sve do nedavno. Međutim ideja da su stvari potpuno tačne ili netačne je u velikoj meri besmislena.

Fuzzy logika nudi mnogo bolji način predstavljanja realnosti, naime, u fuzzy logici tvrđenje tačno ima više nivoa i to : od potpuno tačnog preko polu-tačnog do potpuno pogrešnog.

Osnovna ideja ove multi-vrijednosne logike istraživali su mnogi matematičari u prošlom vjeku. Fuzzy teorija daje sasvim novi pristup razmišljanju kod matematičara, promenila je paradigmu zapadnog sveta naučnika i matematičara, ali kao i svaka druga promena u početku je nailazila na odbijanja izuzev u zemljama dalekog istoka gde dvo-vrednosna Aristotelova logika nije bila duboko ukorenjena.

Računarske alatke koje će specijalista (knowledge engineer) koristiti za razvijanje ekspertnog sistema naziva se FLOPS (Fuzzy LOgic Production System). Ovaj alat se razvijao već ranih 80-tih godina i bazirao se na Fuzzy sistem teoriji, Fuzzy logici, Fuzzy postavkama i Fuzzy brojevima. Upotreba Fuzzy matematike je dala FLOPS-u neke značajne prednosti. Moguće je naime, koristiti reči kao što su mali, srednji, brzo, polako, itd., koje su mnogo pogodnije nego brojevi. Dvosmislenosti i kontradikcije lako mogu biti ugrađene i rešene, a i same pretpostavke ne predstavljaju problem.

Pomoću fuzzy logike se može utvrditi istina za kombinaciju dve izjave A i B. Obe izjave, i A i B su tvrdnje, na primjer :

Petar je čovjek. ili Ja nemam dovoljno slobodnog vremena ove nedelje.

U konvencijonalnoj logici i A i B moraju biti ili tačni ili netačni. Izjava (A i B) je tačna samo ako su A i B svaki za sebe tačni. Kako fuzzy logika riješava ovaj problem. Da bi definisali fuzzy istinitu vrednost izjave (A i B) ako je fuzzy istinita vrednost od A i od B poznata, koristi se jednostavno rešenje

181

Page 177: VEŠTAČKA INTELIGENCIJA

ovog problema : istinitost (od A i B) zajedno je minimum od istinite vrednosti A i minimum od istinite vrednosti B.

Fuzzy sets (postavke)

U matematici koncept postavki je veoma jednostavan i u isto vreme veoma važan. Jednostavno rečeno set je skup stvari, te stvari mogu biti bilo šta. Stvari ili pripadaju ili ne pripadaju nekom setu slično kao i ideja u logici da su iskazi ili tačni ili netačni. 1965. godine Lotfi Zadeh je koncipirao ideju Fuzzy set. Fuzzy set je onaj kome predmeti mogu pripadati u različitom stepenu i oni se nazivaju stepen članstva u FLOPS-u. Član pripada jednom fuzzy setu kao broj koji se proteže od 0 (što je apsolutno pogrešno) do 1000 (apsolutno tačno).

Fuzzy numbers (brojevi)

Jedan od najvažnijih članova fuzzy sistema su fuzzy brojevi. Fuzzy broj je običan broj koji precizira vrednost nečega što je nesigurno i neodređeno.

Veoma pogodan način da se opisuju fuzzy brojevi je korištenje reči za modifikovanje, kao što su na primer : oko, blizu, grubo rečeno i sl. Ove reči su nazvane hedges u fuzzy matematičkim krugovima.

Sa fuzzy brojevima možemo praviti aproksimativna poređenja. Ovo je veoma korisno kada se iz baze traže podatci koji ne zahtevaju striktnu tačnost ili granicu u davanju nekog rezultata.

Koncept fuzzy logike

Koncept fuzzy logike počiva na tri principa čije mesto u algoritmu odgovara redosledu navodjenja:

fazifikacija - precizne - jednoznačne vrednosti kojima se izražava stanje sistema i okoline pretvaraju se u izraze iz svakodnevnog života (hladno, toplo, sporo, retko itd.), uz stepene pripadnosti pomenutim ocenama.

rešavanje problema - skup fazifikovanih vrednosti upoređuje se sa pohranjenim znanjem u obliku IF - ELSE konstrukcija, pri čemu postoji i THEN grana koja definiše željenu akciju kao odgovor na ulazni skup.

defazifikacija - dobijeno rešenje se vraća u normalan - jednoznačan oblik koji se onda može primeniti na objekat kontrole.

Uzmimo za primer navedeni primer na početku izlaganja o fazi logici vezano za neodređenost značenja "visok" i "star" u smislu koje izražava

182

Page 178: VEŠTAČKA INTELIGENCIJA

količinu. Sa rasponom visine od 140 cm do 200 cm, stepen visine x [cm] koja se može nazvati visokim je m (0 Ł m Ł 1). Ako je horizontalna osa x, a vertikalna osa m, grafik će izgledati kao na slici 1. Ovaj grafik pokazuje dvosmislenost "visok" u značenju količine (kvantiteta), i izražen je preko parametra m. Na isti način neodređenost značenja "star" je prikazana na slici 2.

Slika 1. Skala "visokih" ljudi Slika 2. Skala "starih" ljudi

Ovakav način prikazivanja reči se zove "kvantifikacija značenja". Grafik se ponekad zove "kvantificirano značenje". Značenje reči je kvanitficirano u posebnom opsegu; za visinu je taj opseg od 140 cm do 200 cm, a za starost od 20 do 80 godina.

Većina prideva je kvantifikovana u smislu dimenzije značenja, kao visina, godine ili širina, ali apstaraktni brojevi kao "mali broj" ili "velik broj" takođe mogu biti kvantifikovani dimenzionalno. Kao dodatak, značenje "intimni prijatelj" u okviru grupe od 10 ljudi može biti kvantifikovano. U ovom slučaju imena 10 ljudi su raspoređena po horizontalnoj osi pri čemu ovde ne postoji veza sa količinom.

U okviru fuzzy teorije skupova radi se sa kvantifikacijom značenja reči u okviru teorije skupova. To je pokušaj da se izrazi poput "visok" ili "star" predstave preko koncepta skupova. U osnovi, pojam skupova nije neophodan za kvantifikaciju neodređenosti, ali je moguće povećati opseg korisnosti radeći u okvirima teorije skupova. Pre svega zato što je teorija skupova osnovni pojam i povezan je sa svim poljima savremene matematike.

183

Page 179: VEŠTAČKA INTELIGENCIJA

Fazi u običnom životu

Pojam fazi (engl. FUZZY - maglovit, nejasan) se najbolje može razumeti na osnovu jednog primera iz svakodnevnog života. Ujutro, kada krećete na posao, školu ili negde drugde, obično pitate nekoga od svojih ko je malo pre bio van kuće: ”Kakvo je vreme napolju?”. Pitanje je postavljeno sa namerom da odaberete odeću tako da se prilagodite vremenu.

Posmatrajući problem izbora odeće malo apstraktnije, može se primeniti sledeći način zaključivanja: ako je hladno treba uzeti toplu zimsku jaknu, a ako je toplo uzeti majicu kratkih rukava. Da li ste zadovoljni ovakvim savetom? Međutim šta ako je napolju prijatno vreme koje zahteva umerenu odeću, recimo lakšu prolećnu jaknu? Očigledno da opis vremenskih prilika oznakama toplo i hladno nije dovoljan. Potrebna je nekakva finija logika da bi savet stvarno bio koristan. Uvođenje oznaka jako hladno, srednje hladno, malo hladnije, umereno hladno, malo toplije, srednje toplo, vruće i jako vruće može da pomogne u ovakvoj situaciji jer se na osnovu preciznijeg opisa može lakše odabrati odeća. Ovakav pristup postepenosti i laganih prelaza (prepoznavanja situacije) odgovara načinu kako fazi logika pristupa problemima i kako ih rešava.

U oblasti automatike se može primeniti sličan “algoritam”. Neka je zadatak regulacija temperature. Na Slici 1. je prikaz sistema upravljanja (grejač, termometar, posuda sa vodom, mikrokontroler - koji su povezani u jednu celinu). Malim slovima su označene sledeće veličine: r je referentna vrednost temperature (proizvoljno je odabrano 40°C). c je stvarna temperatura vode u posudi, e je razlika referentne i stvarne vrednosti i naziva se greška upravljanja (e=r-c), u je upravljačka promenljiva i predstavlja snagu grejača.

Sistem regulacije funkcioniše tako što se na osnovu referentne vrednosti (r) i izmerene temperature (c) odredi kolikom snagom grejača (u) treba grejati da bi se postigla i održavala zadata temperatura.

Slika 1. Primer regulacije temperature vode u posudi

184

Page 180: VEŠTAČKA INTELIGENCIJA

Pravougaoni blok predstavlja regulator-mikrokontroler koji upravlja procesom. U sintezi regulatora polazi se prvo od procesa koji se može kratko opisati: posudu sa vodom greje grejač promenljive snage (upravljačka promenljiva u je iz intervala 0-Pmax). Dakle, snaga grejača se može menjati što utiče na brzinu zagrevanja vode.

Regulator kao celinu čini mikrokontroler sa programom u kome je sadržan algoritam upravljanja koji je opisan funkcijom F(e) koja izračunava upravljanje (snagu grejača odnosno položaj komutatora). Funkcija F(e) predstavlja suštinu upravljanja, ili u prenesenom značenju “inteligenciju”.

Ne ulazeći u detalje hardvera i softvera, ovde se želi pokazati vrlo jednostavno fazi zaključivanje koje se može iskoristiti kod regulacije temperature. Poenta je u tome kako dozirati (algoritam) dovođenje i odvođenje toplotne energije dok je tehnička realizacija sekundarni problem, odnosno merenje i fizički smisao upravljanja u praksi su podposlovi koji zahtevaju šire objašnjenje.

Naime, termometar za merenje i otpornici koji utiču na struju kroz grejač (slika 1.) se trebaju shvatiti slikovito. Promena temperature u vremenu je prikazana na slici 2.

Slika 2. Dijagram temperatura - vreme

Na početku, temperatura je najudaljenija od zadane, ali se vremenom ta razlika treba smanjiti na nulu.

Dvopoložajni algoritam upravljana se rečima može opisati: ako je stvarna temperatura (npr. 8°C ) manja od zadane (40°C) neka je snaga grejača maksimalna. Dakle, grejač greje “svom snagom” sve dok se ne postigne zadata temperatura.

Bilo bi lepo kada okolina nebi uticala na temperaturu vode u posudi jer tada više nebi bilo potrebno nikakvo grejanje. Međutim ako je temperatura okoline na primer 15°C tada će ona tako delovati na posudu sa vodom da se

185

Page 181: VEŠTAČKA INTELIGENCIJA

voda počinje hladiti. Zbog toga je potrebno dalje održavati temperaturu vode na sledeći način:

ako je temperatura manja od 39°C snaga grejača max. ako je temperatura veća od 41°C snaga grejača je 0.

Napred opisani način regulacije je poznat kao dvopoložajni regulator sa histerezisom i upotrebljava se kada se ne zahteva visok kvalitet regulacije pri čemu treba težiti da se dobije što jeftiniji regulator.

Slika 3. Dvopoložajni regulator sa histerezisom

Postavlja se pitanje da li takav način regulacije ima smisla primenjivati ako se za regulaciju koriste mikrokontroleri? Za njegovu relizaciju su dovoljne analogne elektronske komponente (komparatori, pojačavači itd.) čime se postiže niža cena (bimetal je tipičan primer) nego ako se koristi mikrokontroler čije su memorije za skladištenje programa reda desetina kilobajta i namenjene za složenije algoritme upra

186

Page 182: VEŠTAČKA INTELIGENCIJA

Pseudo-fazi regulator

Fazi pristup celom problemu je malo finiji. Iskreno rečeno ono što sledi nije pravo fazi-logičko zaključivanje ali se radi boljeg razumevanja može smatrati kao da jeste. Sledeće pitanje, koje je posledica konstrukcije samog sistema upravljanja, jeste: kako iskoristiti promenljivu snagu grejača? Nekako logično izgleda sledeće intuitivno zaključivanje:

ako je temperatura mnogo manja od zadane onda je snaga grejača maksimalna

ako je temperatura manja od zadane onda je snaga grejača malo manja od maksimalne

ako je temperatura malo manja od zadane onda je snaga grejača puno manja od max.

ako je temperatura približna zadanoj onda je snaga grejača 0.

U gornjem primeru postoje 4 fazi pravila. Fazi pravilo na razumljiv način opisuje akciju (kolika treba da bude snaga grejača) na osnovu poznatog podatka (trenutna vrednost temperature).

Slika 4. Pseudo - fazi ili četvoropoložajni regulator

Broj fazi pravila se može menjati kao i upravljačka akcija “kolikom snagom treba grejati” na osnovu poznavanja realnog sistema. Snaga grejača se izračunava po formuli P=(U/(RG+R))2 *R (R je ili R1 ili R2), gde je U mrežni

187

Page 183: VEŠTAČKA INTELIGENCIJA

napon od 220V, RG je otpornost grejača, a R je otpornost otpornika vezanog na red čiji je zadatak da kontroliše struju kroz kolo. Otpornici su tako podešeni da se dobije odgovarajuća snaga na grejaču. Maksimalna snaga je Pmax=U2/RG (položaj 1), a minimalna je 0 (položaj 2).

Postoje još dve vrednosti snage (U/(RG+R1))2 *R1=0.6Pmax i (U/(RG+R2))2 *R2=0.3Pmax (položaji 2 i 3 respektivno), gde je R1=0.28RG i R2=0.85RG. Prethodni račun je naveden radi ilustracije, naime, disipacija energije na otpornicima drastično ruši iskorištenje električne energije pa se ovakav način regulacije obično ne primenjuje.

Zbog toga se u praksi primenjuje i mpulsno širinska modulacija (PWM - Pulse Width Modulation), a ne otpornici na red koji su samo poslužili za ilustraciju kako se podešava promenljiva snaga grejača. PWM je posebna tema koja zahteva malo detaljnija objašnjenja i ovde se ne analizira. Zbog čega je uvedena opisna podela stvarne temperature, pa upravo zbog toga što se na taj način rečima običnog jezika finije opisuju upravljačke akcije.

Ako se prikupljanje informacija o vrednosti temperature ograniči samo na to da li je stvarna temperatura veća od zadane ili ne, tada se ne može poreći siromaštvo takve informacije. Količina i još više kvalitet informacija koje postoje u fazi logici su mnogo veći pa je i kvalitet akcije kao odgovor na informaciju mnogo efikasniji.

Često i sam čovek kada preduzima određenu akciju sa nekim ciljem, pri čemu će se lakše odlučiti ako zna prave informacije i ako ih zna protumačiti. Naravno, potrebno je pronaći takav kompromis jer čoveku previše informacija može biti i smetnja. Tako i u slučaju fazi pravila treba odabrati optimalan broj koji još uvek jasno sadrži logiku koja se može razumeti.

AlgoritamKako na kraju izgleda taj veoma, veoma pojednostavljeni fazi regulator

temperature. Prevodeći pravila koja su izražena rečima na inženjerski jezik, postupak regulacije temperature izgleda kako je to prikazano na sledećoj listi.

Algoritam možda izgleda previše običan i nematematički. Međutim, postoje situacije kada je primena klasičnih algoritama upravljanja povezana sa velikim teškoćama. Takve situacija je na primer regulacija objekta upravljanja koji je izrazito nelinearan.

U takvim neodređenim problemima primena fazi logike može biti korisna. Iskreno rečeno, gornji algoritam predstavlja četvoropoložajni regulator sa programiranim pragovima prelaza. U stvari, to je lagani korak prema fazi regulatorima jer se vrednost neke fizičke veličine izrazi običnim rečima.

Ideja pravog fazi upravljanja i jeste da čovek “rečima” opiše svoje poznavanje nekog sistema kako bi se to znanje “pretočilo” u upravljačke algoritme. Ovakav pristup se može opisati kao “račun pomoću reči” (engl. CW - Computing with Words).

188

Page 184: VEŠTAČKA INTELIGENCIJA

Algoritam: fazi regulator temperature

izmeri se stvarna vrednost temperature c(0) izračuna se greška e(0)=r-c(0) to je maksimalna greška emax=e(0) k=1 labela1 meri se stvarna temperatura c(k) izračuna se e(k)=r-c(k) izračuna se relativna greška erel=e(k)/emax

ako je: erel > 0.8 onda je u=Pmax erel > 0.6 I erel <= 0.8 onda je u=0.6Pmax erel > 0.1 I erel <= 0.6 onda je u=0.3Pmax erel <= 0.1 onda je u=0 skok na labelu1 posle isteka vremena T (k=k+1),

gde 0,1,…,k-1,k,k+1,… predstavljavu trenutke odabiranja 0,T,…,(k-1)T,kT,(k+1)T,… itd., a T je perioda odabiranja (konstantni vremenski interval između dva merenja)

Jednakost u prenesenom smislu, fazi logika = CW, čiji je autor Lofti A. Zadeh jedan od najeminentnijh stručnjaka u oblasti inteligentnog upravljanja sistemima, najbolje odražava suštinu fazi logike.

Fazi logički kontroleri

Sa razvojem mikroračunarske tehnike otvorene su velike mogućnosti na polju digitalnog upravljanja sistemima. Informacije dobijene merenjima se brzo obrađuju i moguće je ostvariti upravljanje složenim sistemima koje je vrlo teško matematički opisati - modelovati. Softver za upravljanje postaje raznovrstan, a ljudska kreativnost dolazi do izražaja. Jedan relativno nov pristup upravljanju je primena fazi regulatora. Suština je u formiranju programskog koda koji implementira znanje čoveka eksperta o nekim procesom.

Automatsko upravljanje procesima i mašinama je do pojave mikroračunara bilo zasnovano na analognim regulatorima. Iako su digitalni upravljački algoritmi u odnosu na analogne sporiji, prednosti koje su omogućene upravljanjem na bazi softvera su višestruke.

189

Page 185: VEŠTAČKA INTELIGENCIJA

Detalji aparature

Jedna od značajnih prednost je i fleksibilnost u pogledu realizacije upravljanja pomoću softvera, koji se po potrebi može menjati kako bi se prilagodio eventualnim promenama u sistemu upravljanja. Danas se u literaturi i časopisima prezentuju savremene metode upravljanja koje u mnogim uslovima pokazuju dobre rezultate. Konkretno se to odnosi na primenu neuronskih mreža i fazi logike na upravljanje sistemima.

Digitalno upravljanje

Digitalno upravljanje otvara mogućnost primene nekih novih postupaka koje analogni regulator ne može (ili vrlo teško) da odradi: akviziciju podataka, identifikaciju sistema, adaptivno upravljanje itd. (pojmovi poznati iz teorije digitalnog upravljanja). Za digitalne sisteme se vezuju dva važna pojma: diskretizacija po vremenu (pojam periode odabiranja) i kvantizacija po nivou.

Periodom odabiranja se definišu sukcesivni trenuci u kojima se vrši odabir kontinualnih veličina. Kvantizacija kontinualne veličine nastaje usled AD konverzije. Primena inteligentnog upravljanja se može razumeti na osnovu potrebe da se izvrši regulacija neke fizičke veličine u sledećim uslovima:

1. Na realne sisteme neprekidno deluju različiti poremećaji 2. Realni procesi su većinom nelinearni 3. Sami procesi su promenljivi.

190

Page 186: VEŠTAČKA INTELIGENCIJA

Navedeni uslovi se često sreću u praksi i zbog toga je neophodno inteligentno upravljanje.

Faze projektovanja FLC

Fazi logički kontroler (FLC) je jedan način takvog upravljanja koji je naročito pogodan za sisteme koji se vrlo teško mogu modelovati. Kod projektovanja Fazi regulatora redosled operacija je sledeći:

1. Analiza procesa. 2. Dobijanje pravila od strane eksperta. 3. Simulacija fazi regulatora, ako se ne dobiju željeni rezultati ponoviti ceo

postupak.

Realizacija FLC u digitalnom sistemu upravljanja se svodi na pisanje programskog koda (ovde je korišten programski jezik C) koji na osnovu zadate vrednosti temperature dostiže tu vrednost i održava je sve dok se u sistemu ne dogodi zahtev za nekom drugom vrednošću koju postavlja korisnik. Pre pisanja programa neophodna je analiza (i posmatranje) konkretnog sistema upravljanja i poželjno je matematički opisati sistem kako bi se pre praktične implementacije programa u mikrokontroleru izvršila simulacija.

Svrha simulacije je da se matematičkim algoritmima pokušaju opisati pojave u realnom sistemu kako bi praktična realizacija algoritma upravljanja u realnom sistemu ispunila zahteve. Obično se zahtevi zadaju u vremenskom domenu, a najčešći su da se obezbedi stabilnost, tačnost i brzina.

191

Page 187: VEŠTAČKA INTELIGENCIJA

Pojmovi :

FLC: Algoritam upravljanja baziran na fazi logici koji je implementiran u mikrokontroleru.FUNKCIJE PRIPADNOSTI: Funkcije koje definišu stepen pripadnosti elemenata nekom fazi skupu.FAZI SKUP: Pored klasičnih elemenata skupa neophodno sadrži i informaciju o stepenu pripadnosti tih elemenata.FAZIFIKACIJA: Skaliranje realnih vrednosti u fazi vrednosti.DEFAZIFIKACIJA: Skaliranje fazi vrednosti u realne vrednosti.METODA TEŽIŠTA: Jedan od algoritama za izračunava-nje fazi upravljanja.LOOK_UP TABELA: Tabela čiji su ulazi fazi greška i fazi promena greše, a izlaz fazi upravljanje.FAZI PRAVILA: Način na koji se opisuje znanje eksperta u obliku IF THEN pravila.

U klasičnoj teoriji skupova, kada se posmatra odnos pripadnosti nekih elemenata prema skupu kaže se da neki element ili pripada nekom skupu ili ne pripada.

Da bi se napisao program za FLC potrebno je na neki način uvesti skup fazi pravila koja opisuju akciju eksperta. Situacija u sistemu upravljanja se može opisati na sledeći način: ekspert posmatra sistem (npr. koliko trenutna vrednost temperature odstupa od zadane) i na osnovu toga donosi odgovarajuću odluku koliko dugo grejati.

Potrebni elementi za eksperiment

192

Page 188: VEŠTAČKA INTELIGENCIJA

Fazi pravila

U ekspertnim sistemima, znanje eksperta opisano je na sledeći način: AKO je greška tolika TADA grejati toliko. U većini programskih jezika ovo se implementira primenom IF THEN pravila. Neka sledeća situacija posluži kao primer upravljanja: greje se voda koja se trenutno nalazi na sobnoj temperaturi (oko 22 oC) i treba je zagrejati na 40 oC. “Prosečan” ekspert će verovatno reagovati ovako: neka se voda greje sve dok se ne postigne 40 oC, a zatim održavati zahtevanu temperaturu na 40 oC po principu rada ON/OFF regulatora.

Umesto običnog ON/OFF često se koristi ON/OFF regulator sa histerezisom, što znači da se temperatura održava u određenim granicama, na primer između 39 oC i 41 oC. Da li je ovakvo upravljanje sistemom dobro zavisi od zahteva kupca koji naručuje proizvod (regulator temperature).

Prvo, možda bi bilo korisno primetiti da na ovakav način vrednost temperature osciluje između 39 i 41 oC. Drugo, ako u sistemu postoji primetno kašnjenje (pojava da se energija grejača ne prenosi trenutno) tada je za očekivati da se pri dostizanju temperature prebaci vrednost od 41 oC (više što je kašnjenje veće) i da se interval (39,41) povećava.

Slika 2. Struktura sistema upravljanja

Kada bi se regulacija temperature po principu ON/OFF regulatora implementirala u fazi logici tada bi postupak upravljanja bio:

IF temperatura < 39 oC THEN grejač ONIF temperatura > 41 oC THEN grejač OFF

Ovakav regulator se može softverski ili hardverski (digitalno i analogno upravljanje respektivno) relativno lako realizovati i prilično je jasan. Postoji skup pravila kojima se može opisati malo finije upravljanje temperaturom u istom sistemu.

193

Page 189: VEŠTAČKA INTELIGENCIJA

Slika 3. Greška i promena greške

Teoretski je pokazano (Bart Kosko) da je Bulova algebra (ili jeste 1 ili nije 0) samo specijalan slučaj fazi logike, odnosno da je njen podskup. Dakle, ON/OFF regulator je samo specijalan slučaj FLC. FLC treba posmatrati kao postupak (algoritam) koji na osnovu dve veličine (greška i promena greške) izračunava upravljanje odnosno koliko (u okviru periode T=4 sekunde) grejati da bi postigli zadatu vrednost temparature (Slika 3).

Slika 4. Struktura Fazi logičkog kontrolera

Greška (zadata vrednost - trenutna vrednost) daje informaciju koliko je trenutna temperatura daleko od zadate , dok promena greške (trenutna greška - prethodna greška) daje informaciju o brzini kojom se dostiže zadata vrednost (Slika 3). Ove dve veličine su ulaz u FLC i one imaju konkretne vrednosti (u oC).Dobijanje stvarne vrednosti upravljanja Obrada dobijenih (izmerenih) informacija se odvija u tri faze:

1. Fazifikacija (skaliranje), 2. Look-up tabela (izračunavanje fazi upravljanja) i 3. Defazifikacija (inverzno skaliranje).

194

Page 190: VEŠTAČKA INTELIGENCIJA

Slika 5. PWM signal

FAZIFIKACIA: Greška i promena greške se fazifikuju. Npr., ako je zadata vrednost 40 oC, a trenutna vrednost je 30 oC tada je greška e=10 oC. Ako je prethodna vrednost greške bila 28 oC, tada je de=2 oC. Ove vrednosti se dobijaju u trenucima k*T gde je ceo broj. Greška i promena greške se zatim preračunaju u fazi promenljive ef i def. Usvojeno je da se fazi vrednosti nalaze u intervalu -4 do 4, kome je pridružen odgovarajući interval realnih vredosti (e i de).

Na osnovu zadane vrednosti i početne vrednosti temperature, određuje se emin i emax. Npr. ako je zadata vrednost temperature 40oC i početna vredost 10 oC, izračuna se emin=-30oC i emax=30oC. Pod pretpostavkom da se za 4 sekunde temperatura maksimalno može povećati za 1 oC sledi da je demin=-1 oC i demax=1 oC.

LOOK UP TABELA: (izracunavanje fazi upravljanja). Kada se odrede ef i def, tada se na osnovu Look_up tabele odredi uf (fazi upravljanje).

Slika 6. Look up tabela u 3D koordinatnom sistemu

DEFAZIFIKACIJA: Realno upravljanje zahteva prevođenje fazi upravljanja u realnu vrednost. Kako je perioda T=4 sekunde, tada upravljanje određuje u kom je delu intervala grejač uključen (Slika 5). Upravljanje ima oblik PWM signala koji služi da uključuje i isključuje grejač. Prethodnom izlaganju postupci

195

Page 191: VEŠTAČKA INTELIGENCIJA

fazifikacije i defazifikacije su relativno jednostavni. Ostalo je nedorečeno kako se dobije LOOK_UP tabela koja je u stvari osnova samog algoritma upravljanja.

Formiranje Look-up tabele

Pre izlaganja samog postupka dobijanja Look-up tabele pretpostavimo za trenutak da postoji gotova tabela. Analizom Look-up tabele može se primetiti da upravljanje može biti samo pozitivno odnosno da se sistem može isključivo zagrevati (hladi se tako što se grejanje isključi). Kako su vrednosti uf 1,2,3 ili 4 to je u periodi od 4 sekunde grejač uključen 1,2,3 ili 4 sekunde.

Može se primetiti da je fazi upravljanje mnogo finije od ON/OFF upravljanja. Koliko je “finije” zavisi od same strukture FLC odnosno softvera. Postupak dobijanja vrednosti (0,1,2,3 i 4) koje se upisuju u Look-up tabela se može razumeti na osnovu pomoćne tabele koja se naziva Fazi Asocijativna Memorija (Tabela 2) i Slike7.

TABELA 2 JN MN PN MP JP

JN - - - - -

MN PN PN PN PN PN

PN PN PN PN PN PN

MP MP MP JP - -

JP JP JP JP JP JP

Dijagram toka programa

Postupak upravljanja je sledeći: zadana je referentna vrednost, a u periodičnim vremenskim intervalima (perioda odabiranja je ovde 4 sekunde) se prima digitalizovana informacija o trenutnoj vrednosti temperature.

Nakon toga izračunava se greška i promena greške na osnovu kojih (prethodno fazificirane) se iz Look-up tabele, očita fazifikovana vrednost upravljanja (od 0 do 4) koja se zatim defazifikuje i kao takva predstavlja vremenski interval u kome je grejač uključen. Zadatak mikrokontrolera je da obezbedi da grejač bude uključen onoliko dugo koliko je izračunato. Na Slici prikazan je blok dijagram za opisani sistem upravljanja.

Algoritam upravljanja se nalazi u interapt rutini koja se aktivira svakih 16.384 ms. Da bi se podesila perioda odabiranja od 4 s potrebno je približno 244 RTI prekida. Kada se izračuna vreme rada grejača (0<TIME_ON<4) potrebno je

196

Page 192: VEŠTAČKA INTELIGENCIJA

obezbediti isključenje grejača nakon isteka tog vremenskog intervala čime se generiše PWM signal sa periodom 4 s koji predstavlja upravljanje.

Dijagram toka podataka

Komentar rezultata

Pre implementacije algoritma upravljanja na realnom sistemu izvršena je simulacija na osnovu fizičkog zakona o transformaciji energije. Pretvaranje električne energije u toplotu se može opisati jednačinom :

P*dt=m*c*dT

gde je P=150W, snaga grejača, dt je vreme rada grejača, m=0.4 kg masa vode, c=4186J/Kg*K, specifični toplotni kapacitet vode a dT promena temperature vode usled grejanja. Nakon simulacije algoritam upravljanja je testiran na realnom sistemu.

197

Page 193: VEŠTAČKA INTELIGENCIJA

Dijagram toka programa

Simulirani odziv sistema sa Look-up tabelom

Svake 4 sekunde vrednost sa AD konvertora se smešta u deo eksternog RAM-a, a zatim se te vrednosti serijskom komunikacijom prebacuju na računar gde su rezultati obrađeni.

Odziv realnog sistema

Poređenjem simuliranog i realnog odziva sistema, može se primetiti velik stepen saglasnosti. Razlika između simuliranog i realnog odziva nastaje usled

198

Page 194: VEŠTAČKA INTELIGENCIJA

postojanja šuma u sistemu kao i nemogućnosti da se u potpunosti simulira realan sistem. Umesto zaključka, ponuđen je odgovor na pitanje zašto je fazi kontroler pogodan za inženjere automatike?

• Opisuje rešenje bez kompleksnog matematičkog modela sistema. • Optimizuje već poznata rešenja sa namerom dobijanje jednostavnijeg i

efikasnijeg krajnjeg proizvoda • Smanjuje cenu krajnjeg proizvoda na osnovu pojednostavljenja postupka

projektovanja istog • Pojašnjava sistem. Sistem je razumljiviji, pogodniji za održavanje i

unapredjivanje • Veća otpornost na greške i promene u okolini sistema. • Povećana robusnost sistema bez smanjenja njegove osetljivosti.

Na osnovu dobijenih eksperimentalnih rezultata može se zaključiti da je fazi logički kontroler primenljiv u problemima regulacije temperature, ali se ne može dati završna ocena o mogućnostima i kvalitetu, jer sistem nije testiran u uslovima poremećaja, niti je poređen sa drugim algoritmima upravljanja (od koji je PID regulator tipičan predstavnik).

199

Page 195: VEŠTAČKA INTELIGENCIJA

5. INTELIGENTNI INFORMACIONI SISTEMI

5.1. Uvod u inteligentne informacione sisteme

5.1.1.Osnovni pojmovi i terminologija

Informacioni sistemi

Inteligentni sistemi

Inteligentni informacioni sistemi

5.1.2. Fokus izlaganja

5.1.3. Rezime

5.1.4. Bibliografske napomene

5.1.5. Korisne adrese na Internetu

5.2. Otkrivanje znanja u bazama podataka

5.2.1. Pojam otkrivanja znanja u bazama podataka - .KDDŠta sve spada u oblast KDD?Poznati primeri KDD i DM sistemaKratak istorijat oblasti KDD i DMKDD/DM i ostale discipline

5.2.2. Definicije5.2.3. Otkrivanje znanja u bazama podataka kao proces

Odlike podataka u baziKreiranje ciljnih podatakaPrečišćavanje i predprocesiranje podataka Transformacija podatakaDM - otkrivanje patterna u podacimaInterpretacija i evaluacija patternaPredstavljanje otkrivenog znanja

200

Page 196: VEŠTAČKA INTELIGENCIJA

5.1. Uvod

Osnovna ideja Uvoda ovog segmenta knjige je definisanje šireg konteksta u kome se razmatraju inteligentni informacioni sistemi u ostalim poglavljima. U tom cilju, u ovom poglavlju su inteligentni informacioni sistemi predstavljeni iz ugla informacionih sistema uopšte, kao i iz ugla savremenih inteligentnih softverskih sistema.

Svrha ovog poglavlja je i definisanje svih najvažnijih pojmova na koje se oslanjaju ostala poglavlja. Definicije na ovom mestu nisu striktne, već samo opisne. Pored toga, data je i jedna moguća klasifikacija inteligentnih informacionih sistema, kao i kratka diskusija njihovih primena i performansi. Takođe je precizno navedeno koji se opšti aspekti inteligentnih informacionih sistema nalaze u fokusu izlaganja u ovoj knjizi, budući da postoji više različitih pristupa u opisivanju tih sistema. Na samom kraju je dat i kratak pregled onih inteligentnih informacionih sistema kojima su posvećena ostala poglavlja.

5.1.1. Osnovni pojmovi i terminologija

Opisnim definisanjem važđnih pojmova u ovom odeljku uvodi se na samom početku i odgovarajuća terminologija. Kako ni kod nas ni u svetu još uvek ne postoji potpuno standardizovana terminologija u oblasti inteligentnih informacionih sistema, termini uvedeni u ovom poglavlju i korišćeni nadalje su u skladu sa najčešće korišćenim pojmovima koji se koriste za iste.

Informacioni sistemi

U najširem smislu reči, svaki sistem je sklop sastavljen od nekih međusobno povezanih delova, koji funkcionišu kao jedinstvena celina. Delovi sistema su objekti koji se opisuju preko svojih atributa. Skup trenutnih vrednosti atributa nekog sistema predstavlja trenutno stanje tog sistema. Svaki sistem postoji u nekom okruženju, koje deluje na sistem i na koje sistem vrši svoje dejstvo.

Okruženje sistema se može tretirati kao skup nekih drugih objekata i sistema koji su u interakciji sa pasmatranim sistemom. Okruženje kao celina takođe ima svoje atribute. Dejstvo okruženja na sistem se naziva ulaz sistema. Pod dejstvom ulaza, u opštem slučaju menja se stanje sistema. Dejstvo sistema na okruženje naziva se izlaz sistema. Pod dejstvam izlaza, u opštem slučaju menja se stanje okruženja.

Objekti koji čine sistem mogu da budu veoma raznovrsni. Isto to važi i za veze između objekata u sistemu. Jedan od načina da se klasifikuju veze između objekata je da se smatra da se one ostvaruju razmenom materije, energije ili informacija. Zbog tematske orijentacije ove knjige, u daljem tekstu se razmatraju samo veze koje se ostvaruju

201

Page 197: VEŠTAČKA INTELIGENCIJA

razmenom informacija.

Informacije, podaci, baze podataka i informacioni sistemi

Informacioni sistem je sistem u kome se veze između objekata u njemu, kao i veze između sistema i okruženja (ulaz i izlaz sistema), ostvaruju razmenom informacija. Osnovna funkcija svakog informacionog sistema je čuvanje i prenos podataka o činjenicama vezanim za stanje sistema i okruženja, kao i njihova obrada u skladu sa zahtevima korisnika. Podatak je kodirana predstava u računaru o nekoj činjenici iz realnog sveta. Podaci su nosioci informacija. Informacija je protumačeni podatak o pojavi koju on predstavlja. Interpretaciju podataka najčešće vrši korisnik.

U svetlu napred navedenih definicija, može se preciznije definisati i stanje sistema. Ono na izvestan način opisuje fundamentalne karakteristike sistema u posmatranom trenutku: skup objekata sistema, skup njihovih međusobnih veza i skup vrednosti atributa objekata u tom trenutku. Stanje sistema reflektuje i istoriju promena u njemu. Stanje predstavlja skup informacija o prošlosti i sadašnjosti sistema na osnovu koga se može u budućnosti odrediti izlaz sistema ako je poznat ulaz.

Opšta struktura svakog informacionog sistema prikazana je na slici 1. Osnovu svakog informacionog sistema čini baza podataka. Baza podataka je logički integrisana kolekcija međusobno povezanih podataka, uskladištenih sa minimumom redundanse, koji se koriste tokom procesa obrade u sistemu. Ti podaci modeliraju, odnosno predstavljaju objekte, atribute objekata i veze objekata nekog realnog sistema. Preciznije, ako ceo jedan informacioni sistem posmatramo kao model nekog realnog sistema, onda baza podataka odgovara stanju sistema. Ulazni podaci informacionog sistema, preko odgovarajućih programa za održavanje baze podataka, deluju na bazu na način na koji ulazi realnog sistema deluju na njegovo stanje.

Slično tome, programi za izveštavanje transformišu podatke iz baze podataka informacionog sistema generišući pri tome zahtevane izlaze. To odgovara dejstvu realnog sistema na njegovo okruženje, pri čemu se trenutno stanje sistema transformiše korišćenjem odgovarajuće izlazne transformacije.

Slika 1 - Opšta struktura informacionih sistema

202

Page 198: VEŠTAČKA INTELIGENCIJA

Važan pojam, koji se vezuje za baze podataka informacionih sistema je sistem za upravljanje bazom podataka. To je softverski sistem, koji omogućuje rad sa bazom podataka i njeno korišćenje od strane više korisnika, a da pri tome svaki korisnik dobija onakvu logičku sliku podataka kakva njemu odgovara. Da bi se to postiglo, sistem za upravljanje bazom podataka mora da obezbedi skladištenje podataka u bazi sa minimumom redundanse, kao i logičko i fizičko razdvajanje baze podataka od programa koji je koriste. Fizički, baza podataka je obično organizovana kao skup datoteka na disku. Podaci se fizički pamte samo jednom.

Svaki program koji pristupa bazi podataka u cilju ažuriranja podataka, njihove obrade, ili izveštavanja, ne čini to direktno, već posredstvom sistema za upravljanje bazom podataka. Tako se postiže da se podacima upravlja na jedinstven način. U tom smislu, sistem za upravljanje bazom podataka predstavlja neku vrstu "zaštitnog omotača" oko baze podataka.

Rečnik podataka je "baza podataka o bazi podataka", odnosno meta baza podataka. Logički, on se obično predstavlja na isti način kao i sama baza podataka, a sadrži opise svih objekata sistema, njihovih atributa i potencijalnih vrednosti, fizičke i logičke organizacije, prava korišćenja i slično. Fizički, rečnik podataka obično predstavlja posebnu datoteku (ili eventualno skup datoteka). Rečnik podataka se formira i ažurira prilikom definisanja objekata u sistemu.

Modeli podataka i upitni jezici

Statički aspekt nekog informacionog sistema, odnosno njegove baze podataka i sistema za upravljanje bazom podataka, čini model podataka. On opisuje objekte, atribute i veze u sistemu preko logičke strukture baze podataka. Dinamika informacionog sistema, dejstva ulaza na stanje sistema i izlazne transformacije se prikazuju preko modela procesa.

Danas se u informacionim sistemima koristi više modela podataka. Oni koji su od značaja za ostala poglavlja su relacioni i objektni (objektno orijentisani). Prema relacionom modelu, baza podataka predstavlja se kao skup tabela. Ulazi (vrste) tabele su slogovi fiksne dužine. Jedan slog sadrži vrednosti podataka za svako polje, odnosno uređenu listu vrednosti. Kolone tabele definišu polja.

Na primer, jedan slog relacione baze o studentima nekog fakulteta može da sadrži polja poput imena, prezimena, datuma rođenja, broja indeksa, smera na koji je student upisan, itd. Operacijama nad podacima u tabeli generiše se izlaz takođe u vidu tabela. Formalna matematička podloga za manipulaciju tabelama postoji, veoma je bogata, a jednostavna je i za implementaciju u okviru sistema za upravljanje bazama podataka.

Objektni, odnosno objektno-orijentisani model podataka dosta se razlikuje od relacionog. Podaci se u objektno-orijentisanoj bazi podataka predstavljaju kao objekti

203

Page 199: VEŠTAČKA INTELIGENCIJA

različitih tipova i složenosti, odnosno kao kolekcije objekata. Ovde se misli na objekte u onom smislu u kome se oni definišu u objektno orijentisanim programskim jezicima, kakvi su na primer Java i C++. To su jedinstveni entiteti, koji poseduju svoje stanje, iskazano preko trenutne vrednosti atributa, kao i svoje metode, pomoću kojih se definiše i implementira ponašanje objekata.

Neki od atributa označavaju veze objekta sa drugim objektima. Svaki objekat je instanca neke klase. Klasa definiše atribute i metode svojih objekata, te stoga predstavlja apstraktni tip podataka, odnosno objekata. Objektu se najčešće pristupa slanjem poruka, odnosno korišćenjem njegovih metoda.

Na primer, objekat koji predstavlja jednog studenta u bazi podataka o studentima nekog fakulteta imao bi definisane atribute poput onih pomenutih u gornjem primeru. Takođe, isti objekat bi imao i metode za ažuriranje tih atributa, izveštavanje o njihovim vrednostima, odgovarajuća izračunavanja (npr. srednje ocene položenih ispita), itd.

Objektni (objektno-orijentisani) sistemi za upravljanje bazama podataka integrišu karakteristike baza podataka i objektno-orijentisanih programskih jezika. Neki takav jezik se proširuje konstrukcijama za zadavanje upita, konkurentni pristup podacima, itd. Objekti u bazi podataka onda izgledaju kao i svi drugi objekti u tom programskom jeziku. Osnovna ideja je da se na taj način ukine potreba za prevođenjem podataka iz zapisa u bazi podataka u objekte programskog jezika i obrnuto, korišćenjem neke interne forme.

Programer treba da napiše program aplikacije korišćenjem tog programskog jezika, kao i da definiše rečnik podataka. Kompilacijom izvornog programa i rečnika se dobija binarni kod, koji se onda linkuje sa izvršnim kodom sistema za upravljanje bazom podataka. Tako dobijena aplikacija nesmetano pristupa bazi podataka, uz očigledan uslov da tipovi (klase) podataka u bazi odgovaraju rečniku podataka. Na taj način se vrši transparentna integracija baze podataka i programskog jezika. Takve baze podataka mogu preko mreže da koriste razne aplikacije.

Sistem za upravljanje bazom podataka omogućuje i komunikaciju između korisnika i baze podataka korišćenjem jezika bliskih korisniku, odnosno njegovom prirodnom jeziku. Oni pružaju korisniku mogućnost da pristupa bazi podataka korišćenjem odgovarajućih upita, u skladu sa unapred propisanom sintaksom jezika, te da na osnovu njih dobija odgovarajuće izveštaje. Najpoznatiji upitni jezik za relacione baze podataka je SQL (Structured Query Language), koji se zasniva na kombinaciji relacione algebre i relacionog računa. SQL može da se koristi za komunikaciju sa bazom podataka i interaktivno (za zadavanje upita sa terminala) i iz komandi standardnih programskih jezika. Osim toga, SOL može da se koristi i kao jezik za opis podataka, jer sadrži i konstrukcije za opisivanje baze podataka. On takođe poseduje i kontrolne konstrukcije za definisanje zaštite podataka i integriteta baze podataka, za oporavak baze podataka, kao i za omogućavanje konkurentnog procesiranja podataka.

Najpoznatiji objektni pandan SOL-u je OQL (Object Query Language), deklarativni jezik za ažuriranje objektnih baza podataka i zadavanje upita. Kao osnova za

204

Page 200: VEŠTAČKA INTELIGENCIJA

definisanje OQL-a korišćen je SQL. Upiti napisani u ta dva jezika vrlo su slični, kako po ključnim rečima tako i vizuelno. Ipak, kompatibilnost OQL-a sa SQL-om je samo delimična. Razlog tome su napred pomenuti zahtevi koji se postavljaju pred objektni sistem za upravljanje bazom podataka, a koji su drugačiji u poređenju sa relacionim.

Efikasno pretraživanje i pronalaženje informacija

Uopšteno posmatrano, korisnik u najvećem broju slučajeva pristupa bazi podataka korišćenjem odgovarajućih upita u cilju dobijanja nekih željenih informacija. Informacije koje sistem pruža korisniku kao rezultat procesiranja njegovih upita upakovane su u odgovarajuće izveštaje. Takva potraga za informacijama može da se odigrava u više različitih vidova, u širokom dijapazonu od pretraživanja baze podataka da bi se pronašla informacija za koju se unapred zna da se u njoj nalazi, do tzv. eksplorativnog istraživanja u novom domenu.

Pod pretraživanjem baze podataka podrazumeva se proces sistematskog ispitivanja podataka (objekata) u njoj na osnovu unapred zadatog ključa, sa ciljem da se locira podatak koji odgovara ključu. Eksplorativno istraživanje odnosi se na proces otkrivanja suštine nekog domena koji je prethodno bio nepoznat korisniku, koristeći neku vrstu navigacije kroz podatke u bazi podataka (ili bazama podataka) i-ili kolekcije dokumenata koji se odnose na taj domen.

Kada je kolekcija podataka (objekata) koja se pretražuje po svojoj prirodi tekstualna, tj. ako se radi o dokumentima, onda se problem pretraživanja posmatra kao problem pronalaženja informacija (dolaženja do informacija, ili izvlačenja informacija iz te kolekcije). Tada korisnik obično želi da u velikoj kolekciji dokumenata pronađe podskup onih dokumenata koji odgovaraju njegovim potrebama. Taj postupak se dosta razlikuje od klasičnog pretraživanja baza podataka, gde su i podaci, i ključevi, i izveštaji precizno strukturirani.

U problemima pronalaženja informacija po pravilu se koristi neki postupak indeksiranja dokumenata. Indeksiranje predstavlja pridruživanje odgovarajućih deskriptora sadržaja, odnosno ključnih reči pojedinim dokumentima. Deskriptori sadržaja i ključne reči onda predstavljaju odgovarajući dokument i služe za određivanje relevantnosti tog dokumenta u pogledu korisnikovog upita. Deskriptori sadržaja se razlikuju od ključeva u klasičnom pretraživanju po tome što na neki način reprezentuju semantički sadržaj dokumenata i mogu da imaju odgovarajuće težinske faktore, dok su ključevi po pravilu potpuno precizni i "eksterni" u odnosu na sadržaj podataka koji se pretražuju.

Efikasnost pronalaženja informacija meri se najčešće jačinom odziva i preciznošću. Jačina odziva je odnos broja pronađenih relevantnih dokumenata i ukupnog broja relevantnih dokumenata u kolekciji koja se pretražuje. Preciznost predstavlja odnos broja

205

Page 201: VEŠTAČKA INTELIGENCIJA

pronađenih relevantnih dokumenata i ukupnog broja pronađenih dokumenata. U idealnom slučaju i jačina odziva i preciznost imaju visoke vrednosti. U praksi je, međutim, obično potrebno ići na neki kompromis. Indeksiranjem specifičnih ključnih reči i izraza u nekom dokumentu dobija se visoka preciznost, ali slab odziv. Indeksiranjem opštijih izraza i pojmova dobija se jak odziv ali stabija preciznost. Stoga se u praksi efikasnost sistema za pronalaženje informacija meri preciznošću za različite nivoe jačine odziva.

Indeksiranje se u sistemima za pronalaženje informacija može vršiti manuelno i automatski. Manuelno indeksiranje je često nepraktično ako je broj dokumenata u kolekciji veliki, iako su kod njega provera rečnika relevantnih pojmova i kontrola težinskih faktora strožiji i pod direktnim nadzorom korisnika. Automatsko indeksiranje ne zahteva stroge provere, a omogućuje i predstavljanje većeg broja relevantnih aspekata dokumenata nego manuelno indeksiranje. Ipak, i automatsko indeksiranje pojedinačnih reči i složenijih fraza još uvek se izvodi dosta primitivno, jednostavnim korišćenjem statističkih, probabilističkih, lingvističkih i drugih metoda. Kao rezultat te nesavršenosti automatskog indeksiranja, bez direktne kontrole korisnika, dokumenti su često nedovoljno adekvatno indeksirani.

Proces pronalaženja informacija uvek se u informacionim sistemima odvija po nekom modelu. Sastavni delovi jednog takvog modela su:

- načini za predstavljanje dokumenata i upita- strategije za određivanje relevantnosti pojedinačnih dokumenata u odnosu na

postavljeni upit - metode za rangiranje pronađenih dokumenata u izlaznom izveštaju - mehanizmi pomoću kojih korisnik unosi povratne informacije o relevantnosti

pronađenih dokumenata

Modeli pronalaženja informacija klasifikuju se na bazi teorijskih mehanizama koji leže u njihovoj osnovi, pa tako postoje modeli zasnovani na teoriji skupova, algebarski modeli, probabilistički modeli i hibridni modeli.

U novije vreme problem pronalaženja informacija dobio je i jednu novu dimenziju zahvaljujući popularnosti Interneta i World Wide Web-a. www je praktično nesagledivo veliki i stalno rastući digitalni informacioni prostor, u kome postoji izuzetna raznovrsnost informacionih resursa (personalne stranice, on-line digitalne biblioteke, katalozi i prezentacije raznih proizvoda, usluga, kompanija, organizacija i institucija, državne i društvene informacije za javnu distribuciju, istraživačke publikacije, FTP, Usenet news, mail serveri, itd.). U takvom prostoru, efikasnost pretraživanja i pronalaženja dokumenata nije samo stvar brzine i pouzdanosti rada pojedinih servera, već i adekvatnih tehnika za pronalaženje informacija.

Svakom korisniku WWW-a sigurno se bar jednom desilo da na postavljeni upit dobije na hiljade odgovora, u okviru izveštaja koji sadrži na desetine stranica konkretnih linkova, a da pri tome oni najvažniji uopšte nisu na vrhu.

Razlog takvoj neefikasnosti najčešće leži u korišćenju krajnje jednostavnih ali

206

Page 202: VEŠTAČKA INTELIGENCIJA

nedovoljno moćnih, "mehaničkih" tehnika automatskog indeksiranja dokumenata. Klasični pretraživači (poput Alta Viste) sastoje se od tri komponente: indeksa, programa za pretraživanje i programa za kreiranje indeksa. programi za kreiranje indeksa, tzv. "roboti" ili "pauci" (spiders, crawlers), automatski skeniraju razne Web servere i stranice i formiraju indekse URL-adresa, ključnih reči, linkova i tekstova. Oni takođe prate i linkove na pojedinim stranicama da bi pronašli druge relevantne stranice, a takođe se povremeno i vraćaju na servere i stranice da bi proverili da Ii se na njima nešto promenilo. Kada korisnik zada upit, program za pretraživanje pretražuje indeks koji su "roboti" napravili i koji se stalno osvežava. U rezultujućem izveštaju prikazuju se stranice iz indeksa koje sadrže ključne reči iz korisnikovog upita. Prikazane stranice su često rangirane na način koji za korisnlka može da bude neadekvatan. Rangiranje se obično obavlja na osnovu frekvencija pojavljivanja ključnih reči iz korisnikovog upita u pojedinim dokumentima, ili na osnovu pretraživanja deskriptora dokumenta i utvrđivanja da li se zadate ključne reči nalaze u tim deskriptorima.

Alternativa pretraživačima sa automatskim indeksiranjem su direktorijumi (poput Yahoo-a) koji rade sa deskriptorima Web stranica koje kreiraju i edituju "vlasnici" stranica. Tu nema automatskog indeksiranja i "pauka", već se na korisnikov upit odgovara pretraživanjem deskriptora koje su kreirali ljudi. Ažurnost deskriptora zavisi od "vlasnika" stranice, ali ponekad je relevantnost stranica koje se prikazuju u izveštaju veća nego u odgovarajućim izveštajima pretraživača sa automatskim indeksiranjem.

Ekstrakcija informacija je pojam srodan pronalaženju informacija, ali mu je na neki način komplementaran. Ekstrakcija informacija se odnosi na proces identifikacije specifičnih fragmenata jednog dokumenta, onih fragmenata koji čine suštinu tog dokumenta. Na primer, ekstrakcijom informacija iz teksta vremenske prognoze u izveštaju bi se dobile samo lokacije, visoke i niske temperature, datumi i podaci o padavinama i vetru, dok bi sav okolni, "literarni" tekst prognoze bio uklonjen. U postupku ekstrakcije informacija često pomažu neke pravilnosti u datom tekstu, pogotovu ako se radi o ekstrakciji informacija iz dokumenata na Web-u (npr. isticanje najvažnijih delova teksta drugom bojom, drugim fontom, jačim intenzitetom, ili sl.). Međutim, postoji mnogo problema koji komplikuju proces ekstrakcije. Jedan od očiglednih je nekontrolisano povećanje broja dokumenata i stilova pisanja i prikazivanja relevantnih delova teksta u njima. "

Skladišta podataka

Jedna od odlika savremenog poslovanja uz korišćenje informacionih sistema je stalno i sve brže uvećavanje količine podataka i informacija koje se smeštaju, čuvaju i procesiraju. Ažuriranje, korišćenje i održavanje podataka postaje sve komplikovanije sa povećanjem njihove količine. Istovremeno sve više se povećava i broj korisnika informacionih sistema, zahvaljujući sve intenzivnijem korišćenju računarskih mreža i smanjenju cene procesiranja informacija.

Mnogi korisnici pri obavljanju svojih redovnih poslova rade sa više baza podataka,

207

Page 203: VEŠTAČKA INTELIGENCIJA

što postaje sve teže i zahteva značajan nivo stručnosti i iskustva. To informaciono preopterećenje je naročito izraženo u klijent server okruženjima u većim kompanijama. Kod njih se neophodni podaci nalaze na različitim lokacijama u mreži, pod različitim hardverskim i softverskim konfiguracijama, pa je sve teže pristupiti im kad postoji potreba za njima. Usporavanje transakcija sa raznovrsnim bazama podataka još je izraženije ukoliko su modeli podataka i formati zapisivanja podataka u njima raznovrsni.

Takva situacija je dovela do razvoja visoko organizovanih, centralizovanih baza podataka poznatih pod imenom skladišta podataka ( Originalni naziv na engleskam jeziku, data warehouses, kao i skraćenica DW, često se upatrebljavaju i kod nas). Skladišta podataka omogućavaju tzv. OLAP procesiranje podataka (OLAP je skraćenica od On Line Analytical Processing). Slika 2 ilustruje ova dva pojma.

Slika 2 - Skladišta podataka i OLAP procesiranje

Pažljivijim poređenjem slika 1 i 2 može se uočiti da centralizovano skladište podataka zapravo vrši svojevrsnu reorganizaciju, transformaciju i objedinjavanje originalnih podataka. Originalni podaci potiču iz baze podataka informacionog sistema i iz drugih izvora, eksternih u odnosu na posmatrani informacioni sistem. Gledano iz ugla OLAP procesiranja, svi podaci naizgled potiču iz jedinstvene baze i već su organizovani na način koji odgovara funkcijama OLAP sistema. Cilj uvođenja skladišta podataka je, zapravo, da oformi repozitorijum podataka u kome su operativni podaci dostupni aplikacijama poput menadžerskih informacionih sistema i sistema za podršku odlučivanju u formi u kojoj takve aplikacije mogu odmah da ih koriste.

208

Page 204: VEŠTAČKA INTELIGENCIJA

U skladište podataka prenose se samo oni izvorni podaci koji su potrebni za OLAP procesiranje. Kad originalni podaci uđu u skladište, oni su transformisani i integrisani u konzistentnom formatu. Posebna pogodnost je i u tome što predprocesiranjem originalnih podataka pre njihovog unošenja u skladište mogu da se obuhvate i podaci iz tradicionalnih, nasleđenih sistema. U skladištima podataka mogu da se nalaze i metapodaci, koji kroz sumirani način opisivanja skladišta omogućuju njegovo lakše i efikasnije pretraživanje od strane OLAP sistema. Takođe, savremene arhitekture skladišta podataka uključuju i specijalne delove u kojima su podaci već pripremljeni za višedimenzionalnu analizu i prezentaciju.

Unutrašnja organizacija skladišta podataka može da bude vrlo raznovrsna. Činjenica da sa strane OLAP sistema skladište podataka izgleda kao jedinstvena i često velika baza podataka ne mora ništa da govori o fizičkoj organizaciji skladišta. U praksi se sreću izvedbe u kojima je skladište distribuirano na više servera u obliku baza podataka različitih kapaciteta (npr., poseban server za višedimenzionalnu analizu).

Pored već navedenih karakteristika skladišta podataka, vezanih za konzistentan format podataka u njima, treba imati u vidu i sledeće važne činjenice. Kada se podaci iz originalnih izvora unesu u skladište, oni se tamo više ne menjaju i ne ažuriraju. Ako je potrebno pratiti vremensku promenu podataka u cilju analize trendova, poređenja i predviđanja uz pomoć OLAP procesiranja, u skladište se iz originalnih izvora unose podaci različite starosti. Tipično, podaci se unose za period od 5-10 godina. Konačno, logički način organizovanja podataka u skladištu je takav da pruža mnoštvo detalja. Na primer, skladište podataka osiguravajućeg društva pruža uvid u osiguranike po imenu, visini premija, potraživanjima i drugim dimenzijama. Pri tome, ono sadrži samo podatke koji su relevantni za donošenje odluka.

Inteligentni sistemi

Postoji veoma veliki broj definicija inteligentnih sistema. Nijedna od njih, međutim, ne može se prihvatiti kao potpuno precizna. Razlog tome je činjenica da pojam inteligencije još uvek nije objašnjen u dovoljnoj meri, ni sa aspekta psihologije, ni iz ugla filozofije, ni u svetlu neurofizioloških procesa nervnog sistema inteligentnih bića. Stoga se u literaturi obično pribegava definisanju nekih konkretnih aspekata inteligentnih sistema, kao što su sposobnost mišljenja, sposobnost rešavanja problema, mogućnost učenja, načini pamćenja činjenica, ili drugi aspekti. Oslonac za takav pristup nalazi se u činjenici da je pojam inteligencije u celini velikom broju čitalaca ipak intuitivno dovoljno jasan.

Neformalno, inteligentni sistemi se mogu tretirati kao entiteti koji imaju neke od sposobnosti inteligentnog mišljenja ili inteligentnog ponašanja koje srećemo kod ljudi. Takvim sistemima bavi se i deo računarskih nauka, ali i mnoge druge nauke, poput filozofije i psihologije. Ono što u proučavanju inteligentnih sistema razlikuje pristup računarskih nauka od pristupa drugih nauka je činjenica da se u računarstvu čini i pokušaj

209

Page 205: VEŠTAČKA INTELIGENCIJA

da se inteligentni sistemi naprave, a ne samo da se bolje razumeju i objasne.

Veštačka inteligencija

Oblast računarstva koja je u najvećoj meri posvećena inteligentnim sistemima je veštačka inteligencija. Ona proučava mogućnosti da se pomoću računara ostvari opažanje, rasuđivanje i ponašanje, odnosno da se automatizuju inteligentne akcije. U centru pažnje veštačke inteligencije je automatizovanje onih Ijudskih aktivnosti koje se vezuju za proces mišljenja, poput donošenja odluka, zaključivanja i svesnog delovanja. Cilj te discipline je kreiranje mašina koje su sposobne da vrše funkcije koje zahtevaju inteligenciju onda kada ih vrše Ijudi. Pored toga, veštačka inteligencija se bavi i proučavanjem mentalnih modela i aktivnosti kroz korišćenje računara. Drugim rečima, ona pokušava da objasni i emulira inteligentno mišljenje i ponašanje preko računarskih procesa. Njeno proučavanje se odnosi na pokušaje da se računari osposobe da rade stvari u kojima su, u ovom trenutku, ljudi bolji od računara.

Veštačka inteligencija nikako nije jedina računarska disciplina u kojoj su inteligentni sistemi predmet interesovanja. Pored nje, više drugih disciplina se bavi pojedinim vrstama inteligentnih sistema. Neke od njih su proistekle iz veštačke inteligencije, iako su danas dovoljno razvijene da predstavljaju discipline za sebe. Takve su, na primer, oblasti ekspertnih sistema i neuronskih mreža. Druge su se, pak, razvile potpuno nezavisno od veštačke inteligencije, ali u poslednje vreme sve više obraćaju pažnju upravo na inteligentne sisteme. Među njima su oblasti informacionih sistema, baza podataka i računarskih mreža. Veštačka inteligencija se sve više integriše sa ostalim softverskim disciplinama.

Rešavanje problema, znanje i predstavljanje znanja

Inteligentni sistemi se prave da bi korisnicima pomogli u rešavanju nekih problema za čije se rešavanje zahteva neki oblik inteligencije. Pošto je svaki inteligentni sistem jedna vrsta sistema u smislu već pomenute opisne opšte definicije sistema, njega takođe karakteriše promena stanja pod dejstvom ulaza.

Rešavanje problema je postupak sukcesivnog prevođenja inteligentnog sistema iz jednog stanja u drugo, polazeći od nekog početnog stanja, dok sistem ne dođe u neko ciljno stanje. Smatra se da u početnom stanju postoji problem, u obliku kolekcije intormacija koje sistem može da koristi da bi prelazio iz jednog stanja u drugo, a da je u ciljnom stanju problem rešen. To se može modelirati pomoću grafa u kome čvorovi predstavljaju stanja, a linije puteve po kojima se prelazi iz jednog stanja u drugo. Rešenje problema predstavlja put kroz graf od početnog čvora do nekog ciljnog čvora.

Jedan od preduslova za uspešno rešavanje problema je da u inteligentni sistem koji se za to koristi bude ugrađeno odgovarajuće znanje. Znanje je jedan od centralnih pojmova u veštačkoj inteligenciji. Ono znači razumevanje neke tematske oblasti, odnosno domena.

210

Page 206: VEŠTAČKA INTELIGENCIJA

Kognitivna psihologija je utvrdila da postoji više tipova znanja kod ljudi, a svako od njih se može ugraditi i u inteligentne sisteme. Znanje pre svega predstavlja skup elementarnih pojmova i činjenica iz nekog domena, kao i skup veza između njih (Sličnost u definisanju pojmova "znanje" u ovom odeljku i "sistem" u prethodnom samo je delimična. Smatra se da je sistem neki sklop koji, pored toga što se sastoji od skupa objekata i veza između njih, može da vrši i neku aktivnu funkciju ("može nešto da radi"). Znanje se sastoji od skupa činjenica i veza između njih, ali samo po sebi ne vrši nikakvu aktivnu funkciju).

Te veze omogućuju upotpunjavanje opisa elementarnih činjenica kroz njihove međusobne odnose. Kaže se da je takvo znanje deklarativno. Pored toga, važan deo znanja govori i o tome kako se rešavaju problemi u datom domenu, tj. kako se poznate činjenice koriste prilikom rešavanja problema. To je tzv. proceduralno znanje. Posebna vrsta znanja odnosi se na proces objašnjavanja elementarnih činjenica, veza između njih, kao i njihove istinitosti, odnosno važnosti. Metaznanje, ili znanje o znanju, pokazuje kako da se odabere neki deo znanja neke druge vrste da bi se problem što uspešnije rešio. Strukturno znanje opisuje strukture modela po kome se problem rešava. Pored znanja vezanog za neki konkretan domen, uvek postoji i opšte, svakodnevno, zdravorazumsko znanje, često komplementarno u odnosu na bilo koje specifično domensko znanje. Ono čini neophodnu pozadinu iz koje se izdvajaju sva druga znanja.

Proces rešavanja problema se često opisuje kao rasuđivanje, odnosno rezonovanje. Ono se sastoji iz korišćenja znanja, činjenica i strategija rešavanja problema u cilju izvođenja zaključaka koji vode ka rešenju. Rasuđivanje se vrši uz pomoć tehnika zaključivanja i kontrolnih strategija. Samo zaključivanje predstavlja proces dolaženja do novih informacija na osnovu poznatih. Tehnike zaključivanja vode sistem u kombinovanju znanja iz baze znanja i činjenica iz radne memorije. Kontrolne strategije postavljaju ciljeve sistema u procesu rešavanja problema i vode sistem u njegovom rezonovanju.

Posebna pažnja se u oblasti inteligentnih sistema pridaje pojmu heuristike, odnosno heurističkog znanja, koje se najbolje razume ako se napred opisane vrste znanja shvate kao činjenične, odnosno faktografske. Grčki glagol "heuriskein" znači "otkriti". Heuristika, odnosno heurističko znanje, označava znanje o otkrivanju i pronalaženju tehnika za rešavanje problema, s tim da za takav proces rešavanja problema obično nema strogih garancija da će biti uspešan.

Treba, međutim, uočiti da ne postoji ništa proizvoljno ili nedeterminističko u vezi sa heurističkim znanjem, odnosno sa heurističkim tehnikama. Rešavanje problema na bazi heurističkog znanja odvija se uvek prema nekom odgovarajućem algoritmu. Atribut "heuristički" znači samo da se u nekim slučajevima ne može garantovati, na primer, koliko će dugo trajati proces rešavanja problema, ili kakvog će kvaliteta biti rešenje do koga se dođe. Heuristička tehnika je nešto što se ne može potpuno precizno okarakterisati, ali se to razlikuje od nečega što je nealgoritamske prirode. Zbog empirijske

211

Page 207: VEŠTAČKA INTELIGENCIJA

prirode heurističkog znanja kod ljudi, lično iskustvo, veština i umešnost u rešavanju problema predstavljaju bitne odlike ove komponente znanja.

I u domenskom i u svakodnevnom, zdravorazumskom znanju postoji i faktografska i heuristička komponenta. Na primer, u domenu radiotehnike iskaz "antena prijemnika služi za prijem radio talasa" je činjenica, dok iskaz "bolja antena omogućuje bolji prijem" ima heuristički karakter. Zdravorazumski iskaz "složeni problem se lakše rešava ako se raščlani na manje probleme" je takode heuristički, ali je činjenica da "ako problem ne postoji, onda se on ne može ni rešavati".

Znanje može da bude zavisno od konteksta rešavanja problema, kao i kontekstno-nezavisno. Znanje je takođe i nešto što se akumulira i uvećava, obično tokom vremena i kroz aktivno korišćenje, kao i kroz proces učenja. Znanje često ima i osobinu zastarevanja. Neke činjenice, ili neki odnosi među njima, mogu tokom vremena da postanu nedovoljno precizni, nepotpuni, ili čak potpuno nevažeći.

Predstavljanje znanja je oblast veštačke inteligencije koja proučava metode i tehnike koje se koriste da bi se znanje kodiralo, odnosno predstavilo u simboličkoj formi unutar nekog inteligentnog sistema. Takvih metoda i tehnika ima dosta, ali su ovde ukratko opisane samo dve koje su od neposrednog značaja za neka kasnija poglavlja: pravila i okviri.

Pravila su iskazi oblika "ako-onda" kojima se uspostavlja odnos između nekih poznatih informacija i nekih drugih, koje logički slede iz prvih.

Na primer:

Ako Domet predajnika iznosi 100 kmi Prijemnik se nalazi na udaljenosti manjoj od 100 kmi Prijemnik ima odgovarajuću antenu

Onda Prijemnik prima signal sa predajnika.

Ako činjenice u premisi pravila važe, onda se smatra da važe i činjenice u zaključku pravila.

Pored činjenica, u zaključku može da se nalazi i neka operacija (poziv procedure, pristup bazi podataka, pristup tabeli,...). .

Pravila su izuzetno popularna tehnika za predstavljanje znanja u inteligentnim sistemima. Naročito se mnogo koriste za predstavljanje heurističkog znanja. Njihov značaj za inteligentne sisteme je toliko veliki da pojedini modeli inteligentnih sistema uopšte ne koriste nijednu drugu tehniku za predstavljanje znanja. Takvi inteligentni sistemi se često nazivaju sistemima zasnovanim na pravilima.

Okviri su strukture koje predstavljaju stereotipne podatke o nekom pojmu ili objektu. Okviri obično sadrže i atribute i metod-procedure za pojmove, odnosno objekte koje predstavljaju. Vrlo su slični klasama u objektno orijentisanim sistemima i zapravo predstavljaju preteču klasa - objekti su se koristili za predstavljanje znanja znatno pre

212

Page 208: VEŠTAČKA INTELIGENCIJA

nego što su se pojavili objektno-orijentisani sistemi i objektno-orijentisani programski jezici. Inteligentni sistemi koji koriste samo okvire za predstavljanje znanja nazivaju se sistemima zasnovanim na okvirima.

Struktura inteligentnih sistema

Opšta unutrašnja struktura inteligentnih sistema izgleda kao na slici 3. U bazi znanja se nalazi kodirano znanje sistema, predstavljeno pomoću jedne ili više tehnika za predstavljanje znanja. U njoj se nalazi logički integrisana kolekcija međusobno povezanih elemenata znanja koji se koriste tokom procesa rešavanja problema. Radna memorija u svakom trenutku sadrži podatke i činjenice koje su do tada unete spolja u sistem, kao i one do kojih je sistem sam došao tokom rešavanja problema. Ulaz i izlaz sistema služe za unošenje neophodnih podataka u radnu memoriju, izveštavanje o parcijalnim i konačnim rešenjima problema, pokretanje i zaustavljanje procesa rešavanja problema, i slično.

Slika 3 - Struktura inteligentnih sistema

Proces rešavanja problema započinje unošenjem u radnu memoriju onih podataka koji definišu početno stanje sistema, a završava se kada sistem dođe u neko ciljno stanje. Inteligentni sistem može preko svog ulaza i izlaza da komunicira sa korisnikom, kao što je to prikazano na slici 3, ali i sa drugim sistemima u okruženju, kao što su sistemi za upravljanje bazama podataka, senzori, tabele, razni serveri u mreži, itd.

Proces rešavanja problema se često opisuje kao rasuđivanje, odnosno rezonovanje. Ono se sastoji iz korišćenja znanja, činjenica i strategija rešavanja problema u cilju izvođenja zaključaka koji vode ka rešenju. Rasuđivanje se vrši uz pomoć tehnika zaključivanja i kontrolnih strategija. Samo zaključivanje predstavlja proces dolaženja do novih informacija na osnovu poznatih. Tehnike zaključivanja vode sistem u kombinovanju znanja iz baze znanja i činjenica iz radne memorije. Kontrolne strategije postavljaju ciljeve sistema u procesu rešavanja problema i vode sistem u njegovom rezonovanju.

213

Page 209: VEŠTAČKA INTELIGENCIJA

Primene inteligentnih sistemaPrimene inteligentnih sistema su vrlo raznovrsne, od opštih oblasti percepcije i

logičkog rasuđivanja, do krajnje specifičnih zadataka, kao što su upravljanje proizvodnim procesima, navigacija letilica, dijagnoza bolesti, igranje šaha, novčane transakcije, konfigurisanje računarskih resursa, i mnogi drugi. Neke karakteristične vrste inteligentnih sistema i njihove tipične primene predmet su ovih izučavanja.

Inteligentni informacioni sistemi .

Jedna od mogućih definicija inteligentnih informacionih sistema je da su to informacioni sistemi koji ispoljavaju inteligentno ponašanje i uključuju inteligenciju u procese upravljanja obradom podataka. Kao takvi, inteligentni informacioni sistemi se nalaze u preseku oblasti informacionih sistema i oblasti inteligentnih sistema. Te dve oblasti se preklapaju samo delimično, a slika 4 ilustruje takvo viđenje. Postoje brojni inteligentni sistemi koji nisu istovremeno i informacioni sistemi - na primer, neuronske mreže, ili sistemi za automatsko dokazivanje teorema. Takvi sistemi nemaju bazu podataka kao obavezan sastavni deo svakog informacionog sistema. Isto tako, informacioni sistemi uopšte ne moraju da imaju neku od osobina inteligentnih sistema -mnogi informacioni sistemi koji koriste skladišta podataka i OLAP procesiranje nemaju nikakvu bazu znanja, niti koriste tehnike zaključivanja.

Slika 4 - Pojam inteligentnih informacionih sistema

Interesantno je, međutim, da postoji visš analogija između informacionih sistema i inteligentnih sistema: podaci - znanje, baza podataka - baza znanja, rečnik podataka - metaznanje, zadavanje upita i izveštavanje - rešavanje problema, itd. Osim toga, posmatrano sa aspekta implementacije te dve vrste sistema, moguće je, na primer, zapise pravila u bazi znanja tretirati kao slogove. Zatoa je potrebno imati neki jasan kriterijum za razlikovanje inteligentnih intormacionih sistema od klasičcnih informacionih sistema.

Obično se uzima da je taj kriterijum heuristika. Inteligentni informacioni sistemi uvek koriste heurističko rešavanje problema zasnovano na nekom ugrađenom heurističkom znanju, odnosno na nekoj heurističkoj tehnici zaključivanja. Lotti Zadeh je ponudio sledeći primer iz prakse koji ilustruje taj kriterijum.

214

Page 210: VEŠTAČKA INTELIGENCIJA

Na autoputevima oko Minhena postoje na prilazu gradu elektronski panoi koji obaveštavaju vozače o tome u kojim javnim garažama ima mesta za parkiranje a u kojim ne. Ti panoi se koriste kao izlazni uređaji inteligentnog informacionog sistema koji prikuplja podatke u realnom vremenu od informacionih sistema svih javnih garaža u gradu." Izlazna informacija rangira javne garaže prema njihovoj udaljenosti u odnosu na panel koji ih prikazuje, ali i prema vrednosti jedne heurističke funkcije. Naime, informacija tipa "u garaži X nema mesta" ne znači da u tom trenutku nema mesta, već da do trenutka kada vozač doveze auto do nje neće biti mesta.

Ta procena se daje na osnovu podataka iz garaže, frekvencije saobraćaja u ulicama koje vode do te garaže, doba dana, stanja na putevima, meteoroloških prilika itd. Kada bi informacija na panou predstavljala same trenutno stanje u svakoj od garaža u pitanju bi bio klasičan informacioni sistem.

Inteligencija se može uključiti u informacioni sistem na razne načine. Na primer, inteligencija može da se odslikava u arhitekturi koja omogućuje integraciju informacionog sistema sa inteligentnim sistemima. Ona može da bude sastavni deo algoritama za optimizaciju upita koji se zadaju informacionom sistemu. Takvi algoritmi obicno sadrže neka ograničenja u cilju očuvanja semantičkog integriteta podataka, neku heuristiku, ili se oslanjaju na neke statističke pokazatelje vezane za bazu podataka. Inteligencija može da bude utkana i u korisnički interfejs informacionog sistema, u vidu znanja o profilima i preferencijama korisnika. To znanje može da omogući efikasniju interakciju između sistema i korisnika.

Kao i kod svih drugih vrsta softverskih sistema, i ked inteligentnih informacionih sistema postoje odgovarajući specifični modeli, arhitekture, tehnike i alati koji se koriste u razvoju i implementaciji tih sistema.

Najvažniji problemi u oblasti inteligentnih informacionih sistema

Oblast inteligentnih informacionih sistema nije tematski omeđena nekim izuzetno preciznim, strogim, nepromenljivim granicama. Na ovom mestu navedeni su oni problemi iz ove oblasti koji privlače najveću pažnju softverske industrije i profesionalaca koji se bave inteligentnim informacionim sistemima, kao i neki važni teorijski problemi.

Formalno-metodoloski aspekti. U ovu grupu problema spada proučavanje primena Petri mreža, hipergrafova, modela procesa i objektno-orijentisanog modeliranja u inteligentnim informacionim sistemima. Metode analize specifikacije, dizajna i implementacije inteligentnih informacionih sistema takođe su u ovoj grupi problema.

Tehnološka podrška. Problemi iz ove grupe odnose se na korišćenje aktuelnih tehnoloških dostignuća u inteligentnim informacionim sistemima (multimedija, hipertekst, interoperabilne softverske komponente).

215

Page 211: VEŠTAČKA INTELIGENCIJA

Modeliranje korisnika i korisnički interfejsi. Oblast inteligentnih informacionih sistema obuhvata i analizu korisničkih zahteva, zadatka koji sistem treba da obavlja, profila korisnika, vrednovanje i korišćenje sistema u praksi, direktnu manipulaciju podacima i grafičke korisničke interfejse, dizajn ekrana i vizuelizaciju znanja i podataka.

Predstavljanje i integracija znanja i podataka. Od stalnog razvoja i usavršavanja modela znanja, semantičkih modela, tehnika zaključivanja, kontrolnih strategija, tehnika procesiranja upita, mogućnosti razmene znanja i podataka između dva ili više sistema, kao i interoperabilnosti sistema, u mnogome zavisi efikasnost, isplativost, fleksibilnost i robustnost inteligentnih informacionih sistema. .

Modeliranje domena primene i informacija. Analiza i modeliranje domena primene, mogućnost višestrukih prikaza podataka, odnosno višestrukih logičkih pogleda na podatke, kao i znanja iz teorije informacija, od velikog su značaja za dizajn i razvoj inteligentnih informacionih sistema.

Integracija ekspertnih sistema i sistema za upravljanje bazama podataka.Ekspertni sistemi su vrsta inteligentnih sistema koja se koristi za resavanje onih

problema koji zahtevaju znanje, iskustvo i veštinu eksperta ako ih rešava čovek. Ekspertni sistemi se danas vrlo često kombinuju sa bazama podataka, a tehnologija ekspertnih sistema koristi se i u savremenim sistemima za upravljanje bazama podataka u cilju efikasnijeg procesiranja upita uz pomoć pravila, proveravanja ograničenja i integriteta podataka, obezbeđivanja bezbednosti podataka, itd.

Integracija sistema za upraljanje bazama podataka i formalne logike. Formalna logika koristi se u velikoj meri u inteligentnim sistemima. Njenim uključivanjem u sisteme za upravljanje bazama podataka dobijaju se tzv. deduktivne baze podataka, sa mogućnostima simboličkog rasuđivanja, nemonotonog rasuđivanja, primene zatvorenih modela i drugih tehnika.

Čuvanje, pretraživanje, pronalaženje i ekstrakcija informacija. Od posebnog interesa za primenu inteligentnih informacionih sistema je efikasno pretraživanje i pronalaženje informacija. Klasične tehnike automatskog indeksiranja i pronalaženja informacija ne garantuju da će pronađeni dokument po svom semantičkom sadržaju odgovarati onome što je korisnik hteo. U klasičnom sistemu za pronalaženje informacija korisnikov upit sastoji se od niza ključnih reči, eventualno povezanih nekim logičkim operatorima.

Međutim, obično pretraživanje kompletnog teksta dokumenta i detekcija neke ključne reči u njemu (ili neke konkretne logičke kombinacije nekih ključnih reči) ne mora nužno da reflektuje pravi sadržaj dokumenta, Osim toga, smisao neke reči u jednom kontekstu može da bude sasvim različit od smisla te iste reči u nekom drugom kontekstu.

Ako korisnik od sistema traži objašnjenje nekog pojma, poželjno je da sistem prepozna koji je kontekst od interesa za korisnika i da mu pruži objašnjenje u tom

216

Page 212: VEŠTAČKA INTELIGENCIJA

kontekstu, a ne spisak mogućih konteksta iz koga korisnik mora sam da bira ono što želi. Korišćenje deskriptora sadržaja dokumenta i direktorijuma umesto običnog spiska ključnih reči takođe je često neadekvatno, jer se zahteva da korisnik dobro poznaje kakvu je klasifikaciju domena primenio onaj ko je kreirao deskriptore i direktorijume, kao i ažurnost u održavanju deskriptora.

Primena inteligentnih tehnika za pretraživanje dugačkih tekstova, automatsko indeksiranje, prepoznavanje konteksta, leksikologija, inteligentni rečnici i katalozi predstavljaju neke od najinteresantnijih izazova te vrste. Tu takođe spada i problematika kreiranja i korišćenja složenijih upitnih jezika. Takvi jezici znatno povećavaju ekspresivnost upita, jačinu odziva i preciznost pronađenih dokumenata, ali mogu da budu beskorisni ukoliko su tipični upiti u datom sistemu jednostavni.

Otkrivanje znanja i mašinsko učenje. Velike baze podataka kriju u sebi implicitno prisutno znanje. Otkrivanje, prikazivanje i kodiranje tog znanja u eksplicitnoj formi, primenom neke vrste eksplorativnog istraživanja. raznih tehnika mašinskog učenja, neuronskih mreža, genetičkih algoritama i sl., pruža mogućnost za uspešniju adaptaciju i evoluciju informacionih sistema, a ponekad i za otkrivanje novih pojmova.

Rasuđivanje uz prisustvo neizvesnosti. Podaci u bazama su često nepouzdani, nekompletni, nedovoljno precizni, opterećeni šumom, pa čak i kontradiktorni. Inteligentne tehnike obrade takvih podataka u velikoj meri poboljšavaju performanse informacionih sistema.

Distribuirano rešavanje problema. Znanje i podaci danas su rasuti po brojnim bazama podataka u heterogenim, distribuiranim računarskim okruženjima. Želja korisnika za pristupom tim podacimai znanju može se ostvariti same ukoliko se obezbedi interoperabilnost i kooperacija informacionih sistema u takvim okruženjima. Primena inteligentnih softverskih agenata, komunikacija i razmena znanja i podataka između njih, kao i opšta standardizacija modela i formata zapisivanja znanja i podataka, savremena su obeležja te vrste inteligentnih informacionih sistema.

Kooperativna i kolaborativna okruženja. Savremeno projektovanje softverskih sistema, elektronsko poslovanje, kao i finansijske, medicinske, vojne i druge primene informacionih sistema često zahtevaju kooperaciju i saradnju većeg broja korisnika. Oni su česta fizički dislocirani, a razmena informacija obavlja se putem Interneta ili Intraneta. Razvoj i primena specifičnih softverskih alata i okruženja za kooperativan i kolaborativan rad povećava efikasnost u obavljanju takvih poslova, pristupanju zajedničkim bazama podataka, donošenju poslovnih odluka i dobijanju odgovarajućih izveštaja i analiza.

Integracija skladišta podataka i inteligentnih tehnika. Skladišta podataka i OLAP procesiranje još više dobijaju na značaju ako se tehnike inteligentnih sistema kombinuju

217

Page 213: VEŠTAČKA INTELIGENCIJA

sa njima. Organizacija skladišta podataka poboljšava se primenom odgovarajućih tehnika indeksiranja. Inteligentne tehnike pretraživanja, optimizacije upita i filtriranje rezultata u znatnoj meri olakšavaju donošenje odluka. On-line analiza podataka i generisanje izveštaja zasnovano na znanju daju dodatni kvalitet OLAP procesiranju.

Najvažnije klase inteligentnih informacionih sistema

Teme i problemi opisani u prethodnom odeljku čine osnovu za razvoj praktičnih inteligentnih informacionih sistema. Neki među njima su specifične namene, razvijaju se za korisnike samo po narudžbini i nisu komercijalno dostupni. Sa druge strane, postoji i veliki broj inteligentnih informacionih sistema i odgovarajućih softverskih okruženja i alata za njihov razvoj koji su opšte namene. Mnogi od njih mogu se podešavanjem određenih parametara prilagoditi želji korisnika i specifičnim primenama. Neki takvi sistemi, okruženja i alati su komercijalizovani, ali je veliki broj javno dostupan i besplatno, preko Interneta. Sledećih nekoliko klasa tih sistema su one koje za praktične primene imaju najveći značaj i koje su, shodno tome, najrasprostranjenije.

Sistemi za otkrivanje znanja u bazama podataka. Ovi sistemi omogućuju automatsko otkrivanje implicitno prisutnih zakonitosti, pravilnosti i indirektnih sadržaja u velikim bazama podataka savremenih informacionih sistema. Postoji veliki broj integrisanih softverskih okruženja za razvoj takvih sistema.

Inteligentni agenti. Inteligentni agenti su programi koji samostalno, često i na sopstvenu inicijativu, obavljaju mnoge korisne poslove u ime svojih korisnika. Pri tome, agenti imaju sposobnosti poput autonomnog međusobnog komuniciranja, automatskog učenja, mobilnosti (prebacivanja sa servera na server kada god se ukaže potreba, i to samoinicijativno) i mnoge druge. I za razvoj inteligentnih agenata postoji veliki broj softverskih okruženja.

Inteligentne baze podataka. Jedan od načina da se pristup i manipulacija složenim bazama podataka pojednostave i učine efikasnijim je da se u sisteme za upravljanje bazama podataka ugrade mogućnosti inteligentnog zaključivanja. Tako se dobijaju inteligentne baze podataka, koje imaju sposobnosti optimizacije upita, odnosno automatske selekcije najefikasnijeg načina pretraživanja baze podataka, navigacije kroz podatke na bazi ugrađenog znanja, automatskog prevođenja upita višeg nivoa (prirodnog jezika) u sekvence SQL-komandi, i slično.

Sprega ekspertnih sistema i sistema za upravljanje bazama podataka. Takvom spregom dobijaju se sistemi koji su srodni sa inteligentnim bazama podataka, ali za razliku od njih imaju kompletne ekspertne sisteme u svom sastavu, a ne same pojedine njihove funkcije.

218

Page 214: VEŠTAČKA INTELIGENCIJA

Na primer, ekspertni sistem može da se koristi kao predprocesor (interpreter) podataka koji se iz baze podataka prenose u neki aplikativni program. Slično tome, ekspertni sistem može da bude komponenta sistema za upravljanje bazama podataka, ali i obrnuto. Moguće je integrisati ekspertne sisteme i sisteme za upravljanje bazama podataka i pod kontrolom nekog trećeg sistema, kao i preko mreže.

Sistemi za razmenu znanja. Razvoj inteligentnih informacionih sistema često pati od nedostatka mogućnosti za višestruko korišćenje znanja. To znači da se baze znanja i moduli za rešavanje problema za svaki sistem razvijaju od početka, bez korišćenja već razvijenih srodnih baza znanja i drugih izvora informacija.

Distribuirani inteligentni informacioni sistemi.

Osnovna namena distribuiranih inteligentnih informacionih sistema je kreiranje grupe sistema koja koordinirano radi na rešavanju nekog složenog problema, kao što je nadziranje promena u nekoj velikoj poslovnoj bazi podataka. Glavna prednost distribuiranih sistema u odnosu na centralizovane je smanjenje kompleksnosti obrade podataka i prirodna podela uloga na više jednostavnijih sistema. Po pravilu, pojedinačni sistemi u sklopu distribuiranog nalaze se na različitim serverima.

Očigledno je da se na taj način može postići željeni stepen autonomnosti pojedinačnih sistema, kao i poboljšanje efikasnosti obrade podataka kroz paralelizam. Takvi sistemi su i znatno otporniji na greške u odnosu na centralizovane sisteme, kod kojih su sve uloge skoncentrisane u jednom sistemu. Ukoliko se dogodi da neki od pojedinačnih sistema u sklopu distribuiranog inteligentnog informacionog sistema otkaže, ostali najčešće mogu dobrim delom da preuzmu njegove funkcije. Postoje brojne i vrlo raznovrsne arhitekture ovih sistema.

Virtuelne organizacije. Virtuelna organizacija je poslovna organizacija kod koje se putem mrežnog

komuniciranja integrišu komplementarni informacioni i drugi resursi pojedinačnih kooperanata u cilju podrške razvoju određenog proizvoda. Važna pretpostavka virtuelnih organizacija je da pomenuti resursi ostaju na mestu na kome se nalaze, odnosno na matičnom serveru odgovarajućeg kooperanta. Oni se samo selektivno dodeljuju na korišćenje nekom drugom kooperantu iz virtuelne organizacije aka se proceni da nisu dovoljno iskorišćeni od strane matične kompanije, odnosno da je profitabilnije dodeliti ih na korišćenje nekom drugom. Ideja virtuelnih organizacija nije nova i ne vezuje se isključivo za inteligentne informacione sisteme, ali je tek sa njihovim razvojem i razvojem računarskih mreža i Interneta njeno ostvarenje postalo realnost.

Digitalne biblioteke.

219

Page 215: VEŠTAČKA INTELIGENCIJA

Svaka digitalna biblioteka je jedan veliki, najčešće distribuirani inteligentni informacioni sistem čiji osnovni sadržaj predstavljaju multimedijalni dokumenti kao elektronski ekvivalent klasičnih publikacija. Dokumenti su međusobno povezani tehnikom hiperlinkova. Za korisnike je obezbeđen čitav niz informacionih servisa, poput efikasnog pretraživanja obimnih tekstova, lakog i brzog pronalaženja srodnih sadržaja, višestrukog klasifikovanja dokumenata, itd.

Digitalne biblioteke pre svega predstavljaju mogućnost kompjuterizacije i nov način za organizovanje, čuvanje, klasifikaciju i katalogizaciju sadržaja klasičnih biblioteka. Pored toga, mnoge državne, javne, kulturne, naučne, izdavačke i druge organizacije zasnivaju svoju elektronsku. dokumentaciju na principima digitalnih biblioteka. Elektronsko izdavaštvo, obrazovanje i statistika su neke od delatnosti za koje su digitalne biblioteke od izuzetnog značaja.

Sistemi za efikasno pronalaženje i procesiranje multimedijalnih dokumenata

U poslednje vreme sve popularniji, ovi sistemi imaju dva osnovna cilja. Prvo, da omoguće korisniku inteligentno automatsko pronalaženje multimedijalnih informacija u dramatično rastućem kontingentu on-line dokumenata, i drugo, da obezbede procesiranje i automatsko razumevanje i integraciju sadržaja takvih dokumenata. Smišljen je i novi akronim za takve sisteme - TIVA (Text, Images, Video and Audio). Za razliku od pronalaženja čisto tekstualnih dokumenata, kod ovih sistema je najvažnije omogućiti automatsko pretraživanje, pronalaženje, prepoznavanje i razumevanje neke kombinacije dva ili više TIVA izvora podataka u velikoj kolekciji raznovrsnih dokumenata kao što je WWW. Na taj način se znatno povećava korisnost takvih dokumenata.

Primene inteligentnih informacionih sistema

U cilju ilustrovanja izuzetno širokog spektra aktuelnih primena inteligentnih informacionih sistema, u ovom odeljku su navedeni neki tipični primeri. Namerno su odabrane aplikacije iz potpuno različitih oblasti Ijudskih aktivnosti. .

Sistemi za otkrivanje znanja u bazama podataka koriste se u mnogim domenima, od raznih inženjerskih disciplina, preko medicine i astronomije, sve do društvenih nauka, finansija i marketinga, pa čak i sporta. Na primer, sistem Subdue, razvijen u saradnji poznatog američko-kanadskog koncerna BNR i Univerziteta u Arlingtonu u Teksasu, uspešno se koristi u otkrivanju istovetnih podšema u složenim šemama integrisanih kola pri projektovanju VLSI tehnologije. Takva otkrića značajno pojednostavljuju inače skupoceni postupak izrade maski za proizvodnju VLSI kola.

Inteligentni agenti takođe nalaze primenu u najrazličitijim mogućim oblastima, od pretraživanja informacija na Internetu i filtriranja elektronske pošte, do tehnike, industrije, telekomunikacija, elektronske trgovine i kontrole saobraćaja. Jedna od vrlo atraktivnih oblasti primene inteligentnih agenata je obrazovanje. Takozvani pedagoški

220

Page 216: VEŠTAČKA INTELIGENCIJA

agenti kontrolišu proces prenošenja pojedinih edukativnih sadržaja korisnicima preko računara, sposobni su da u tome primene različite pedagoške strategije, da provere stečeno znanje korisnika, sugerišu mu korektivne akcije aka nije dobro savladao materiju, itd.

Jedan od najpoznatijih dugoročnih projekata koje finansira američka vlada preko agencije DARPA (Defence Advanced Research Projects Agency), poznat je pod nazivom 13 (Intelligent Integration of Information). Glavni ciljevi projekta su pojednostavljivanje i standardizacija pristupa heterogenim informacijama u distribuiranim informacionim sistemima, uz zahtev da se informacije uvek dobijaju na željenom nivou apstrakcije. U okviru tog projekta definisana je referentna arhitektura sistema za razmenu znanja, u skladu sa CORBA standardom, koja koristi inteligentne baze znanja, spregu ekspertnih sistema i sistema za upravljanje bazama podataka i inteligentne agente.

Na bazi te arhitekture razvijen je veliki broj praktičnih inteligentnih informacionih sistema, karakterističnih po velikim kolekcijama (na stotine) dinamički promenljivih, potencijalno nekonzistentnih, heterogenih izvora podataka. Ti izvori uključuju raznovrsne baze znanja, baze podataka (i relacione i objektno-orijentisane), semi-strukturirane dokumente, kao i nestrukturirane datoteke sa tekstom i grafikom.

Najpoznatiji među sistemima razvijenim u okviru projekta 13 je virtuelna organizacija pod nazivom SBD (Simulation Based Design). Ona je kreirana i koristi se u poznatoj kompaniji Lockhed Martin pri dizajniranju letilica (aviona i satelita). SBD služi za inženjerski razvoj proizvoda tokom celog njegovog životnog ciklusa, od početnog dizajna do evaluacije prototipova u sintetičkom okruženju. U SBD su ugrađeni opšti modeli fundamentalnih inženjerskih procesa, što je osnova za lake prilagođavanje različitim domenima proizvodnje.

Svi ti procesi distribuirani su na različitim serverima-kooperantima, a obavljaju ih inteligentni agenti. Korisnici preko njih pristupaju najrazličitijim bazama podataka pri dizajniranju proizvoda. Servisi sistema SBD omogućuju, između ostalog, korišćenje spoljnih resursa (npr. sistema za animaciju i vizuelizaciju podataka), prostornu manipulaciju proizvodima i procesima u timskom radu, kao i simulaciju uloge operatera. Sistem SBD koristi se i kao opšti model za razvoj drugih dizajnerskih alata.

Vrlo koristan inteligentni informacioni sistem u kome je spregnut jedan ekspertni sistem sa sistemom za upravljanje bazom podataka u upotrebi je od 1993. u Beloj Kući u Washingtonu. Dotična baza podataka deo je informacionog sistema Comlink, koji sluzi kao on-line podrška Bele Kuće za odnose sa javnošću (davanje saopštenja za medije, tekstova govora i drugih važnih informacija iz Ovalnog kabineta). Comlink komunicira sa hiljadama korisnika, na stotinama lokacija, iz više desetina zemalja širom sveta.

Korisnici mogu da se u svakom trenutku prijave za korišćenje Comlinka, da se odjave, kao i da ažuriraju svoje podatke u bazi pretplatnika korišćenjem prigodnog elektronskog formulara. Komunikacija zvaničnika Bele Kuće sa korisnicima Comlinka najčešće se obavlja korišćenjem elektronske poste. U početku se Comlinku vraćalo oko 100 poruka dnevno zbog toga što korisnici ili njihovi host računari u nekom trenutku nisu

221

Page 217: VEŠTAČKA INTELIGENCIJA

mogli da budu pronađeni, što su im kvote na diskovima bile ponekad popunjene, što su postojali problemi u konfiguraciji njihovih računara, itd.

Administratori Comlinka nisu mogli da jednostavno ignorišu vraćene poruke - to bi bile vrlo loše za odnose Bele Kuće sa javnošću. Stoga su sve vraćene poruke analizirane manuelno, da bi se baza korisnika Comlinka stalno odr žvala, što je oduzimalo ogromno vreme. Na kraju su stručnjaci sa Univerziteta MIT pozvani da reše problem. Oni su napravili ekspertni sistem BMES, koji heuristički analizira uzroke vraćanja poruka na bazi podataka iz zaglavlja vraćenih poruka i ažurira bazu pretplatnika Comlinka. Rezultat: vreme potrebno administratorima za analizu vraćenih poruka smanjeno je šest puta. BMES ne može da reši baš sve slučajeve, ali rešava oko 85%.

Kompletno elektronsko izdavaštvo dvaju najznačajnijih međunarodnih profesionalnih udruženja iz oblasti elektrotehnike i računarstva, IEEE i ACM, organizovano je u obliku digitalnih biblioteka. Obe digitalne biblioteke su započele sa radom sredinom devedesetih godina dvadesetog veka. Njihovi korisnici imaju mogućnost da preko Interneta koriste u elektronskoj fermi na desetine stručnih časopisa koje izdaju pomenuta udruženja (i nova i stara izdanja), zbornike i izveštaje sa konferencija, kao i pojedine knjige.

Pored izuzetno efikasnih servisa za pretraživanje publikacija, tekstova i kataloga, ove biblioteke imaju još jedan jako važan kvalitet - reference na stručnu literaturu u tekstovima testa su date u obliku hiperlinkova koji korisnika direktno prebacuju na elektronsku verziju odgovarajućeg dokumenta (ako je ona dostupna).

Performanse inteligentnih informacionih sistema

Ovaj odeljak ne predstavlja nikakvu strogu analizu performansi inteligentnih informacionih sistema, već samo pokušaj da se posredno odgovori na pitanja poput:

• Koliko su stvarno dobri inteligentni informacioni sistemi• Šta stvarno mogu inteligentni informacioni sistemi• Kakva realna, merljiva poboljšanja oni nude u odnosu na tradicionalne

sistemeU primerima koji slede izdvojeni su samo neki od pokazatelja stvarnih performansi

inteligentnih informacionih sistema.U prethodnom odeljku pomenuta je referentna arhitektura sistema za razmenu

znanja, nastala kao jedan od rezultata projekta 13. Efikasnost pretraživanja i ažuriranja znanja i podataka u tim sistemima je za dva reda veličine veća nego kod sličnih sistema koji ne koriste pomenutu arhitekturu.

"Želim da putujem iz Bostona u San Francisco", kaže putnik u mikrofon. "Kog datuma?", začuje se kao odgovor. Putnik dalje objašnjava da želi da to bude 20. oktobra, bez prekida putovanja, po najnižoj tarifi, a da povratak mora da bude za nedelju dana. Program za razumevanje govora, kao deo inteligentnog informacionog sistema za

222

Page 218: VEŠTAČKA INTELIGENCIJA

rezervaciju karata, potvrđuje putniku rezervaciju i daje mu podatke o letu i ceni iako tokom "razgovora" taj program ne prepozna oko 10% reči koje korisnik izgovara, u njega su ugrađene mogućnosti za oporavak od grešaka. .

Ekspertni sistem Marvel, instaliran u Jet Propulsion Laboratory u Americi, radi u realnom vremenu sa bazom podataka, koje prikupljaju svemirske stanice poslate prema planetama Sunčevog sistema. U bazi, koja je inače ogromna, podaci se stalno menjaju zahvaljujući ulazu koji neprekidno stiže sa svemirskih stanica. Marvel automatski interpretira podatke i tako nadzire stanje na svakoj od stanica u svim rutinskim situacijama, odnosno u preko 90% slučajeva. U izuzetnim i potencijalno opasnim situacijama, Marvel upozorava operatere, koji bi zbog preopterećenosti inače mogli i da previde tako važne trenutke.Sistem za otkrivanje znanja u bazama podataka o putničkim avionima, pod nazivom KA TE, poslužio je kao osnova za razvoj dijagnostičkog sistema CASSIOPEE. Taj sistem već godinama koriste tri velike evropske aviokompanije za dijagnostiku i predikciju otkaza na avionima tipa Boing 737. Svi avioni tog tipa koji treba da lete na redovnim linijama proveravaju se pred svaki let. U svim slučajevima kada CASSIOPEE otkrije i najmanju mogućnost otkaza ili bilo kakve opasnosti po bezbednost putnika, let se otkazuje ili se avion zamenjuje drugim dok se ne popravi.

5.1.2. Fokus izlaganja

Nije moguće u jednoj ovakvoj knjizi detaljno pokriti sve teme i vrste inteligentnih informacionih sistema o kojima je bilo reči u prethodnim odeljcima. Stoga se samo sledeće vrste inteligentnih informacionih sistema obrađuju u narednim poglavljima:

• sistemi za otkrivanje znanja u bazama podataka • inteligentni agenti

Deo o sistemima za otkrivanje znanja u bazama podataka se fokusira na tri cilja. Prvi se sastoji u tome da se jasno prikaže proces otkrivanja znanja u bazama podataka. On teče u više faza i ima svoje preduslove. Svaku od faza procesa karakteriše i odgovarajuća povratna sprega - rezultati jedne faze mogu se povratno iskoristiti pri ponovnom izvođenju neke od ranijih faza. Drugi cilj je osvetljavanje centralne faze procesa otkrivanja znanja, faze traganja kroz padatke, odnosno pretraživanja podataka, i to pre svega iz ugla algoritama koji se koriste u tom postupku.

Detaljno je prikazano više takvih algoritama, ukazujući pri tome i na praktične sisteme za otkrivanje znanja koji ih koriste. Najzad, fokus izlaganja o ovoj vrsti inteligentnih informacionih sistema je i na njihovom dizajnu. Pored nekih opštih inženjerskih razmatranja, opisana je i unutrašnja struktura i organizacija nekoliko konkretnih sistema, kao i softverskih okruženja za njihov razvoj.

I u delu o inteligentnim agentima najveća pažnja posvećena je aspektu dizajna. Razmatraju se razne vrste agenata i njihov dizajn u zavisnosti kako od tipova zadataka

223

Page 219: VEŠTAČKA INTELIGENCIJA

koje treba da obavljaju, tako i od karakteristika okruženja u kojima rade. Za sve vrste agenata koji su opisani u tom delu prikazan je njihov generički dizajn, korišćenjem pseudokoda. Takav pristup omogućuje efikasno korišćenje i prilagođavanje opisanih vrsta agenata praktičnim aplikacijama.

Iako je svako od narednih poglavlja posvećeno jednoj konkretnoj vrsti inteligentnih informacionih sistema, u pogledu načina izlaganja materije treba naglasiti jednoobraznu strukturu poglavlja. Svako poglavlje počinje jednim manje obimnim odeljkom, koji na postupan način stvara čitaocu osnovni osećaj o tome šta predstavlja, za šta se koristi i zbog čega je značajna ta vrsta inteligentnih informacionih sistema.

Zatim sledi nekaliko odeljaka koji detaljno opisuju koji su to osnovni pojmovi i tipični problemi vezani za takve inteligentne informacione sisteme. Potom se u jednom obimnijem odeljku opisuju odabrani konkretni sistemi i aplikacije te vrste. Najzad, u jednom odeljku manjeg obima diskutuje se o komercijalnim aspektima te vrste sistema, aktuelnim istraživačkim temama u toj oblasti, razlozima za i protiv razvoja i korišćenja takvih sistema, kao i najznačajnijim autorima i centrima u kojima se ta vrsta inteligentnih sistema istražuje i razvija.

5.1.3. Rezime

Ono što čitaocu pruža ovo uvodno poglavlje može se sumirati kao:• definisanje sireg konteksta u kome se razmatraju inteligentni informacioni sistemi

u ostalim poglavljima• definisanje svih najvažnijih pojmova na koje se oslanjaju ostala poglavlja• kratak pregled dve šire klase računarskih sistema, informacionih sistema i

inteligentnih sistema, iz kojih su proistekli inteligentni informacioni sistemi • kratak pregled najvažnijih vrsta problema i centralnih tema u vezi sa dizajnom,

razvojem i implementacijom inteligentnih informacionih sistema• koncizan opis nekih najvažnijih klasa inteligentnih informacionih sistema• neki tipični primeri primene inteligentnih informacionih sistema• indirektna diskusija performansi inteligentnih informacionih sistema, data kroz

prikaz odabranih primera .Na kraju, jasno je ukazano na šta je obraćeno najviše pažnje pri opisivanju

pojedinih konkretnih vrsta inteligentnih informacionih sistema u ostalim poglavljima.

1.4. Bibliografske napomeneInformacioni sistemi, kao jedna od najvažnijih oblasti računarstva uopšte, tema

su velikog broja stručnih knjiga i drugih publikacija. Ovde su korišćeni pojmovi i definicije u skladu sa [Campione and Walrath, 1998], [Cattell, 1994], [Date, 1986],

224

Page 220: VEŠTAČKA INTELIGENCIJA

[Kim, 1995], [Lazarević, 1993] i [Lazarević i dr., 1993]. Ti izvori obrađuju sve pojmove vezane za informacione sisteme znatno detaljnije nego što je to slučaj na ovom mestu. Pretraživanje i pronalaženje informacija opisano je u skladu sa aktuelnim viđenjima te problematike iznetim u [BaezaYates and Ribeiro-Neto, 1999], [Frakes and Baeza-Yates, 1992], [Guarino et al., 1999], [Gudivada et al., 1997], [Lewis and Sparck Jones, 1996] i [Miller, 1995]. Deo o skladištima podataka oslanja se pre svega na [CACM, 1998], [McFadden and Watson, 1996] i [Turban and Aronson, 1998].

Opšta razmatranja vezana za inteligentne sisteme predmet su gotovo svih uvodnih poglavlja knjiga iz raznih oblasti veštačke inteligencije. Neka od tih razmatranja koja su korišćena u ovom poglavlju mogu se pronaći u izvorima [Bobrow, 1991], [Debenham, 1998], [Durkin, 1994], [Hofstadter, 1994], [Kosko, 1993]. [Minsky, 1985], [Newel and Simon, 1972], [Russell and Norvig, 1995] i [Winston, 1984].

225

Page 221: VEŠTAČKA INTELIGENCIJA

Razmišljanja o odnosu veštačke inteligencije i drugih računarskih disciplina preuzeta su iz do sada neobjavljenog uvodnog predavanja jednog od vodećih autoriteta u oblasti inteligentnih sistema, profesora Balakrishnana Chandrasekarana sa američkog univerziteta Ohio State University. Predavanje je održano u sklopu konferencije The Fourth World Conference on Expert Systems, marta 1998 u Mexico City-u, a autor ove knjige je imao sreću da prisustvuje tom predavanju.

Na istoj konferenciji Lotfi Zadeh, počasni profesor univerziteta u Berkeley-u, održao je predavanje o inteligentnim informacionim sistemima. Slika 4, kao i primer iz odeljka o inteligentnim informacionim sistemima u ovom poglavlju potiču iz materijala sa tog predavanja. Navedena definicija inteligentnih informacionih sistema preuzeta je iz najpoznatijeg svetskog časopisa iz te oblasti, The Journal of Intelligent Information Systems. Slična definicija data je i u [Parsaye and Chignell, 1993].

Prikazani izbor tipičnih tema i problema iz oblasti inteligentnih informacionih sistema, kao i klasa praktičnih sistema te vrste, nastali su na osnovu višegodisnjeg uvida u sadržaj članaka koji se objavljuju u pomenutom časopisu, kao i na osnovu redovnog periodičnog pretraživanja odgovarajućih lokacija na Internetu.

U vezi sa distribuiranim inteligentnin informacionim sistemima, treba naglasiti izuzetno veliki uticaj ideja iz ranih radova Chandrasekarana [Chandrasekaran, 1981] i Deckera [Decker, 1987] na današnje sisteme. Opisi inteligentnih baza podataka i sprezanja ekspertnih sistema i sistema za upravljanje bazama podataka nastali su na osnovu [Parsaye and Chignell, 1993] i [Turban and Aronson, 1998].

Dobar opis i pregled virtuelnih organizacija koje se danas koriste u praksi dali su O'Leary, Kuokka i Plant [O'Leary et al., 1997]. U vezi sa digitalnim bibliotekama, videti [CACM, 1995]. Interesantan osvrt na današnje TIVA sisteme može se pronaći u [Hauptmann, 1999]. Jedan od iscrpnih preglednih članaka o pedagoškim agentima napisao je Lewis Johnson [Johnson, 1998]. Autori sistema Subdue su Cook, Holder i Djoko [Cook et al., 1996]. Sistem BMES opisan je u [Hedberg, 1997], a o sistemu SBD može se naći dosta materijala na Internetu, polazeći od adrese projekta 13 (v. dole). Svi primeri vezani za performanse inteligentnih informacionih sistema objavljeni su u [Russell and Norvig, 1995].

噈ꨰױ....5.1.5 Korisne adrese na Internetu

Neke od mnogih korisnih polaznih adresa za pretraživanje informacija o inteligentnim informacionim sistemima na Internetu su:

ACM digitalna biblioteka: http://www.acm.org/dl/ CORBA standard I konzorcijum OMG: http://www.omg.org DARPA agencija : http://web-ext2.darpa.mil/

226

Page 222: VEŠTAČKA INTELIGENCIJA

Ekspertni sistemi: http://ai.miningco.com/msubexpert.htm13 projekat: http://web-ext2.darpa.milliso/13/IEEE digitalna biblioteka: http://www. ieee.org/iel/

http://computer.org/epub/ Inteligentni agenti: http://www.agents.comOtkrivanje znanja u bazama podataka: http://www. kdnuggets. com/ Predstavljanje znanja: http://mnemosyne.itc.it.1024/kr-links.htmlSistemi za razmenu znanja: http: //www-ksl.Stanford.edu/knowledge-sharing/

227

Page 223: VEŠTAČKA INTELIGENCIJA

5.2. Otkrivanje znanja u bazama podataka

Problematika otkrivanja znanja u bazama podataka (Knowledge Discovery in Databases, KDD) odnosi se na automatsko otkrivanje implicitno prisutnih zakonitosti, pravilnosti i indirektnih sadržaja u velikim bazama podataka savremenih informacionih sistema. Vrlo često se pojam KDD poistovećuje sa pojmom traganja kroz podatke (Data Mining, DM). Strogo uzevši, međutim, DM je samo jedan deo celovitog procesa KDD.

Ova poglavlje ima za cilj da čitaoca postupno uvede u suštinu procesa KDD. Pojam KDD ovde je najpre neformalno prikazan iz ugla praktičnih potreba korisnika informacionih sistema i velikih baza podataka, kao i iz ugla više drugih disciplina čijim se dostignućima i tehnikama koristi oblast KDD. Zatim se uvode formalne definicije svih najvažnijih pojmova vezanih za proces KDD. Detaljno se opisuju karakteristični DM zadaci i algoritmi koji se koriste za njihovo obavljanje, kao i drugi važni aspekti procesa KDD. Konačno, opisan je i čitav niz praktičnih KDD sistema u raznim oblastima primene, a takođe i veći broj aktuelnih problema koji se odnose na KDD i koji danas zaokupljaju softversku industriju.

5.2.1. Pojam otkrivanja znanja u bazama podataka - KDD

Korisnici informacionih sistema u mnogim organizacijama, kompanijama i drugim institucijama sve češće postavljaju sledeće pitanje: "Sada kad smo sakupili toliko podataka, šta ćemo sa njima?" Jedan frustrirani menadžer iz SAD izrazio je to na sledeći način: "Računari su nam obećali fontanu mudrosti, a ovo što smo dobili je poplava podataka!"Razlozi za ovakva pitanja i konstatacije su višestruki. Pre svega, činjenica je da se baze podataka savremenih informacionih sistema stalno uvećavaju zbog realnih potreba poslovnih procesa. Drugo, čak i kad potreba nije tako jaka, korisnici radije smeštaju podatke u baze jer je smeštanje i čuvanje podataka sve jeftinije, tako reći iz dana u dan. Konačno, Ijudi veruju da čuvanjem podataka mogu da sačuvaju neke potencijalno vredne informacije. Kao rezultat svega toga, jedan podatak iz 1989. godine govori da je tada dolazilo do dupliranja količine informacija koja se čuvala u bazama podataka informacionih sistema na svakih 20 meseci. Danas, kada su informacioni sistemi još kompleksniji, često distribuirani, a Internet predstavlja osnovnu infrastrukturu savremenog poslovanja, sigurno je da je taj period znatno kraći od 20 meseci.

U ovoj knjizi se pojmovi KDD i DM koriste precizno - kad god je razlika između njih bitna, koristi se samo jedan od njih. U svim ostalim slučajevima koristi se oznaka KDD/DM.

228

Page 224: VEŠTAČKA INTELIGENCIJA

Međutim, sirovi podaci iz baza su retko od koristi. Oni se obično koriste u nekom modifikovanom obliku i tek kao takvi prikazuju u izveštajima koje korisnici dobijaju na izlazu informacionog sistema. Čak i tada, analiza podataka iz izveštaja je često samo manuelna. Ljudi koji vrše analizu podataka nalaze se u ulozi sofisticiranih "procesora upita". U slučaju kada se radi o jednostavnim informacionim sistemima, sa relativno malim bazama podataka, to može da bude sasvim zadovoljavajuće. Međutim, zbog stalnog povećavanja količine podataka u bazama, sve češće dolazi do teškoća u manuelnoj analizi podataka.

Ono što je u tom slučaju veoma poželjno je automatizacija analize podataka. Upravo to je ono što omogućuje KDD, odnosno DM.

Šta sve spada u oblast KDDSledeća lista odgovora na gornje pitanje nije konačna, ali može čitaocu da posluži za kreiranje početne ideje o "prostoru" KDD:. traganje kroz podatke, DM. integracija različitih metoda mašinskog učenja i otkrivanja znanja. integracija sistema zasnovanih na znanju i objektno-orijentisanih sistema. integracija sistema zasnovanih na znanju i statističkih metoda :',. otkrivanje kauzalnosti među podacima ' '

. korišćenje domenskog znanja (znanja o domenu problema) u procesu KDD.

. sumiranje i interpretacija otkrivenog znanja

. uključivanje otkrivenog znanja u proces KDD

. odgovaranje na upite visokog nivoa (optimizacija upita, otkrivanje pravila za transformaciju upita)

. otkrivanje evolucije podataka

. učenje novih koncepata

. evaluacija otkrivenog znanja

. otkrivanje neegzaktnih pojmova u strukturiranim podacima tretman otkrivenog neizvesnog znanja

. indukcija metaznanja o KDD

. izbegavanje grešaka u bazama podataka

. softverska okruženja za KDD

. vizuelizacija KDD

. etička i pravna pitanja u vezi sa KDD

Pored svega što je navedeno, treba reći i to da se često sreću i drugi nazivi za KDD. Pored već pomenutog povremenog poistovećivanja KDD i DM, sreću se i sledeći nazivi:

229

Page 225: VEŠTAČKA INTELIGENCIJA

. arheologija podataka (data archeology)

. ekstrakcija znanja (knowledge extraction)

. otkrivanje informacija (information discovery)

. žetva informacija (information harvesting)

. procesiranje patterna - uzoraka (pattern processing)

Ipak, poslednjih godina sve više se govori samo o KDD i DM, a pravi se i precizna razlika između ta dva pojma.

Poznati primeri KDD i DM sistema

KDD i DM sistemi ne spadaju u softverske sisteme opšte namene, za široko tržište. Obično se prave za konkretnog naručioca i za vrlo precizno definisane domene primene. Neke od tipičnih primena KDD i DM tehnika prikazane su kroz sledeće primere. .

American Airlines je jedna od mnogih svetskih avio kompanija koje svojim putnicima nude tzv. "Frequent Flyer" program - putnici koji često lete avionima te kompanije mogu da sakupe određeni broj kupona i da na osnovu njih dobiju besplatnu kartu za neku destinaciju, besplatan smeštaj u nekom hotelu, kao i niz drugih pogodnosti.

Da bi privukla što više putnika da učestvuje u njenom "Frequent Flyer" programu, kompanija American" Airlines koristi KDD i DM tehnologiju za pretraživanje svoje baze podataka o korisnicima tog programa. Istaknuti korisnici dobijaju promotivne nagrade. KDD sistem u ovom slučaju generiše karakteristične opise tih istaknutih korisnika (Ieteo-letela n puta, na relaciji A-B, u periodu od dd1-mm1-gg1 do dd2-mm2-gg2, povratni let posle m dana, itd.). Takvi opisi se onda koriste za postavljanje upita koji kao rezultat daju imena konkretnih istaknutih korisnika. .

General Motors koristi bazu podataka o automobilskim nesrećama za KDD -ispitivanje uzroka otkaza na vozilima njihove proizvodnje koja su stradala u nesrećama. Primenom KDD/DM tehnika automatski se dobijaju If-Then pravila koja opisuju dijagnostiku kvarova i otkaza na vozilima te kompanije. Tako dobijena pravila koriste se onda u bazi znanja dijagnostičkog ekspertnog sistema za razne modele vozila General Motors.

Taj ekspertni sistem koriste servisne službe General Motorsa kojima se kupci vozila obraćaju u slučaju kvarova i otkaza na njihovim vozilima. Ekspertni sistem vrlo brzo i automatski daje dijagnozu kvara na vozilu koje je dovezeno u servis.

Mnoge banke u svetu koriste KDD/DM sisteme za ispitivanje podataka o kreditima i zajmovima u bazama podataka svojih klijenata. Znanje koje generišu takvi sistemi opisuje tipične slučajeve klijenata kojima se isplati, odnosno ne isplati odobriti zajam ili kredit (tipičan klijent ima godišnju zaradu od xx $ do yy $, urednost u otplaćivanju narušena je zz puta, zatezna kamata dostigla je iznos od tt $ tokom perioda otplate, itd.). Takvi automatski generisani opisi služe za poboljšanje metoda predikcije poslovanja,

230

Page 226: VEŠTAČKA INTELIGENCIJA

odnosno bolje procenjivanje konkretnih slučajeva odobravanja zajmova i kredita.

Kratak istorijat oblasti KDD i DM

Oblasti KDD i DM sazrevale su postepeno. Pojam OM poznat je od ranije u oblasti statistike, a oblast KDD se dosta oslanja na statistiku. Zanimljivo je, međutim, da je u oblasti informacionih sistema i baza podataka ranije postojalo samo sporadično interesovanje za ono što danas nazivamo KDD/DM. Prvi naučno-stručni skup (workshop) na tu temu održan je tek 1989 godine i okupio je samo mali broj učesnika. Pa ipak, već sledeće godine postalo je jasno da se tu radi o temama koje će jako mnogo zaokupiti softversku industriju.

Jedan od najvećih svetskih stručnjaka u oblasti mašinskog učenja i veštačke inteligencije uopšte, Donald Michie, predvideo je 1990 da će tokom devedesetih godina dvadesetog veka korišćenje tehnika mašinskog učenja u analizi podataka doživeti pravi boom. Pokazalo se da je bio i te kako u pravu. Prva međunarodna konferencija većih razmera na temu KDD/DM održana je 1995. godine, a ubrzo potom usledilo je veliko interesovanje softverske industrije za ove oblasti. Nimalo slučajno; vodeće svetske kompanije u proizvodnji softvera za najšire rasprostranjene. aplikacije (Microsoft, Oracle, IBM, itd.) bile su među prvima koje su počele da razvijaju ovu tehnologiju za komercijalne primene.

KDD/DM i ostale discipline

Oblasti KDD i DM koriste rezultate i deo metodologije iz mnogih, drugih disciplina, od kojih neke i nisu potpuno vezane za računarsku tehniku. Prirodno, za automatsku analizu podataka u bazama neophodna je sama tehnologija baza podataka, koja omogućuje smeštanje i čuvanje podataka, njihove modifikacije, zadavanje upita, pripremanje i dobijanje izveštaja, i sl. Pošto se primenom KDD/DM u bazama podataka otkriva implicitno prisutno znanje, predstavljanje znanja i tehnologija ekspertnih sistema od velike su koristi za KDD/DM. Jedna važna klasa ekspertnih sistema zasniva se na indukciji opštih pravila zaključivanja na osnovu konkretnih primera rasuđivanja u domenu primene.

Primere daje ekspert. Vrlo slične tehnike koriste se i u KDD/DM. Međutim, postoje i važne razlike u indukciji pravila zaključivanja kod ekspertnih sistema i KDD/DM sistema:

. primeri eksperta znatno su kvalitetniji nego "prosečni" podaci u bazi podataka, na osnovu kojih KDD/DM sistemi generišu pravila

. primeri eksperta obično pokrivaju tipične slučajeve iz domena primene ekspertnog sistema, a znatno ređe izuzetne slučajeve; u velikim bazama podataka, medutim, ima i tipičnih vrednosti podataka i izuzetaka, i često nije lake utvrditi o kakvoj se vrednosti radi.

231

Page 227: VEŠTAČKA INTELIGENCIJA

Odnos između KDD/DM sistema i inteligentnih baza podataka prikazan je na slici 5. Vidi se da je oblast KDD/DM same jedna od tehnologija koje koriste inteligentne baze podataka. Preciznije, svaka inteligentna baza podataka zasniva se na inteligentnom sistemu za upravljanje bazom podataka, slika 6. On ima ugrađene neke tehnike inteligentnog rasuđivanja, koje omogućuju brže i efikasnije pretraživanje baze, izvođenje nekih zaključaka o vrednostima pojedinih podataka, optimizaciju upita niskog nivoa, itd. samo baza može da bude zasnovano na tradicionalnom relacionom modelu, ali može da sadrži i objektno-orijentisane multimedijalne podatke. U oblasti inteligentnih baza podataka, takve baze zajedno sa pridruženim inteligentnim sistemom za upravljanje nazivaju se ponekad deduktivnim bazama podataka.

Slika 5 - KDD/DM i inteligentne baze podataka

Kod inteligentnih baza podataka uvek postoji i korisnički interfejs visokog nivoa, koji obezbeđuje inteligentnu interakciju sa korisnicima u pogledu zadavanja upita visokog nivoa i adekvatnog formatiranja izveštaja. Takav interfejs je prilagođen korisniku i uvek ima ugrađen neki model zadatka koji sistem obavlja (aplikacije) i okruženja u kome radi.

232

Page 228: VEŠTAČKA INTELIGENCIJA

Slika 6 - Slojevi inteligentne baze podataka

233

Page 229: VEŠTAČKA INTELIGENCIJA

Najviši sloj inteligentne baze podataka čine alati visokog nivoa, gde spadaju KDD/DM alati, inteligentni agenti za pretraživanje baza i usaglašavanje raznovrsnih formata podataka, alati za kontrolu kvaliteta podataka, integriteta podataka, i sI.

Razne tehnike iz statistike veoma se mnogo primenjuju u KDD/DM sistemima. Statistika, međutim, nije dovoljna za KDD. Statističke tehnike svakako omogućuju određenu analizu podataka, ali zahtevaju učešće korisnika u toj analizi. Kod KDD/DM ide se na automatsku analizu podataka. 8tatistika daje rezultate koje je često teško interpretirati i nije pogodna za analizu kompleksnijih struktura podataka nenumeričke prirode. Još jedna važna razlika KDD/DM i statistike je u tome što statistika ne omogućuje korišćenje domenskog znanja u analizi podataka.

Mašinsko učenje, kao klasična disciplina veštačke inteligencije. dala je mnoge tehnike automatskog otkrivanja ili generisanja novih pojmova na osnovu postojećih. KDO/DM sistemi često koriste poznate algoritme mašinskog učenja u otkrivanju znanja u bazama podataka. Algoritmi mašinskog učenja obično polaze od neke kolekcije primeraka (instanci) u nekoj datoteci (bazi), na osnovu koje generišu neki iskaz (npr. opis nekog pojma) kao rezultat.

U tipičnom slučaju u bazi ima nekoliko stotina primeraka, a svaki od njih je vektor (slog) fiksne dužine. Većina klasičnih algoritama mašinskog učenja, međutim, zasniva se na pretpostavci da su primerci statični, a podaci u njima kompletni i bez grešaka. KDD/DM sistemi rade sa realnim bazama podataka, koje su neuporedivo većih dimenzija. stalno promenljive, sa podacima koji su često nekompletni i ponekad netačni.

Opravdano je postaviti i sledeće pitanje: ako se kod KDD/DM već radi o automatskom otkrivanju znanja, nije li veliki broj postupaka kojima se dolazi do novih otkrića u raznim granama nauke primenljiv i u ovom slučaju? Odgovor je u najvećoj meri negativan. Glavni razlog je u tome što je kod takvih naučnih otkrića cilj otkrića obično jasniji nego kod KDD. pa je samim tim i proces dolaska do otkrića kontrolisaniji nego ked KDD. Naučna otkrića su u većoj meri zasnovana na eksperimentima. Eksperimenti su obično precizno fokusirani na neku pojavu, a ako se primeti da ne daju dobre rezultate najčešće postoji mogućnost redizajniranja eksperimenata. Kod KDD/DM sve to uglavnom nije tako.

Verovatno je presek tehnologije skladišta podataka (data warehouses) sa tehnologijom KDD/DM veći nego presek bilo koje druge tehnologije i KDD/DM. Od najvećeg značaja za proces KDD je činjenica da skladišta podataka obezbeđuju prikupljanje i prečišćavanje podataka iz raznih izvora, u cilju on-line analize i podrške odlučivanju. To podrazumeva i integraciju nasleđenih baza podataka, razvijenih nekom tehnologijom koja se više ne koristi pri razvoju novih sistema, iako su same nasleđene baze još uvek operativne.

KDD/DM sisteme je relativno lako napraviti kad se prikupljanje, prečišćavanje i integracija podataka obezbedi na drugi način - na primer, preko skladišta podataka. I OLAP procesiranje, koje se koristi u skladištima podataka (multidimenzionalna

234

Page 230: VEŠTAČKA INTELIGENCIJA

interaktivna analiza podataka, superiorna u odnosu na SQL-upite i manuelnu analizu izveštaja, kao i prilagođavanje podataka korisniku kroz generalizaciju i eksplicitno prikazivanje konteksta) takođe je od značaja za KDD/DM.

Budući da u bazama podataka današnjih informacionih sistema ima dosta šuma. tj. nekompletnih i neizvesnih podataka, pogrešnih vrednosti, itd., KDD/DM sistemi obično imaju ugrađene neke tehnike rasuđivanja uz prisustvo neizvesnosti, poznate iz veštačke inteligencije. Za DM se često koriste i klasični algoritmi iz oblasti poznate pod nazivom prepoznavanje oblika (pattern recognition), kao i tehnologija neuronskih mreža za identifikaciju potencijalno interesantnih sadržaja u velikim bazama podataka.

Znanje koje se otkrije u procesu KDD u velikom broju slučajeva najpogodnije je izraziti grafički, te se stoga primenjuju i razne tehnike vizuelizacije podataka. Konačno, svako otkrivanje znanja istovremeno je i nekakvo prikupljanje znanja. Za prikupljanje znanja od eksperata razvijene su u oblasti ekspertnih sistema mnoge metode, koje su u nešto izmenjenom obliku primenljive i u KDD/DM.

5.2.2. Definicije

Nakon prethodnog, uvodnog odeljka, u ovom se uvode formalne definicije najvažnijih pojmova vezanih za proces KDD. Sve prikazane definicije prihvaćene su u takvom ili vrlo sličnom obliku od strane većine stručnjaka iz eve oblasti.

Proces otkrivanja znanja predstavlja netrivijalnu ekstrakciju informacija iz podataka, i to informacija koje su implicitne, prethodno nepoznate i potencijalno korisne. Pri tome, informacija mora da bude u obliku patterna5 koji su razumljivi za korisnika.

Ovakva definicija jasno ukazuje da se pod otkrivanjem znanja ne podrazumeva obično zadavanje upita i tumačenje izveštaja, ma kako složeni oni bili. Znanje koje se otkriva treba nekako "izvući" iz podataka - ono tamo nije eksplicitno opisano, inače ga ne bi trebalo otkrivati. Takođe je značajno da ono što otkrije jedan KDD/DM sistem mora da bude i potencijalno korisno - korektno otkriveni patterni nisu uvek zanimljivi za korisnika. Slično tome, otkriveno znanje mora da bude prikazano u nekom obliku koji je razumljiv za korisnika KDD/DM sistema.

Formalno, ako je F neki skup podataka, L neki jezik kojim se opisuju podaci iz tog skupa, Fs neki podskup skupa F, a c oznaka za meru izvesnosti, onda pattern predstavlja neki iskaz S u jeziku L sa izvesnošću c o odnosima između podataka podskupa Fs skupa F. Da bi tako opisani iskaz S bio pattern, neophodno je da on bude u izvesnom smislu jednostavniji od nabrajanja svih podataka u skupu F.

Gornja definicija je dosta apstraktna, a Ijudi moraju da razumeju patterne i moraju da mogu da ih koriste. Da bi pattern bio razumljiv za korisnika, mora da bude iskazan nekim jezikom visokog nivoa ili prikazan grafički. Na primer, pattern može da bude prikazan u vidu pravila, poput:

235

Page 231: VEŠTAČKA INTELIGENCIJA

IF Starost < 25AND Položen-vozački-ispit = FalseTHEN Krivac-u-nesreći = Yes (CF = 0.2)

U gornjem pravilu CF odgovara meri izvesnosti c iz gornje definicije i predstavlja faktor izvesnosti koji govori u kojoj je meri izvestan (tačan) iskaz u THEN - delu pravila pod uslovom da vaze iskazi u IF-delu. Pojam patterna je formalno definisan u daljem tekstu. U knjizi se ovaj izraz namerno ne prevodi, jer nijedan od kod nas korišćenih prevoda tog termina ne odgovara u potpunosti onome što taj izraz stvarno oznacava u oblasti KDD/DM.

Patterni otkriveni u procesu KDD mogu da se koriste na razne načine. Na primer, patterni u obliku pravila mogu da se iskoriste kao ulaz u druge programe (npr. neki ekspertni sistem ili optimizator upita).

U oblasti KDD/DM znanje se formalno definiše kao pattern koji je značajan i dovoljno izvestan. Meru značaja i kriterijum izvesnosti specificira korisnik. Otkriveno znanje predstavlja izlaz iz programa koji ispituje neki skup podataka u bazi podataka i generiše patterne. Drugim rečima, znanje koje se dobija kao rezultat procesa KDD/OM uvek je u obliku patterna, ali nije svaki pattern znanje. Bez dovoljne izvesnosti i bez dovoljnog značaja za korisnika otkriveni pattern je beskoristan. .

Izvesnost patterna je stepen poverenja u otkriveno znanje. Otkriveno znanje retko kad važi za sve podatke. Izvesnost se u inteligentnim sistemima predstavlja na različite načine - korišćenjem faktora izvesnosti, fuzzy logike, teorije verovatnoće, itd. U oblasti KDD/DM najčešće se koriste faktori izvesnosti.

Na izvesnost patterna utiče više činilaca. Prvi među njima je, prirodno, integritet podataka. U velikim bazama podataka se često nalaze podaci koji su nedovoljno precizni, nepouzdani, nekompletni, pa čak i kontradiktorni ili netačni. Što je manje šuma u bazi podataka, to je izvesnost otkrivenih patterna veća. Drugi važan činilac izvesnosti otkrivenog znanja je veličina uzorka podataka nad kojim je vršeno otkrivanje. Nikada se otkrivanje znanja ne vrši nad celom bazom podataka, jer bi to u praktičnim primenama. bilo neefikasno i neekonomično.

Umesto toga, proces otkrivanja znanja izvodi se nad nekim odabranim uzorkom podataka i onda se pretpostavlja. (a često i naknadno proverava) da otkriveni patterni važe i za ostale podafke u bazi. Konačno, važan činilac izvesnosti nekog otkrivenog patterna je i stepen podrške od raspoloživog domenskog znanja.

To znači da otkriveno znanje treba da bude u dovoljnoj meri usklađeno sa važećim i prihvaćenim činjenicama i postulatima domena primene datog informacionog sistema. Ne može se, na primer, prihvatiti kao izvestan pattern koji je otkriven ispitivanjem baze podataka o građanima neke zemlje i koji kaže da u toj zemlji ima deset puta više žena

236

Page 232: VEŠTAČKA INTELIGENCIJA

nego muškaraca.

Mera značaja otkrivenog znanja je kvantitativna mera za evaluaciju patterna. Znanje predstavljaju samo interesantni patterni. Pattern je značajan (interesantan) ako je nov, koristan i netrivijalan. Pattern je nov ako je nov za korisnika, a ne za sistem. Pattern je koristan ako pomaže da se dati zadatak bolje reši, a ne ako se smatra da će možda biti primenljiv u rešavanju nekih drugih zadataka. Najzad pattern je netrivijalan ako je dovoljno složen. To u praksi znači da se ne može do njega doći samo prostom upotrebom statističkih tehnika.

Traganje kroz podatke (Data Mining, DM) je postupak otkrivanja patterna u prethodno pripremljenom uzorku podataka6. Taj postupak se uvek izvodi primenom nekog algoritma. Obično se radi o algoritmima polinomijalne složenosti niskog reda. Efikasnost DM algoritama je, inače, otvoreno pitanje.

U praksi se koriste i algoritmi koji iscrpno pretražuju ceo uzorak podataka, kao i heuristički algoritmi. Jasno je da su iscrpni algoritmi sporiji od heurističkih, ali zato garantuju da će pattern biti otkriven ako postoji. Iscrpne algoritme ne treba posmatrati samo za najgori slučaj, već i za realni. U realnim slučajevima iscrpni algoritmi mogu da budu po svojoj efikasnosti bliski heurističkim.

Većina KDD sistema radi sa relacionim bazama podataka, a tek u novije vreme oblast KDD/DM proširuje se i na objektno-orijentisane i multimedijalne baze podataka. U ovoj knjizi obrađeni su samo KDD sistemi koji otkrivaju znanje u relacionim bazama podataka. Za takve KDD sisteme, baza podataka je logički integrisana kolekcija podataka, predstavljenih preko slogova fiksne dužine u tabelama. Fizički (mada je to sa aspekta primene ireleventno), tabele su organizovane u vidu jedne ili više datoteka na disku.

Svaki slog se tretira kao strukturirani skup podataka u kome u odsustvu šuma svako polje ima svoju vrednost. Sistem za upravljanje takvom bazom podataka predstavlja skup procedura za zadavanje upita niskog nivoa (SQL), smeštanje i manipulaciju podacima. Za KDD sisteme rečnik podataka je posebna datoteka sa opisima pojedinih polja slogova i njihovih potencijalnih vrednosti.

5.2.3. Otkrivanje znanja u bazama podataka kao proces

Otkrivanje znanja u bazama podataka je proces, a ne jednokratan i brz odgovor KDD sistema na neku korisnikovu akciju. Kao i drugi procesi, i proces KDD ima svoj tok, svoje faze i odvija se uz odgovarajuće pretpostavke.

237

Page 233: VEŠTAČKA INTELIGENCIJA

Slika 7. ilustruje "okruženje" procesa KDD. U opštem slučaju, pretpostavlja se da postoji neka baza podataka sa odgovarajućim rečnikom, u kojoj korisnik želi da otkrije neke patterne. Otkriveno znanje korisnik može da primeni neposredno, za zadavanje upita u bazu iz nekog aplikativnog programa, zatim posredno, tj. u sklopu nekog drugog programa, ili može da ga samo sačuva u željenom obliku.

Slika 7 - Okruženje procesa KDD

KDD/DM sistem (aplikacija) služi korisniku za odabiranje i pripremanje uzoraka podataka nad kojima će se vršiti KDD, pokretanje procesa KDD, podešavanje određenih parametara OM u tom procesu, kao i za pregledanje i manipulaciju dobijenim patternima. KDD/DM sistem uvek pruža korisniku mogućnost korišćenja jednog ili više KDD metoda. Svaki KDD meted uključuje pripremanje uzorka podataka i njegovo pretraživanje u cilju generisanja patterna, kao i evaluaciju generisanih patterna u pogledu njihove izvesnosti i značaja.

KDD metod često omogućava i korišćenje domenskog znanja u procesu KDD. Da bi domensko znanje moglo da se koristi u procesu KDD. potrebno je da bude predstavljeno u računaru na neki način (npr. preko pravila, okvira, stabala odlučivanja, i sl.). Domensko znanje može da učini proces otkrivanja patterna efikasnijim i da posluži kao referenca u pogledu izvesnosti i značaja patterna tokom evaluacije. Slika 7 jasno naglašava otkriveno znanje može da se kombinuje sa već postojećim domenskim znanjem u nekoj narednoj iteraciji procesa KDD.

Otkriveni patterni uglavnom i predstavljaju neke do tada nepoznate činjenice iz domenskog znanja, pa ga samim tim i obogaćuju. Na taj način se otvara mogućnost da naredne iteracije procesa KDD budu bolje podržane domenskim znanjem.

Na slici 8 prikazane su tipične aktivnosti, faze i podaci koji učestvuju u procesu KOD. Iz velike baze podataka izdvaja se u fazi selekcije uzorak (podskup) podataka nad kojim će se vršiti ostale faze procesa KDD. Podaci u tom uzorku nazivaju se ciljnim

238

Page 234: VEŠTAČKA INTELIGENCIJA

podacima. Nad njima se u sledećoj fazi vrši predprocesiranje u cilju otklanjanja šuma. Kao rezultat dobijaju se prečišćeni, odnosno predprocesirani podaci.

Slika 8 - Proces KDD

Naredna faza predstavlja transformaciju prečišćenih ciljnih podataka u neki oblik koji je pogodan za vršenje OM one vrste koju korisnik želi, tzv. OM zadatka. OM zadatak je vrsta OM aktivnosti definisana ciljem koji treba postići kroz OM, odnosno vrstom znanja do koje treba doći. Rezultat obavljanja OM zadatka nad transformisanim podacima su patterni. U opštem slučaju dobija se više patterna, ali nisu svi korisni.

Potrebno je izdvojiti one koji su za korisnika dovoljno interesantni i korisni, pa se zato u poslednjoj fazi vrši interpretacija i evaluacija dobijenih patterna, sa ili bez učešća korisnika. Tako izdvojeni patterni predstavljaju znanje koje je otkriveno u procesu KDD.

Naravno, ne treba misliti da taj proces teče linearno i bez zastoja i problema. Naprotiv, u svim realnim slučajevima neophodno je ponavljati pojedine faze, često i više puta. To može da bude dosta mukotrpno i da oduzme dosta vremena. Takoše se i čitav proces ponavlja u više iteracija, za različite skupove ciljnih podataka.

Drugim rečima, na slici 8 postoje višestruke povratne sprege, što je naznačeno strelicama u donjem delu slike. Tako, na primer, može da se dogodi da dobijeni transformisani podaci nisu baš pogodni za obavljanje željenog OM zadatka.

U tom slučaju vrši se neka druga transformacija, ili se čak ponovo vrši i prečišćavanje ciljnih podataka, primenom nekih drugih metoda. U praksi je sve to često neophodno iz prostog razloga što je cilj celog procesa dosta ozbiljan i ambiciozan - otkrivanje novog znanja.

239

Page 235: VEŠTAČKA INTELIGENCIJA

Odlike podataka u bazi

Svaka baza podataka je dinamički sistem - broj i sadržaj podataka u njoj se stalno menja tokom vremena. Za proces KDD jako je značajno blagovremeno uočavanje promena podataka u bazi. U tom smislu, prosečna frekvencija promena može da igra veliku ulogu. KDD sa zastarelim podacima obično nije ono što je korisniku interesantno, osim u slučajevima kada se namerno prati promena u nekom skupu podataka tokom određenog vremenskog perioda.

Slogovi u bazi podataka sadrže neka polja koja su važna za onu vrstu znanja koja je u fokusu procesa KDD nad tom bazom, ali isto tako i neka polja koja su potpuno irelevantna za fokus KDD. Takođe, slogovi sadrže i neka polja koja su primenljiva samo na pojedine grupe podataka. Na primer, u bazi podataka nekog informacionog sistema slogovi mogu da sadrže polje zaposlen-u, koje je očigledno primenljivo samo na zaposlene osobe.

Podatke u bazama realnih velikih informacionih sistema karakteriše barem povremena nekompletnost i neizvesnost. Vrednosti nekih polja nedostaju, a ne mogu da se koriste podrazumevane vrednosti. Vrednosti nekih polja ponekad su i pogrešne. Sve to može da bude posledica grešaka prilikom unošenja podataka, otkaza sistema, slučajne (neželjene) ili zlonamerne promene vrednosti, itd. Osim toga, vrednosti nekih polja u slogovima su po svojoj prirodi ponekad neprecizne, naročito za numeričke podatke (npr. podatak o starosti neke osobe - šta precizno znači da je osoba stara 19 godina?).

Konačno, ponekad se ustanovi da čitava pojedina polja koja bi olaksala zadavanje upita i izveštavanje jednostavno nedostaju u slogovima. U takvim slučajevima često je skupo ili iz drugih razloga neprihvatljivo reprojektovati celu bazu.

Kreiranje ciljnih podataka

Zbog brojnosti slogova u bazama podataka današnjih informacionih sistema i konstantnog uvećavanja tih baza nije efikasno (a često nije ni moguće) vršiti KDD/DM nad svim podacima u nekoj bazi. Stoga se praktični KDD/DM sistemi uvek fokusiraju na neki podskup podataka iz baze, koji onda predstavlja polaznu osnovu za jednu iteraciju procesa otkrivanja znanja. To je skup ciljnih podataka na slici 8. Ukoliko se u više iteracija KDD procesa nad različitim ciljnim podacima evaluacijom otkrivenih patterna ustanovi da su neki od njih značajni i korisni, smatra se da oni važe sa određenom izvesnošću i za ostale podatke u toj bazi.

Razume se da skup ciljnih podataka mora da bude na izvestan način reprezentativan i u skladu sa ciljem KDD procesa. Da bi se to postiglo; pri formiranju skupa ciljnih podataka zahteva se poznavanje domena aplikacije i ciljeva korisnika. Zbog velike dinamike podataka i prisustva šuma u realnim bazama podataka obično je strategija selekcije kritična i predstavlja kompleksan projektantski problem. Na

240

Page 236: VEŠTAČKA INTELIGENCIJA

definisanje strategije selekcije utiču faktori kao što su prosečna frekvencija promene podataka u bazi, važnost i prioritet pojedinih podataka, vrsta OM zadatka koji treba izvršiti, raspoloživost podataka tokom vremena, itd.

Veličina skupa ciljnih podataka je faktor koji dosta zavisi od konkretne KDD/DM aplikacije. Kod današnjih KDD sistema on se kreće u dosta širokim granicama, reda veličine 103-105, sa tendencijom stalnog porasta. Što je veći broj podataka u skupu ciljnih podataka znanje dobijeno kao rezultat KDD procesa je preciznije, all je sam proces komplikovaniji i skuplji. U praksi je neophodno ićti na kompromis između preciznosti znanja koje se otkriva, jednostavnosti procesa KDOD, ali i konciznosti patterna. Što je veći skup ciljnih podataka otkriveni patterni su potencijalno složeniji i teže ih je interpretirati.

Prečišćavanje i predprocesiranje podataka

Osnovna svrha faze predprocesiranja podataka u procesu KDD je uklanjanje šuma iz skupa ciljnih podataka. To podrazumeva mnogo različitih aktivnosti.

Potrebno je pre svega proveriti da Ii u skupu ciljnih podataka neki podaci nedostaju i utvrditi na koji način će se takvi slučajevi tretirati. Ponekad je moguće podacima koji nedostaju dodeliti podrazumevane vrednosti. Ukoliko to iz bile kog razloga nije moguće ili nije prihvatljivo, može se ići i na zamenu slogova u kojima nedostaju neki podaci nekim drugim, kompletno popunjenim slogovima iz originalne baze podataka.

To praktično predstavlja modifikaciju ill čak ponovno generisanje skupa ciljnih podataka (videti povratne sprege na slici 8). U nekim slučajevima to je moguće i prihvatljivo, a u nekim slučajevima nije. Na primer, ukoliko se radi o vremenski kritičnim aplikacijama u medicinskom ili vojnom domenu, može da bude neizvodljivo da se skup ciljnih podataka ponovo generiše i da pri tome još uvek predstavlja veran snimak situacije u bazi u željenom trenutku. U situacijama koje nisu vremenski kritične moguće je i manuelno popuniti vrednosti koje nedostaju.

Čest slucaj pojave šuma u skupu ciljnih podataka svodi se na postojanje nekih podataka u tom skupu koji se po svojim vrednostima nalaze izvan granica koje odgovaraju fokusu KDD procesa, iako te vrednosti nisu ni netačne ni neprecizne. I u takvim slučajevima postoji više pristupa. Takvi izuzeci ("outliers") mogu se jednostavno ukloniti iz skupa ciljnih podataka, mogu se zameniti nekim drugim podacima iz baze, a može se pokušati i sa generisanjem novog skupa ciljnih podataka.

U pojedinim situacijama vrši se i modeliranje šuma ako je potrebno. To omogućuje da se popunjavanje vrednosti koje nedostaju, uklanjanje izuzetaka, kao i zamena nepreciznih, neizvesnih i netačnih vrednosti vrši automatski, u skladu sa nekim unapred pripremljenim modelom. Takvi modeli obično imaju svoje korene u poznatim statističkim tehnikama.

Ako je DM zadatak koji treba obaviti u okviru KDD procesa analiza vremenskih sekvenci, u toku faze predprocesiranja vrši se i pripremanje tih sekvenci na osnovu skupa

241

Page 237: VEŠTAČKA INTELIGENCIJA

ciljnih podataka. Deo predprocesiranja podataka obično podrazumeva i razne vrste normalizacije podataka, u cilju lakšeg obavljanja ostalih faza KDD procesa.

Transformacija podataka

U fazi transformacije podataka najpre se u slogovima prečišćenih podataka pronalaze oni atributi koji su korisni za DM zadatak koji predstoji. Slogovi u opštem slučaju sadrže veliki broj atributa, a jedan DM zadatak se fokusira samo na neki podskup tih atributa. To znači da je u procesu transformacije podataka potrebno izvršiti svojevrsnu redukciju dimenzionalnosti podataka, u cilju eliminisanja onih atributa koji nisu značajni za dati DM zadatak.

Pored toga, transformacija podataka podrazumeva i neku moguću projekciju podataka u prostore u kojima se rešenja očekuju ili se lako nalaze. Patterni koji se otkrivaju kroz postupak DM mogu da budu razumljiviji i korisniji ukoliko se DM ne obavlja nad originalnim atributima slogova, već nad nekim modifikovanim atributima. Svakako da to zahteva konzistentno ažuriranje vrednosti svih tih modifikovanih atributa u skupu transformisanih podataka.

Kao rezultat, u skupu transformisanih podataka često se nalaze slogovi koji imaju manje atributa nego originalni slogovi, a ti atributi su neki precizno definisani derivati originalnih atributa.

OM - otkrivanje patterna u podacimaCentralna faza procesa KDD je DM. U toj fazi se u skupu prečišćenih i

transformisanih podataka otkrivaju patterni koji ukazuju na neke potencijalne pravilnosti i veze među podacima ilili njihovim atributima. U opstem slucaju, u fazi OM otkrije se vise patterna.Neophodni preduslovi za svako otkrivanje patterna su:

- izbor DM zadatka- izbor DM algoritma

Izbor OM zadatka je odlučivanje o tome šta se želi od DM - koji je krajnji cilj tog postupka, koju vrstu znanja korisnik očekuje kao rezultat, kao i koje vrste aktivnosti treba sprovesti da bi se to postiglo. Na primer, ciljevi DM mogu da budu klasifikacija podataka. određivanje klastera u kojima se podaci grupišu, uopštavanje ili sumiranje vrednosti podataka u cilju uočavanja nekog trenda, detekcija i modeliranje neke zavisnosti među podacima, detekcija promene ili odstupanja vrednosti nekih podataka, i tome slično. Svaki takav cilj istovremeno formuliše i jedan zaseban DM zadatak. Aktivnosti u postupku DM su različite za različite ciljeve, odnosno za različite DM zadatke.

Izbor DM algoritma predstavlja odlučivanje o metodama otkrivanja patterna ili o metodama podešavanja modela prema podacima (fitting models to data). Ova druga

242

Page 238: VEŠTAČKA INTELIGENCIJA

varijanta odnosi se na DM zadatke u kojima je potrebno iz konkretnih vrednosti podataka izvući neki implicitno prisutni opšti model po kome se ti podaci ponašaju.

Na primer, ako je potrebno utvrditi analitičku zavisnost vrednosti nekog atributa u slogovima od vremenskog trenutka u kome je vrednost upisana, u opštem slučaju će se dobiti formula koja ima neke parametre, odnosno neke koeficijente uz pojedine članove analitičkog izraza. DM postupak u tom slučaju može da se izvodi tako što se unapred pretpostavi neka analitička zavisnost, pa se onda proverava da li se podaci iz skupa prečišćenih i transformisanih podataka stvarno ponašaju u skladu sa pretpostavljenom formulom.

Dešava se da je pretpostavljeni analitički oblik načelno dobar (npr. kvadratna zavisnost), ali da treba precizno" utvrditi vrednosti koeficijenata da bi se vrednosti podataka stvarno uklapale u tu formulu

("Koje su vrednosti a i b u formuli y = ax2 + b ?").

U bilo kojoj varijanti, izbor modela i parametara je kr0tičan. Odabrani" DM algoritam mora da bude u skladu sa prirodom problema, ali i sa ciljevima korisnika. U nekim slučajevima cilj DM je utvrđivanje zakonitosti među podacima, kako bi se pri kasnijoj analizi podataka uspešno vršila predikcija vrednosti koje nedostaju ili se namerno izostavljaju iz razloga efikasnosti. Međutim, u nekoj drugoj situaciji korisnik može da bude više zainteresovan za razumevanje modela nego za predikciju. Tada je pristup postupku DM potpuno drugačiji.

DM algoritmi mogu da budu vremenski zahtevni. Isto take, neka ograničenja u pogledu vremena izvršavanja određenih DM zadataka i efikasnosti mogu da potiču i od prethodnih faza KDD procesa. Korisnik može bitno da doprinese povećanju ukupne efikasnosti faze DM ako korektno obavi zadatke u prethodnim koracima.

Interpretacija i evaluacija patterna

Ukoliko je uzorak podataka dovoljno veliki i dovoljno reprezentativan, obično se u postupku DM otkrije veći broj patterna koji su potencijalno interesantni i korisni. KDD sistem često mora sam da odluči šta da uradi sa tim patternima i da li oni predstavljaju znanje ili ne. Neki KDD sistemi omogućuju i aktivniju ulogu korisnika u procenjivanju da li neki otkriveni pattern predstavlja znanje ili ne. U svakom slučaju, tumačenje otkrivenih patterna podrazumeva generisanje neke izlazne forme otkrivenog znanja u skladu sa namenom sistema.

Nezavisno od forme u kojoj se patterni predstavljaju, postoje različite vrste patterna. Jedna od prirodnih podela patterna je na one koji opisuju relacije između više polja u slogu i one koji opisuju relacije između slogova. Patterni koji opisuju relacije između polja odnose se na isti slog. Na primer, pattern otkriven u bazi podataka "nekog medicinskog informacionog sistema može da bude:

243

Page 239: VEŠTAČKA INTELIGENCIJA

tretman = operacija => dani-u-bolnici > 5

U tom slučaju atributi tretman i dani-u-bolnici mogu da pripadaju slogu koji opisuje pacijente. Sa druge strane, patterni koji opisuju relacije između slogova odnose se na grupe slogova. Takvi patterni na neki način identifikuju klastere slogova, ili eventualno ukazuju na trendove promena tokom vremena. Na primer:

prodaja je od prošle godine porasla za 20%

Ovaj pattern očigledno uspostavlja odnos između nekih slogova kod kojih atribut godina ima vrednost tekuća godina, sa nekim drugim slogovima koed kojih atribut godina ima vrednost tekuća godina - 1.

Pored ove podele patterna, koristi se i podela na kvantitativne i kvalitativne patterne. Kvantitativni patterni najčešće predstavljaju matematičke jednačine između numeričkih polja i obično se prikazuju u obliku pravila, u analitičkom, ili u grafičkom obliku. Kvalitativni patterni su logičke relacije između polja u slogovima ili između različitih slogova, a najčešće se predstavljaju kao implikacije (pravila zaključivanja), stabla odlučivanja, tabele, i sI.

Kod KDD sistema koji omogućuju aktivniju ulogu korisnika u postupku interpretacije i evaluacije patterna, vizuelizacija patterna često igra važnu ulogu. Tehnike vizuelizacije patterna su posebna oblast u okviru discipline KDD i odnose se na upotrebu raznih vizuelno izražajnih sredstava (dijagrami, slike, senčenja, korišćenje različitih boja) u cilju preciznije, pravilnije i bogatije ilustracije otkrivenog znanja. Kroz interaktivan rad sa KDD sistemom, korisnik na osnovu grafičke predstave patterna može sam da odluči o tome koji su patterni za njega interesantni.

Pošto faza DM može da generiše jako veliki broj patterna, i to različite složenosti, potrebno je u fazi interpretacije i evaluacije patterna obezbediti i automatsko eliminisanje preterano složenih, redundantnih i irelevantnih patterna. To važi čak i u slučajevima kada postoji mogućnost da korisnik sam pregleda sve patterne i lično odluči koji će usvojiti, a koji odbaciti. Drugim rečcima, sistem sam vršsi neku vrstu filtriranja otkrivenih patterna pre nego što eventualno ponudi korisniku da manuelno izvrši evaluaciju.

Automatsko filtriranje patterna vrši se na osnovu neke od mera značaja patterna koje sistem poznaje, kao i na osnovu ugrađenog domenskog znanja. Mere značaja patterna koje se danas koriste najčešće se izračunavaju kombinovanjem nekih tehnika iz statistike, teorije informacija i teorije verovatnoće9.

Bilo da se evaluacija patterna vrši automatski, bilo interaktivno, uvek je moguće da otkriveni patterni ne budu u skladu sa očekivanjima, ili da je samo mali broj tih patterna upotrebljiv. Jako često se dešava i da korisnik intuitivno nasluti da neki od otkrivenih patterna treba dalje razraditi ili preformulisati i prikazati u drugačijem obliku. Sve to predstavlja prilično dugotrajan i mukotrpan posao i nameće potrebu za stalnim vraćanjem na prethodne korake u procesu KDD.

244

Page 240: VEŠTAČKA INTELIGENCIJA

Predstavljanje otkrivenog znanja

Da bi otkriveni patterni bili upotrebljivi i korisni, potrebno je predstaviti ih na neki način koji je za korisnika razumljiv. U tom smislu, postoje različite forme predstavljanja otkrivenih patterna, poznate i iz drugih disciplina: analitička forma, dijagrami, slike, pravila zaključivanja, stabla odlučivanja, tabelarni. prikazi, itd.

Danas su pravila najčešće korišćena jednostavna forma za predstavljanje patterna. Koriste se i za kvantitativne i za kvalitativne patterne. Alternativa pravilima su stabla odlučivanja, koja u obliku grafa povezuju pojedine pojmove. Veze u grafu tumače se kao logičke konjunkcije ili disjunkcije, pa je uvek lako prevesti stablo odlučivanja u odgovarajuće pravilo.

Nesto složenije forme pravila su tzv. kauzalni lanci i mreže. Kod kauzalnog lanca pravila, više jednostavnih pravila (implikacija) u nizu čini jednu celinu kod koje zaključak jednog pravila dovodi do toga da i narednb pravilo automatski bude zadovoljeno. Na primer:

tretman = operacija => dani-u-bolnici > 5dani-u-bolnici > 5 => terapija = strogo-kontrolisana

Kod mreža pravila radi se o sličnim grupama međusobno zavisnih pravila, ali veza među njima tada nije linearna kao u slučaju kauzalnih lanaca. U pojedinim DM zadacima jedan od osnovnih ciljeva je uočavanje zavisnosti između pojedinačnih pravila.

Najsloženiji oblik predstavljanja otkrivenog znanja čine tzv. semantički modeli ili teorije domena. Kod njih se eksplicitno prikazuju i veze između jednostavnijih pravila i grupa pravila, kao i "otkrića nad otkrićima" kompleksne relacije dobijene primenom KDD procesa na znanje otkriveno u nekoj ranijoj iteraciji istog procesa.

Koji će se konkretno oblik predstavljanja znanja koristiti zavisi pre svega od namene otkrivenog znanja. Ako otkriveno znanje treba da služi samo Ijudima, onda su pogodni oblici za predstavljanje znanja prirodni jezik (npr. pravila), neka grafička forma, iIi neka forma zasnovana na formalnoj logici (npr. stabla odlučivanja). Druga mogućnost je da se otkriveno znanje koristi za druge programe, npr. za okruženja za razvoj ekspertnih sistema.

Tada su pogodni oblici za predstavljanje otkrivenog znanja neke konstrukcije koje se mogu predstaviti korišćenjem programskih jezika i deklarativnim formalizmima poput pravila. Konačno, moguće je da otkriveno znanje koristi ubuduće sam KDD sistem, kao dodatno domensko znanje. Očigledno je da tada otkriveno znanje treba predstaviti na isti način kao i domensko znanje koje je do tada bile ugrađeno u sistem. U pogledu efikasnosti, treba imati u vidu da KDD sistemi najlakše rade sa logičkim iskazima, a po potrebi se oni prevode u prirodni jezik, grafičku reprezentaciju, i slično.

Poseban problem vezan za predstavljanje otkrivenog znanja je predstavljanje neizvesnosti, jer su otkriveni patterni retko kada 100% izvesni. Kao što je već rečeno, današnji KDD sistemi predstavljaju neizvesnost u patternima na različite načine, najčešće

245

Page 241: VEŠTAČKA INTELIGENCIJA

korišćenjem faktora izvesnosti ili nekih drugih probabilističkih metoda. Glavni razlog za to je činjenica da su patterni često po svojoj prirodi probabilistički ("verovatnoća da će padati kiša je 50%"). Srećom, baze podataka su obično dovoljno velike pa se verovatnoće mogu odrediti (ili eventualno naknadno proveriti, nakon otkrivanja nekog patterna) statističkom analizom.

Pored faktora izvesnosti, jedna od često korišćenih probabilističkih tehnika za modeliranje neizvesnosti je i raspodela verovatnoće. Raspodela verovatnoće je naročito pogodna za predstavljanje šuma u podacima. Neizvesno znanje modelira se kao:

neizvesno znanje = istinito znanje + slučajan šum

gde se šum predstavlja pomoću funkcije raspodele verovatnoće. Određivanje raspodele verovatnoće vrši se u dva koraka. Najpre se otkriveno znanje primenjuje na "sve" podatke iz baze (zapravo na neki jako veliki uzorak) i broje se uspesi i neuspesi, odnosno slučajevi za koje otkriveno znanje važi i oni za koje se pokaže da ne važi. U drugom koraku se određuje raspodela verovatnoće na osnovu broja uspeha i neuspeha.

U novije vreme neizvesnost u otkrivenom znanju predstavlja se i korišćenjem lingvističkih mera, odnosno fuzzy skupova ("registrovan je veliki porast prodaje artikla X na zapadnom tržištu"), a takođe i raznih vizuelnih pokazatelja (senčenje, gustina i sI.) u sistemima koji omogućuju vizuelizaciju patterna.

U pogledu modeliranja i predstavljanja neizvesnosti u procesu KDD treba pomenuti i mogućnost odbacivanja izvora neizvesnosti na koje se nailazi u ranim fazama procesa. Drugim rečima, može se tokom procesa KDD odbaciti svaki pogrešan ili nepouzdan podatak iz baze.

Ovaj naizgled nedovoljno realističan pristup ima za opravdanje činjenicu da se otkrića do kojih se dođe nad podacima koji su nedovoljno prečišćeni i samim tim donekle neizvesni ne mogu smatrati potpuno pouzdanim. Ako se izvori neizvesnosti svesno odbace sva otkrića će biti pouzdana, ali se onda ne mogu se otkriti znanja koja su samo verovatna, a koja su ponekad takođe korisna.

246

Page 242: VEŠTAČKA INTELIGENCIJA

6. GENETSKI ALGORITMI – NOVA VEŠTAČKA INTELIGENCIJA

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 – prema tome nema razloga zbog čega ne bismo pokušali da preuzmemo njene metode.

Neuronske mreže i optimizacija putem genetskih algoritama

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

247

Page 243: VEŠTAČKA INTELIGENCIJA

Konvencionalni metod optimizacije

Tradicionalni 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 algoritama

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

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.

248

Page 244: VEŠTAČKA INTELIGENCIJA

U praksi je naravno nemoguće primeniti programe selektivnog uzgajanja na objekte koje ž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 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 ne upadnu 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.

Princip rada genetskih algoritama

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.

Hromozomi

Za 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:

110010101001

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

1100 1010 1001

249

Page 245: VEŠTAČKA INTELIGENCIJA

Svaki 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 skalirati ove 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 sa populacijom sastavljenom od fiksnog broja hromozoma.

Fitnes funkcija

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

250

Page 246: VEŠTAČKA INTELIGENCIJA

Krosover

Krosover 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 10101

1010001 01001

Zatim se delovi ponovo spajaju, čime se dobijaju dva nova hromozoma, sa novim skupovima 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 prisutne u 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 0101001

251

Page 247: VEŠTAČKA INTELIGENCIJA

Vrednost bita se menja, tj. bit se invertuje (u ovom slučaju sa 1 na 0) i hromozom se vrać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 parametara povezanih 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 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.

252

Page 248: VEŠTAČKA INTELIGENCIJA

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 izaberi P t+1 iz Pt; t:= t+1; krosover Pt

mutacija Pt procena Pt

end end

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

253

Page 249: VEŠTAČKA INTELIGENCIJA

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.

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 pretpo-stavki:

254

Page 250: VEŠTAČKA INTELIGENCIJA

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_algoritambegin

unos_hromozoma(populacija);while not uslov_zavrsetka dobegin

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);ψ (bafer);vrati_hromozome(bafer,populacija);

selekcija(populacija);end_while

dekodovanje(populacija);end_program.

255

Page 251: VEŠTAČKA INTELIGENCIJA

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 najvažniji razlog zašto smo se odlučili za genetske algoritme– oni bi trebali da imaju nekoliko puta manje vreme izvršavanja od konvencionalnih algoritama optimizacije.

256

Page 252: VEŠTAČKA INTELIGENCIJA

7. ZAKLJUČAK

Veštačka inteligencija, kao jedna od grana nauke o mogućnostima primene računarske tehnike je u poslednje vreme veoma zastupljena u celom svetu. Ova naučna disciplina sadrži mnoge oblasti kao na primer: ekspertni sistemi, robotika, rešavanje problema, pomoć u odlučivanju i planiranju, automatsko prepoznavanje slike i govora, neuronske mreže, genetski algoritmi, fuzzy sistemi i inteligentni informacioni sistemi itd. Sve ove oblasti su našle široku primenu kako u mnogim granama industrije tako i u svakodnevnom ljudskom životu.

Možda budućnost nisu inteligentne mašine i roboti iz naučno fantastičnih filmova, koji po običaju nisu dobrodušni, već su okrenuti ka uništenju ljudske rase i dominaciju veštačke inteligencije na planeti Zemlji ili već nekoj na koju će kročiti ljudska noga. Ipak, mora se priznati, da je od prvih teoretskih početaka do danas ova oblast neverovatno napredovala i da su nezamislive sve mogućnosti njene primene u medicini, nauci, saobraćaju i običnom svakodnevnom ljudskom životu.

Kada se govori o primeni veštačke inteligencije, ne misli se samo o robotima već i o svim uređajima koji su danas u primeni, a zasnovani su na principima raznih oblasti iz discipline veštačka inteligencija. Tako je na primer, fuzzy logika našla svoju primenu i u širokoj potrošnji. Današnji foto aparati i kamere imaju auto fokus, mašine za pranje veša, rashladni uređaji i usisivači su neki od proizvoda široke potrošnje u kojima je primenjena fazzy logika. Takođe se primeri primene ovih i sličnih sistema iz oblasti veštačke inteligencije mogu naći u upravljanju lokomotivama, motora, u industrijskim procesima i pomoći kod odlučivanja.

Veštačka inteligencija je još uvek mlada nauka, ali iz dana u dan su sve primetniji rezultati istraživanja, testiranja i implementacije u raznim segmentima ljudskog života i rada.

Svedoci smo da inteligentni računari kontrolišu delove industrijskih procesa, upravljaju železnicom i avionima (autopilot), imaju proces učenja, mašine, donedavno produžeci i dopune ljudskog tela i organa, primenom veštacke inteligencije i neuronskih mreža podražavaju ih sve vernije, a u operacijama koje simuliraju mozak postaju sve pametnije.

Ipak, značaj ljudskog mozga još nije za potcenjivanje, što potvrđuje i podatak da je poslednja decenija prošlog veka označena od strane Ujedinjenih nacija kao decenija istraživanja mozga. Razlog: izučavanje kompleksnih moždanih funkcija, značaj upoređivanja čovečjeg mozga sa računarima, uključujući implikacije na druge oblasti nauke, medicine i tehnike.

Mozak, kao kompleksan biološki računar, pruža savršenu analogiju sa računarom na nivou neurona - nervnih ćelija upletenih u neuronska kola - slična

257

Page 253: VEŠTAČKA INTELIGENCIJA

štampanim kolima računara. Između računara i mozga je slicnost i po tome da je mozak na nivou hibridnog računara, analognog i digitalnog.

Imitacijom procesa otkrivenih u mozgu stvorene su veštačke neuronske mreže - računari i računarski programi čija je arhitektura podešena prema radu mozga, modeli za proračunavanje i pamćenje koji primenjuju uprošćene modele bioloških neuronskih mreža. Kao i mozak, i veštačka neuronska mreža sadrži idealizovane neurone - čvorove koji su povezani u neku mrežu.

Korišćenje veštačkih neuronskih mreža u cilju stvaranja modela prepoznavanja i modela procesa podsećanja u mozgu omogućuje zaključivanje iz komplikovanih ili nepreciznih podataka, kao i izvlačenje zakonitosti i otkrivanje trendova koji su suviše kompleksni za uočavanje na drugi način. Značaj i podrška koja se danas pridaje istraživanjima mozga i neuronskih mreža, nezaobilazna je i na našim prostorima.

Postavlja se pitanje da li ima razloga za bojazan od inteligentnih mašina baziranih na veštačkoj inteligenciji, ili računara modeliranih na principu imitacije rada ljudskog mozga - neuronskih mreža, kada su u svom radu prijateljski nastrojene: od prepoznavanja našeg govora, razumevanja i odgovora na postavljena pitanja - dvosmerna komunikacija sa mašinom, do primanja glasovnih poruka na telefonima koji nisu na principu tonskog biranja.

Bez upotrebe tastature i poznavanja operativnog rada na računaru, čoveku je omogućeno da diktira pisma i izveštaje računaru - automatskoj poslovnoj sekretarici, jer inteligentna mašina razume govor i komande vlasnika uređaja. Ako želi da komunicira sa mašinom, vlasnik joj može postavljati uobičajena pitanja tipa: "Kakva je za danas vremenska prognoza", "Ko je juče pobedio na utakmici", ili: "Šta misliš da danas treba da obučem"?. Mašina odgovara logično, jer su u nju prethodno programski ugrađena skoro sva saznanja o vlasniku, njegovim interesovanjima i preferencijama.

U oblasti medicine je veštačka inteligencija unela čitav arsenal pomagala, mehaničkih, elektronskih i energetičkih produžetaka i zaštita koje zamenjuju biološke i prirodne odbrambene mehanizme čovečjeg tela. Razvijeni su i kompleksni računarski sistemi, zasnovani na tehnologijama veštačke inteligencije, u cilju planiranja terapija za bolesne, potrage za podacima i stvaranju alarmantnih upozorenja za znatna odstupanja rezultata nalaza, i slično.

Na nivou sofisticiranih softvera već je u upotrebi kolekcija inteligentnih sistema za podršku kliničkom odlučivanju u slučajevima: klasifikacije i analize kancerogenih ćelija, dijagnoze srčanog udara - mimo postojećih standardnih tehnika i postupaka, nužnosti određivanja hitnih laboratorijskih testova u vezi sa simptomima obolelih, klasifikaciji mentalno obolelelih u smislu potrebe za hospitalizacijom, itd.

Mnogi od ovih ekspertskih sistema namenjeni su i menadžerima klinika, pa su na tržištu inteligentni sistemi za smanjenje bolničkih troškova, predviđanje i dužinu oporavka pacijenata, a sve u funkciji ekonomisanja resursima.

258

Page 254: VEŠTAČKA INTELIGENCIJA

Ostvareni napredak u primeni veštačke inteligencije u medicini je naročito značajan u oblasti detekcije kancera, i upravo su obelodanjene dve nove tehnologije. Osim za detekciju kancera i terapiju, ove tehnologije podržavaju i trodimenzionalni multimodalni prikaz tumora, kao i računarski podržanu dijagnozu. Novina tehnike prikaza je u tome što su primenjeni naučni metodi vizuelizacije, slični onima koji se koriste u geološkim naukama ili astronomiji, pomoću kojih se sjedinjuju informacije sa nekoliko sistema za snimanje u jednu koherentnu sliku, čija se pouzdanost visoko kotira.

Glavni cilj veštačke inteligencije proizilazi iz stava da bi računari koji poseduju inteligenciju bili najkorisniji računari i objašnjava zašto se u svetu veštačkoj inteligenciji pridaje veliki značaj.

Gotovo da nema oblasti nauke, tehnike, tehnologije, poljoprivrede i stočarstva, medicine, obrazovanja pa do svkodnevnih aktivnosti uključujući i najelementarnije pretraživanje i surfovanje po Internetu gde se u većoj ili manjoj meri ne primenjuje veštačka inteligencija.

Iz ubrzanog razvoja svetske zajednice proizilazi da se energija, hrana i ljudski resursi moraju mudro koristiti što se postiže i uz pomoć visoko kvalitetnih računara i odgovarajućih softvera. Jedna od posledica rezultata na polju veštačke inteligencije mogu biti nove ideje o tome kako pomoći ljudima da postanu inteligentniji tj. metodologija uključena u inteligentne programe može se preneti na formiranje inteligentnih ljudi.

259

Page 255: VEŠTAČKA INTELIGENCIJA

8. LITERATURA

1. Veštačka Inteligencija, Velibor Ilić, novembar 1999, http://ilicv.on.neobee.net/neuro.html

2. The Handbook of Artificial Intelligence, Barr, E. A. Figenbaum (1981, 1982), Vol I-III, Vitman, London, e-book.

3. "Veštačka inteligencija", Jocković,Ognjanović,Stankovski, Beograd, 19974. "Inteligentni sustavi", Budin, Dalbelo, Pavešić, Ribarić, Opatija, 20015. Veštačka inteligencija i ekspertni sistemi, S. Stankovski, predavanja , FTN,

Novi Sad.6. "Ekspertski sistemi", Prof Milan Milosavljević7. "Umjetne neuronske mreže", Krešimir Lukinić8. "Neuronske mreže", prof. dr Vlatko Čerić9. What is Neural Network, Chris Stergiou, MIT Lincoln Lab. Neural

Networks, web downloadable document10. An Introduction to Neural Networks, Prof. Leslie Smith, University of

Stirling, October 1996. http://www.cs.stir.ac.uk/~lss/NNIntro/InvSlides.html

11. Veštačke neuronske mreže, dr Srđan Milenković, Zadužbina Andrejević, Beograd, 1997.

12. Brief History of Neural Networks, Ingrid Russell , University of Hartford, http://uhaweb.hartford.edu/compsci/neural-networks-Learning.html

13. History of neural network http://www.demo.cs.brandeis.edu/papers/long.html#nnhistory

14. Yale University Neuroengineering and Neuroscience Center http://www.neuron.yale.edu/

15. Neuronske mreže u predviđanju profitabilnosti ulaganja, doktorska disertacija, M.Zekić, Sveučilište u Zagrebu,1999.

16. Boston University Neurobotics Lab Department of Cognitive and Neural Systems http://www.elsevier.nl/locate/robot

17. Journal of Neurocience Online: http://www.jneurosci.org/18.“Fazi logika i neuronske mreže”, Pero Subašić, Tehnička Knjiga, Beograd,

199819."Fazzy logika u prometu i transportu ", Hrvoje Gold, Zagreb20.Članak iz časopisa "Mikroelektronika.co.yu" - Fazi logički kontroler21. Računarska simulacija, B. Radenković M. Stanojević A. Marković FON i

Saobraćjni fakultet, 1999.22."Neizraziti skupovi i logika", Željko Vrba23."Suvremene metode upravljanja", Ž. Kurtanjek24. Microsoft Visual Basic Programmer's Cookbook, Matthew MacDonald,

Microsoft Press, 2003.

260

Page 256: VEŠTAČKA INTELIGENCIJA

25. Microsoft Visual Basic .NET Step by Step, Michael Halvorson , Microsoft Press, 2003.

26. Atomnaya fizika (I i II), E.V.Špoljskij, Nauka, Moskva (1984).27. Visual basic 6, Peter Norton, Michael Groh, Kompjuter biblioteka, Čačak,

2000. III izdanje.28. Inteligentni informacioni sistemi, Vladan Devedžić, Digit i FON, Beograd,

2000.29. Artificial Intelligence - A Modern Approach, Stuart J. Russell and Peter

Norvig 2003.30. Istraživanje inteligentnih sistema za pretraživanje informacija, Mr. Milena

Matić, 2003., Beograd, Univerzitetska biblioteka “Svetozar Marković” 31. Personal Consultant Easy Getting Started, Texas Instruments Inc.,

Stanford, Service Manual32. Personal Consultant Easy Reference Guide, Texas Instruments Inc.,

Stanford, Service Manual33. Personal Consultant Plus User's Guide, Texas Instruments Inc., Stanford,

Service Manual34. Personal Consultant Plus Reference Manual, Texas Instruments Inc.,

Stanford, Service Manual

35. Interesantne Web adrese (2004/2005) :

a) www.cs.stir.ac.uk/~lss/NNIntro/InvSlides.html ,b) www.dse.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/cs11/report.html ,c) www.htlab.ice.uec.ac.jp/Jpn/j_htmls/NNIntro.html ,d) www.loya.5u.com ,e) pipin.tmd.ns.ac.yu/nastava/rac_int/%202004/files/skripta_nova.pdf ,f) www.solair.eunet.yu/~ilicv/ ,g) www.efos.hr/nastavnici/mzekic/doktor_web_pogl2.pdf ,h) http://solair.eunet.yu/~ilicv/AI_index.htm i) http://www.grappa.univ-lille3.fr/polys/se

j) http://www-igm.univ-mlv.fr/~dr/XPOSE2004

k) http://gislab.elfak.ni.ac.yu/vi/PrethGen/2002/materijal/PredstavljanjeZnan ja.pdf

l) http://www.urc.bl.ac.yu/manuals/adv/fuzzy/chap01.htm

itd.

9. Neuro builder i praktični primeri primene NM

261

Page 257: VEŠTAČKA INTELIGENCIJA

PRIMERNEURO BUILDER – RAZVOJNI ALAT ZA PROJEKTOVANJE

NEURONSKIH MREŽA

Uvod

Proučavanje funcionisanja jednog statičkog neurona (kod koga je signal nezavisan od vremena) bez obzira na korišćene aktivacione funkcije se lako može zamisliti ako se posmatra grafik date aktivacione zavisnosti. Neovisno od toga da li je u pitanju linearna, odskočna, logaritamska, linearno-odskočna, tangens hiperbolička ili neka druga zavisnost - princip je isti. Možemo reći da je definisani prag isključivo je odgovoran za zaključak koji će neuron proizvesti kao rezultat odnosno izvesti (izlaz).

Algoritam učenja (obuhvata pre svega podešavanje težina) jednog neurona sa feed forward propagacijom primenom Delta metode. Takođe nije teško shvatiti jer je u pitanju upoređivanje dobijene i očekivane vrednosti i nalaženja novih vrednosti težina preko metode najmanjih kvadrata. DOS program Grapher, ali i Windows aplikacija Origin obavljaju veoma srodne proračune.

Ovi programi na osnovu poznatog tipa zavisnosti nekog prirodnog procesa koji je eksperimentalno posmatran “crtaju” najpribližniju - najbolju krivu koristeći identičan algoritam Delta pravilu i omogućavaju očitavanje podataka sa grafika. Ovu metoda je korišćena za određivanje greške eksperimenta koji je potvrdio postojanje Plankove konstante čijim je postojanje poredvideo Max Planck (1858-1947) i time srušilo postulate klasične fizike.

Dinamički aligoritmi učenja neuronskih mreža su matematički nešto komplikovaniji i svode se na sisteme diferencijalnih jednačina u kojima figuriraju vreme, i parcijalni izvodi vremenski zavisnih veličina po vremenu. Funkciju izlaza u zavisnosti od vremena za jedan neuron nije teško izračunati.

Ovo nas dovodi do drugog pitanja: “Šta je inteligentno u podešavanju određenih koeficijenata (težina) putem matematičkih izraza”, i trećeg pitanja: “Koliko je iteracija potrebno da neuron nauči?”, i četvrtog pitanja: “Da li neuron kada nešto nauči može to i da zaboravi?”, i tako redom. Odgovor na svako od ovih pitanja, govoreći terminologijom neuronskih mreža predstavljao je “ulaz” u neko sledeće pitanje.

U potrazi za odgovorima usled nedostupnosti softverskog alata koji bi mogao da demonstrira ponašanje neuronske mreže počeo je rad na programskom

262

Page 258: VEŠTAČKA INTELIGENCIJA

kodu Neuro Buildera, bez pretenzija da će taj kod postati aplikacija, deo seminarskog rada, diplomski rad i na kraju razvojni alat za projektovanje neuronskih mreža sa realnom perspektivom daljeg razvoja.

Karakteristike osnovne neuronske mreže Neuro Builder-a

1. Tip mreže – fazi mreža2. Smer prostiranja informacija – jednosmerno (Feed forward)

3. Funkcija interakcije ulaza – Linearna (f(u)=Σ WiUi)4. Aktivaciona funkcija –nelinearna5. Model neurona- statički model6. Broj slojeva mreže – 4 (ulazni, dva unutrašnja i izlazni sloj)7. Tip učenja mreže – nadgledano učenje (poluautomatsko-optimizovan kod)8. Pravilo učenja - Widrow-Hoff-ovo pravilo9. Algoritam učenja – Wnew=Wold-ηδU10.Tip algoritma – ECR (Error correction rule)

Model primenjenog veštačkog neurona

Neuroni Neuro Builder-a su statički neuroni sa fisknim pragovima. Primenjena je fazi logika.

u1..n – ulazni podaci w1..n – težinski koeficijenti f( ) – aktivaciona funkcija i – izlazni podatak

Slika 1. Model prmenjenog neurona

263

Page 259: VEŠTAČKA INTELIGENCIJA

Algoritam učenja

Sinapse kojima biološki neuroni regulišu prohodnost određene putanje između aksona i dendrita, kod veštačkih neurona se ostvaruju preko prilagodljivih težinskih koeficijenata (weight) ili težina veza. Kada se na ulaz neurona dovedu neke vrednosti i pomnože težinskim koeficijentima, dobijaju se ulazni podaci. Težinski koeficijenti – težine neuronske mreže po pravilu projektovanja mreža određuju se kao slučajni brojevi u blizini nule. Aktivaciona funkcija Neuro Buildera podešavanje težina obavlja koristeći nelinearnu funkciju Wnew=Wold-ηδU.

Gde je:

η – parametar koji konroliše brzinu konvergencije, koeficijent brzine učenja

δ – razlika dobijene i željene vrednostiU – vrednost ulaza za koji se odrđuje težina

Lako je primetiti da se korak prilaženja idealnoj težini smanjuje sa smanjivanjem razlike dobijene i željene vrednosti.

Metoda normiranja ulaza

Ulazi u neurone u ulaznom sloju su određeni i fiksirani u intervalu [0,1] na vrednosti 1, 0.6 i 0.3. Delta funkcije za sve ulaze su iste i težine konvergiraju ka 0.5. Time je vrednost proizvoda intervala [0, 0.3] i broja 5 nalazi u intervalu [0, 0.15]. Pošto se težine nalaze u intervalu [0, 0.5], proizvod težina i određenog ulaza kao i funkcija ulaz1*težina1+ ulaz2*težina2 dati su u tabeli 1. u zavisnosti od vrednosti jednog ili drugog ulaza. Nije se išlo u detaljnije normiranje ulaznih vrednosti. Usitnjavanje bi sigurno dalo preciznije rezultate, ali bi se time smisao fazi logike delimično narušio, i približio logici kontinualnih vrednosti.

Iz tabele 1. se vidi da postoji 6 različitih vrednosti izlaza s tim da pošto težine konvergiraju vrednosti 0.5 vrednosti ukupnog ulaza teže višim vrednostima ovih intervala. Samim tim moguće je izračunati očekivane vrednosti kao više vrednosti iz intervala u poslednjoj koloni tabele 1. na osnovu toga moguće je napisati kod za “automatsko nadgledano obučavanje mreže”.

8

Page 260: VEŠTAČKA INTELIGENCIJA

Ulaz1 Ulaz2 Ulaz1xTežina1 Ulaz2xtežina2 Ukupni ulaz1 1 0-0.5 0-0.5 0-11 0.6 0-0.5 0-0.3 0-0.81 0.3 0-0.5 0-0.15 0-0.65

0.6 1 0-0.3 0-0.5 0-0.80.6 0.6 0-0.3 0-0.3 0-0.60.6 0.3 0-0.3 0-0.15 0-0.450.3 1 0-0.15 0-0.5 0-0.650.3 0.6 0-0.15 0-0.3 0-0.450.3 0.3 0-0.15 0-0.15 0-0.3

Tabela 1. Individualni ulazi i grupni ulaz u fazi neuron

Topologija osnovnog modela

Osnovni model neuronske mreže se sastoji od 8 neurona u ulaznom sloju, šest neurona u prvom unutrašnjem, pet u drugom unutražnjem i jednog neurona u izlaznom sloju (slika 2). Međutim, kasnije će biti objašnjeno na koji način je korisnik u stanju da smanjuje ili povećava rang mreže.

Slika 2. Topologija osnovnog modela mreže

9

Page 261: VEŠTAČKA INTELIGENCIJA

10

Page 262: VEŠTAČKA INTELIGENCIJA

MOGUĆNOSTI NEURO BUILDERA

Projektovanje modela mreže

Neuro Builder omogućava projektovanje custom modela mreže. Svaki neuron je označen latiničnim slovom. Korisnik upisivanjem slova u kućice prevezuje mrežu. Drugim rečima, korisnik je ovim postupkom u stanju da projektuje i menja topologiju mreže. Koeficijent brzine učenja mreže takođe je moguće promeniti na ovoj formi aplikacije.

Slika 3. Projektovanje mreže

11

Page 263: VEŠTAČKA INTELIGENCIJA

Davanje smisla iskazima

Kreiranje proizvoljne neuronske mreže zahteva i mogućnost davanja smisla svakom neuronu, kao i davanje smisla rezultatima prevedenim na fuzzy termine. Ovo se obavlja upisivanjem iskaza u za to predviđena polja. Takođe korisnik je u stanju da promeni težine svakog posebnog ulaza. Ova mogućnost je bitna jer je time omogućeno je proučavanje ponašanja mreže u kontrolisanim uslovima.

12

Page 264: VEŠTAČKA INTELIGENCIJA

Slika 4. Promena iskaza

13

Page 265: VEŠTAČKA INTELIGENCIJA

Obučavanje mreže, neograničen broj neurona u mreži

Učenje mreže kreirane Neuro Builder-u obavlja se pomoću forme za učenje mreže. Korisnik je u stanju da snimi težine svakog pojedinačnog neurona posebno. Zahvaljujući ovoj osobini veoma je lako spajanje velikog broja osnovnih mreža u jednu veliku mrežu jednostavnim učitavanjem snimljenih vrednosti. Ovim postupkom osnovna mreža, ili mreža sastavljena od većeg broja osnovnih mreža postaje ulaz u nekoj novoj mreži većeg ranga (Slika 5.3.).

Ekstenzija datoteke u koju se skladište podaci o težini je nrn. Forma za učenje poseduje mogućnost izbora automatskog ili manualnog učenja. Grafički prikaz svih osobina neuronske mreže obogaćen je i grfičkim prikazom stepena oučenosti mreže, kao i relativne ocene koju je doneo svaki neuron.

Slika 5. Obučavanje mreže

14

Page 266: VEŠTAČKA INTELIGENCIJA

Slika 6. Izlazi prvog reda postaju ulazi mreže višeg reda

Slika 7. Izlazi prvog reda postaju ulazi mreže višeg reda

15

Page 267: VEŠTAČKA INTELIGENCIJA

Snimanje svih parametara projektovane mreže

Neuro Builder je sposoban da snimi svo znanje mreže, uključujući tvrdnje, iskaze, postignute težine svakog pojedinog neurona, kao i projektovanu topologiju mreže. Ovi podaci se snimaju u tekstualnu datoteku ekstenzije scp.

Slika 8. Snimanje parametara mreže

16

Page 268: VEŠTAČKA INTELIGENCIJA

Učitavanje snimljenih podataka

Učitavanje snimljenih podataka se odvija na klasičan Windows način. Kada se

Slika 9. Učitavanje snimljenih parametara

17

Page 269: VEŠTAČKA INTELIGENCIJA

i