Primeri Primene Vestackih Neuronskih Mreza PDF
Primeri Primene Vestackih Neuronskih Mreza PDF
Primeri Primene Vestackih Neuronskih Mreza PDF
1 ZADACI
Modeliranje problema primenom vetakih neuronskih mrea predstavlja kontinurani proces odreivanja odgovarajue strukture vetake neuronske mree sa pripadajuim vrednostima teinskih koeficijenata. Sam proces odreivanja optimalne strukture vetake neuronske mree, koja treba da sa zadatom tanou izvri eljeno preslikavanje, moe da bude i dugotrajan i zametan. Naime, iako postoje izvedeni matematiki modeli koji u potpunosti odreuju kriterijume odluivanja, ipak se proces izbora opteg modela ne moe u potpunosti definisati. Sam izbora optimalne strukture, nakon sprovedenog procesa obuavanja, moe biti matematiki formulisan, a samim tim i implementiran. Meutim, s obzirom da se uenje uvek sprovodi shodno unapred definisanom kriterijumu performanse koji je izveden na osnovama matematikog modeliranja, naknadno procesiranje generisanih izlaza moe u pojedinim sluajevima biti izlino. S druge strane, prilikom modeliranja nekog drugog problema naknadno procesiranje generisanih izlaza u formi poreenja sa eljenim izlazom je poeljno. Drugim reima, proces izbora optimalne strukture nije jednostavan kako se moda ini na prvi pogled. Da bi se u potpunosti sagledao proces uenja vetakih neuronskih mrea, izbora arhitektura i odabira optimalne strukture najbolji nain je predstavljanje kompletnog procesa putem izrade odgovarajuih zadataka.
1.1
Primer #1: Klasifikacija uzoraka primenom vetake neuronske mree sa prostiranjem signala unapred
U primeru koji e biti prikazan potrebno je odrediti optimalnu strukturu vetake neuronske mree sa prostiranjem signala u napred koja e sa unapred zadatom tanou izvriti klasifikaciju ulaznog skupa u odgovarajue klase. U originalnoj referenci u pitanju je problem klasifikacije gljiva u odnosu na debljinu stabla (x1) i visinu stabla (x2). Skup obuavajuih parova prikazan je tabeli 1.1.
broj 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 7.9 4 6.9 6.4 6.9 0.9 2.6 2.6 4.9 4.9 4.9 6.9 4 4.9 8.8 7.2 6.3 8.3 7.3 7.2 9.3 6.9 7.9 9.8 6.9 7.8 9.2 7.3 5.5 9.3 5.9 6.5 8.8 4.0 5.9 4 1.9 4.9 6.9 7.9 0.9 0.9 0.9 5.9 4.0 8.8 3 7.9 2.4 2.3 5.8 8.3 5.4 6.3 2.4 7.3 3.9 3.5 5.8 8.6 7.3 7.9 4.4 3.4 6.4 3.9 4.8 5.9
Slika 1.1 Skup obuavajuih parova Kao to se moe videti, kvadrati obojeni crnom bojom predstavljaju klasu A, dok je sa crvenim trouglovima predstavljena klasa B. Model vetake neuronske mree treba da omogui odgovarajuu klasifikaciju ulaznog vektora, koji se sastoji od dve komponente X1 i X2 (tabela 1.1), u odgovarajuu klasu (A ili B). Na slici 1.1 se moe videti grafiki prikaz posmatranog problema klasifikacije. Problemi klasifikacije su pogodni za modeliranje vetakim neuronskim mreama s obzirom da je veoma teko uspostaviti validan matematiki model. U tom smislu, primenom koncepta mainskog uenja u vidu razvoja modela baziranog na vetakim neuronskim mreama predstavlja jedno od moguih reenja problema klasifikacije. Modeliranje ovog problema primenom vetakih neuronskih mrea izvriemo u BPnet okruenju. BPnet je aplikativni softver razvijen za modeliranje problema primenom vetake neuronske mree sa prostiranjem signala u napred koji odreuje teinske odnose primenom generalisanog delta pravila. Prvi model koji e biti testiran je vetaka neuronska mrea sa tri sloja (jedan ulazni, jedan izlazni i jedan skriveni sloj). Mrea je formirana od dva neurona u ulaznom sloju, tri neurona u skrivenom sloju i dva neurona u izlaznom sloju (2x3x2 arhitektura).
Nakon 104,000 iteracija BPnet nije pronaao odgovarajuu kombinaciju teinskih odnosa za koja e oekivana greka uenja imati zadanu vrednost. Numerika vrednost greke uenja je 0.185, dok je zadata vrednost 0.1. Rezultati obuavanja izabrane vetake neuronske mree prikazani su u sledeoj tabeli:
Tabela 1.2 Uporedni prikaz eljenih vrednosti izlaza i generisanog izlaza nakon 104,000 iteracija Redni broj ulaznog vektora 1. 2. 3. 4. 5. . 16. 17. 18. 19.
eljena vrednost
10 10 10 10 10 . 01 01 01 01
0.892... 0.196... 1.097... -0.107... 0.892... 0.107... 0.981... 0.001... 0.895... 0.194... . -0.009... 1.093... -0.259... 1.249... -0.155... 1.151... -0.258... 1.248...
Kao to se moe videti, za neke vrednosti generisani izlaz vetake neuronske mree znatno odstupa od eljene vrednosti. U tom sluaju, nastaviemo sa procesom obuavanja. Nakon dodatnih 240,000 iteracija BPnet jo nije pronaao greku koja je manja od 0.1, tanije, pomenuta greka iznosi 0.182.
Tabela 1.3 Uporedni prikaz eljenih vrednosti izlaza i generisanog izlaza VNM 2x3x2 nakon 340,000 iteracija Redni broj ulaznog vektora
eljena vrednost
10 10 10 10 10 . 01 01 01 01
0.797... 0.203... 1.055... -0.006... 0.955... 0.004... 1.074... -0.008... 0.983... 0.126... . -0.196... 1.190... -0.260... 1.250... -0.166... 1.162... -0.259... 1.249...
Meutim, nakon 340,000 iteracija vetaka neuronska mrea ne daje izlaze koji bi bili zadovoljavajui. Da bi odredili arhitekturu vetake neuronske mree koja e moi da izvri klasifikaciju ulaznog vektora shodno klasama definisanim eksperimentalnim vrednostima podataka. U tom cilju, zadraemo jedan skriveni sloj ali emo dodati jo jedan neuron. Dakle, arhitektura je 2x4x2 (dva neurona u ulaznom sloju, etiri neurona u skrivenom sloju i dva neurona u izlaznom sloju). Greka uenja je 0.13.
Tabela 1.4 Uporedni prikaz eljenih vrednosti izlaza i generisanog izlaza VNM 2x4x2 nakon 244,000 iteracija Redni broj ulaznog vektora 1. 2. 3. 4. 5. . 16. 17.
eljena vrednost
10 10 10 10 10 . 01 01
0.881... 0.121... 1.102... -0.006... 0.955... -0.105... 0.843... 0.157... 1.050... -0.005... . 0.088... 0.890... -0.248... 1.239...
18. 19.
01 01
Na ovom mestu bi trebalo naglasiti da je prilikom potrage za odgovarajuom arhitekturom koja treba da ostvari preslikavanje iz ulaznog prostora u izlazni prostor ponekad i poeljno pustiti sistem da odredi vrednosti teinskih koeficijenata shodno zadatom kriterijumu. Naime, nakon ukupno 533,518 iteracija, vrednost greke uenja je svedena ispod zadane vrednosti od 0.1, pa moemo zakljuiti da je posmatrana arhitektura 2x4x2 ispunila zadati kriterijum. Ovaj primer je izabran u cilju predstavljanja mogunosti reprezentovanja vetake neuronske mree sa prostiranjem signala u napred. U tom smislu, dodavanje dodatnih skrivenih slojeva moe znaajno da unapredi karakteristike mree u pogledu klasifikovanja ulaznih podataka u odgovarajue klase. Rezultati procesa obuavanja meree ija arhitektura je 2x4x2x2 nakon 90,000 iteracija. Vano je napomenuti da je BPnet nakon ovog broja iteracija pronaao odgovarajue numerike vrednosti teinskih odnosa za zadatu i oekivanu vrednost greke uenja. Naime, za razliku od prethodno testiranih arhitektura koje su prikazane, ova arhitektura (2x4x2x2) pokazuje da se kreemo pravom smeru. Rezultati obuavanja su prikazani u sledeoj tabeli.
Tabela 1.5 Uporedni prikaz eljenih vrednosti izlaza i generisanog izlaza VNM 2x4x2x2 nakon 90,000 iteracija Redni broj ulaznog vektora 1. 2. 3. 4. 5. . 16. 17. 18. 19.
eljena vrednost
10 10 10 10 10 . 01 01 01 01
1.014... -0.001... 1.026... -0.002... 1.094... -0.009... 0.973... -0.003... 1.046... -0.005... . 0.000... 0.998... -0.000... 1.009... -0.000... 1.001... -0.003... 1.028...
U tabeli 1.6 prikazane su osnovne karakterisitke arhitektura koje su isprobane u cilju pronalaenja odgovarajue arhitekture vetake neuronske mree sa pripadajuim teinskim koeficijentima. Moe se primetiti da su prva dva modela odredila teinske koeficijente shodno zadatom kriterijimu performanse. U treem sluaju proces uenja je zaustavljen nakon broja iteracija koje su navedene u tabeli 1.6. U ovakvim sluajevima koji se esto pojavljaju u praksi ovaj postupak je vie nego poeljan. Naime, bolje je za isto vreme koje je potrebno da bi se posmatranoj arhitekturi odredile vrednosti teinskih koeficijenata, razviti drugi model vetake neuronske mree. Ova konstatacija je posebno vana ukoliko se kao u naem primeru procesu uenja ne nazire mogunost ispunjenja zadatog kriterijuma i odgovarajue greke uenja. S tim na umu, u tabeli se moe videti uporedni prikaz karakteristika testiranih arhitektura. Kao to je ve bilo naglaeno, arhitektura sa dva neurona u ulaznom sloju, etiri neurona u prvom skrivenom sloju, dva neurona u drugom skrivenom sloju i dva neurona u izlaznom sloju.
Tabela 1.6 Uporedni prikaz testiranih arhitektura Oekivana greka uenja Ostvarena greka uenja Kriterijum ispunjen? Broj iteracija potrebnih za konvergenciju Proces uenja zaustavljen Nakon ispunjenog kriterijuma Nakon ispunjenog 1 kriterijuma Nakon 1,000,000 iteracija2
Arhitektura
2x4x2x2
0.05
0.049
Da
90,000
2x4x2
0.1
0.13
Da
533,518
2x3x2
0.1
0.185
Ne
Vano je naglasiti da je proces uenja nakon uspeno ispunjenog kriterijuma nastavljen sa novom vrednou greke uenja od 0.05. Meutim, nakon dodatnih 150,000 iteracija sistem nije uspeo da svede vrednost greke na zadanu vrednost. U prvom pokuaju proces uenja je zaustavljen nakon 340,000 iteracija. Meutim, nakon toga sprovedena je nova provera ove arhitekture koja nije konvergirala ka optimalnom reenju ak ni posle 1,000,000 iteracija.
2
Oekivana greka uenja je za sve tri arhitekture na samom poetku usvojena za 0.1, ali je nakon uvida u brzinu konvergencije arhitekture (2x4x2x2) zahtevana greka uenja smanjena na numeriku vrednost 0.05. U nastavku je dat grafiki prikaz generisanih izlaza problema klasifikacije svih testiranih vetakih neuronskih mrea.
Analiza i izbor arhitekture vetake neuronske mree Prilikom modeliranja problema iz tehnike prakse primenom vetakih neuronskih mrea osnovni cilj predstavlja odreivanje one strukture vetake neuronske mree (broj skrivenih slojeva, broj procesirajuih jedinica u skrivenim slojevima) koja e sa dovoljnom tanou (koja je unapred poznata - greka uenja) izvriti potrebno preslikavanje i postii generalizaciju. Dakle, na osnovu prethodnog stava nije teko zakljuiti da je proces odreivanje optimalne strukture vetake neuronske mree iterativni postupak, u kome korisnik testira vie modela i na osnovu odgovarajueg kriterijuma odreuje (bira) optimalnu strukturu. S druge strane, definisanje optimalnog kriterijuma na ijim osnovama treba izabrati arhitekturu vetake neuronske mree nije tako jednostavno kao to na prvi pogled moe izgledati. Sa dovoljnom dozom sigurnosti, ali i rezerve, moe se rei da brzina konvergencije mree ka reenju (brzina uenja), kao i preciznost generisanih rezultata (izlaza) mogu biti neki osnovni kriterijumi odreivanja uspenosti preslikavanja. U tom smislu, poreenjem rezultata prikazanih u tabeli 1.6, kao i uvidom u grafike prikaze ishoda procesa uenja mogue je doneti odluku o arhitekturi mree koja je potrebna da bi se ostvarilo eljeno preslikavanje. Na osnovu prethodnih stavova izabrana je vetaka neuronska mrea sa prostiranjem signala unapred ija arhitektura je dva neurona u ulaznom sloju, etiri neurona u prvom skrivenom sloju, dva neurona u drugom skrivenom sloju i dva neurona u izlaznom sloju mree (2x4x2x2). Kao to se moe videti, odabranoj arhitekturi je bilo potrebno najmanji broj iteracija da postigne eljenu vrednost greke uenja. Trebalo bi naglasiti da je modifikacija teinskih odnosa odabrane arhitekture (uenje) veoma brzo konvergiralo ka zadatoj vrednosti greke uenja na osnovu kriterijuma performanse, a da je tom prilikom numerika vrednost greke uenja bila manja nego kod prethodno testiranih modela.
Meutim, na samom kraju vano je naglasiti da se verifikacija procesa uenja vetake neuronske mree ne sprovodi uvek sa poznatim obuavajuim parovima. Naime, nakon zavrenog procesa uenja preporuljivo je proveriti izlaze vetake neuronske mree za potpuno nepoznate ulaze. Ukoliko odgovarajua izabrana mrea moe da za nepoznate vrednosti ulaznog vektora generie izlaz koji je definisan samom postavkom problema, onda moemo da kaemo da mrea poseduje svojstvo generalizacije, to i jeste jedan od osnovnih ciljeva modeliranja problema primenom vetakih neuronskih mrea. U tom cilju emo testirati mreu 2x4x2x2 za sledee izabrane vektore:
Tabela 1.7 Verifikacija i evaluacija vrednosti izlaza i generisanog izlaza VNM 2x4x2x2 6.5 5 2.5 4.5 2.5 7.5 55 -.234 1.225 -.002 1.023 1.026 -.003 -.237 1.229
Izbor ovih vrednosti komponenata ulaznog vektora je vie nego logian. Naime, na slici se moe videti da ovi ulazno vektori predstavljaju, na neki nain, granine vrednosti za koje sa dovoljnom tanou znamo njihovu pripadnost odgovarajuoj klasi. U tom smislu, ako je izabrani model vetake neuronske mree sa prostiranjem signala unapred u stanju da ostvari preslikavanje iz prostora ulaznog vektora u prostor izlaznog vektora za nepoznate vrednosti ulaza, onda sa dovoljnom sigurnou moe rei da smo uspeno pronali nepoznatu arhitekturu vetake neuronske mree.
1.2
U mnogim tehnikim problemima potrebno je razviti i implementirati sisteme koji na osnovu odgovarajuih algoritama mogu da prepoznaje cifre i brojeve. Jedan od eklatantnih primera je unutranji transport sirovina, gotovih delova i materijala u industrijskim postrojenjima. Naime, trakasti transporteri primenjuju se u cilju transporta objekata (obradaka, gotovih delova, sirovina itd.) od jednog podsistema do drugog podsistema. Prilikom procesa transporta, mogue je
preusmeravati objekte transporta na druge transportere. U tom sluaju neophodno je imati odgovarajui identifikacioni kod svakog od objekata koji je, naravno, kombinacija osnovnih cifara (0-9). Da bi sistem bio u stanju da prepozna kod svakog od objekata u cilju eventualnog preusmeravanja u toku transporta neophodno je razviti i implementirati sistem koji e biti u stanju da prepozna osnovne cifre. U tom smislu, ovaj problem predstavlja joe jedan tipski problem klasifikacije objekata na osnovu odgovarajuih karakteristinih obeleja objekata. Sam podsistem za prepoznavanje se realizuje preko kamere koja generie sliku i procesirajue jedinice razvijene na osnovama mainskog uenja i vetakih neuronskih mrea. S tim na umu, reenje problema emo prvo razviti u BPnet aplikativnom softveru, a nakon toga, dovoljno slian ali ipak malo kompleksniji primer u Matlab okruenju. Neka su date etiri cifre (1, 2, 3, 4) i neka je potrebno razviti odgovarajui model vetake neuronske mree sa prostiranjem signala u napred, koji e sa zadatom tanou omoguiti sistemu da prepoznaje ulazne vektore i na taj nain naknadnim procesiranjem klasifikuje kod objekta.
Ulazni vektor emo formirati na sledei nain. Kao to se na slici 1.3 moe videti, ravan slike je formirana od 40 piksela3. Svaki piksel moe biti u jednom i samo jednom od dva mogua stanja: zauzet/slobodan, odnosno, binarnim zapisom predstavljeno: 1 ili 0. 40 komponenata ulaznog vektora e nam dati informaciju o zauzetosti svakog piksela. Na slici 1.4 se moe videti osnovni vid formiranja ulaznog vektora.
Ulazni vektor = {0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0
0 0 0}
T
Druga petorka
Prva petorka
00100 01100
V2 = {0 1 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0}T V3 = {0 1 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 0 T 0 0} V4= {1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0}T Me utim, zbog poznatih svojstava sigmoidne aktivacione funkcije u pogledu vraanja vrednosti 0 ili 1, potrebno je skalirati ulazne i izlazne vrednosti da bi vetaka neuronska mrea bila u stanju da generie eljene izlaze. Naime, ukoliko usvojimo da su sve vrednosti koje su vee od 0.9 predstavljaju aktivaciju, onda i sve one vrednosti koje su manje od 0.1 predstavljaju neaktivno stanje posmatranog neurona. Dakle, ulazni vektori su: V1 = {0.1 0.1 0.9 0.1 0.1 0.1 0.9 0.9 0.1 0.1 0.1 0.1 0.9 0.1 0.1 0.1 0.1 0.9 0.1 0.1 0.1 0.1 0.9 0.1 0.1 0.1 0.1 0.9 0.1 0.1 0.1 0.1 0.9 0.1 0.1 0.1 0.1 0.1 0.1 0.1}T V2 = {0.1 0.9 0.9 0.9 0.1 0.9 0.1 0.1 0.1 0.9 0.1 0.1 0.1 0.1 0.9 0.1 0.1 0.9 0.9 0.1 T 0.1 0.9 0.1 0.1 0.1 0.9 0.1 0.1 0.1 0.1 0.9 0.9 0.9 0.9 0.9 0.1 0.1 0.1 0.1 0.1} V3 = {0.1 0.9 0.9 0.9 0.1 0.9 0.1 0.1 0.1 0.9 0.1 0.1 0.1 0.1 0.9 0.1 0.1 0.9 0.9 0.1 0.1 0.1 0.1 0.1 0.9 0.9 0.1 0.1 0.1 0.9 0.1 0.9 0.9 0.9 0.1 0.1 0.1 0.1 0.1 0.1}T V4 = {0.9 0.1 0.1 0.9 0.1 0.9 0.1 0.1 0.9 0.1 0.9 0.1 0.1 0.9 0.1 0.9 0.9 0.9 0.9 0.9 T 0.1 0.1 0.1 0.9 0.1 0.1 0.1 0.1 0.9 0.1 0.1 0.1 0.1 0.9 0.1 0.1 0.1 0.1 0.1 0.1} Slino prethodnom postupku, izlazni vektori, tj. eljene vrednsoti su: I1 = {1 0 0 0}
T
I2 = {0 1 0 0}T I3 = {0 0 1 0}
T
I4 = {0 0 0 1}T
Slika 1.5 Arhitektura vetake neuronske mree sa prostiranjem signala unapred Prilikom modeliranja razliitih problema primenom vetakih neuronskih mrea osnovno cilj je odreivanje optimalne strukture vetake neuronske mree u pogledu broja skrivenih slojeva i broja neurona u njima. U ovom, poetnom, trenutku azvoja posmatrane vetake neuronske mree znamo da mrea mora da poseduje ulazni sloj u stanju da procesira ulazni vektor sa 40 komponenata i izlazni sloj sa etiri procesirajue jedinice. Kao to je ve naglaeno, prilikom modeliranja problema primenom vetakih neuronskih mrea, ne postoji opta metodologija ija primena bi rezultirala traenim odgovorom. Dakle, broj skrivenih slojeva i broj neurona u skrivenim slojevima treba da bude odreen tokom procesu obuavanja i potrage za optimalnom strukturom. U veini problema jedan i samo skriveni sloj je dovoljan. S druge strane, postoje problemi koji po samoj prirodi zahtevaju vie skrivenih slojeva, to smo videli u prethodnom primeru. U optem sluaju, trebalo bi krenuti sa tri sloja (jedan ulazni, jedan izlazni i jedan skriveni) i videti koji je ishod uenja u zavisnosti od variranja broja neurona u skrivenom sloju. Ukoliko ni posle veeg broja testiranja izabranih arhitektura moda je zaista potrebno uvesti dodatne slojeve u cilju uspenog modeliranja problema.
U tom smislu, proces emo zapoeti sa jednim skrivenim slojem i oceniti ishod obuavanja. Prva arhitektura vetake neuronske mree sa prostiranjem signala unapred je 40x20x4.
Prva arhitektura: 40 x 20 x 4 Nakon uspeno sprovedenog postupka unosa skupa obuavajuih parova u BPnet, proces obuavanja emo nastaviti usvajanjem vrednosti oekivane greke uenja od 0.5. Vano je napomenuti da su vrednosti za parametre obuavanja i jednake i iznose 0.2, kao to se na slici 1.6 moe videti.
Slika 1.6 Arhitektura 40x20x4 Nakon ostvarenog cilja, promeniemo vrednost oekivane greke uenja na 0.2. italac se moe uveriti da e za zadate uslove reenje biti odreeno nakon 3,497 iteracija. U tabeli je predstavljen uporedni prikaz eljenih I generisanih vrednosti za prvi, drugi i etvrti ulazni vektor.
Tabela 1.8 Prikaz generisanih vrednosti nakon 3,497 iteracija eljene vrednosti prvog ulaznog vektora 0.9 0.1 0.1 0.1 eljene vrednosti drugog ulaznog vektora 0.1 0.9 0.1 0.1 eljene vrednosti etvrtog ulaznog vektora 0.1 0.1 0.1 0.9
Dakle, kao to se na osnovu prethodne tabele moe videti rezultati su daleko od eljenih pa samim tim proces obuavanja treba nastaviti. U tom smislu, usvajanjem nove vrednosti greke uenja (0.02) nastavljamo proces. Nakon dodatnih nekoliko hiljada iteracija, softver je uspeo da pronae vrednsoti teinskih koeficijenata koji zadovoljavaju postavljeni kriterijum u vidu numerike vrednosti greke uenja. Da bi u potpunosti bili sigurni u generisane rezultate zapoeemo proces obuavanja od samog poetka, ali sa novim parametrima, a sve u cilju verifikacije rezultata. Odgovarajui BPnet korisniki prozor je prikazan na sledeoj slici dok su rezultati uenja dati u tabeli 1.9.
Bez veih uputanja u analizu rezultata moemo zakljuiti da vetaka neuronska mrea koja je formirana od jednog ulaznog sloja, jednog skrivenog sloja sa 20 neurona i jednog izlaznog sloja (40x20x4) moe da izvri zahtevano preslikavanje. Naravno, u funkciji pedagokih ciljeva nastaviemo proces obuavanja koji bi trebao da rezultira nekom adekvatnijom arhitekturom.
Druga arhitektura: 40 x 10 x 4 S obzirom da broj teinskih koeficijenata, koji odreuju povezanost izmeu neurona, raste sa kvadratom broja neurona, shodno tome poveava se i vreme uenja koje je potrebno u cilju odreivanja ovih koeficijenata. Naravno, samim tim poveavaju se i zahtevi u pogledu rada procesorske jedinice raunara. U tom smislu, potrebno je teiti manjem broju neurona, a sve u cilju breg obuavanja mree. Naravno, iako je prethodni stav opteg karaktera, postoje problemi ije modeliranje vetakim neuronskim mreama zahteva vei broj neurona, a sve zbog boljih mogunosti u pogledu predstavljanja znanja i poboljanju sposobnosti generalizacije. Sledea arhitektura vetake neuronske mree sa prostiranjem signala u napred koju emo obuiti u cilju generisanja eljenih izlaza je 40x10x4. usvojiemo da parametri uenja imaju vrednost 0.5, dok je oekivana greka uenja 0.025.
Zanimljivo je da ukoliko usvojimo novu vrednost oekivane greke uenja npr. 0.015 i nastavimo proces odreivanja i modifikacije teinskih odnosa, mrea e nastaviti da ui sve do 69,000 iteracija, sa konstantnom vrednou greke uenja od 0.0153424. Bez obzira na eventualnu promenu parametara ova vrednost greke uenja ostaje konstantna. Rezultati procesa uenja nakon 55,794 iteracija nakon to je greka uenja svedena ispod zahtevane vrednosti dati su u tabeli 1.10.
U tom smislu, moemo sa dovoljnom sigurnou zakljuiti da arhitektura koja je formirana od 40 procesirajuih jedinica u ulaznom sloju, 10 u skrivenom sloju i etiri u izlaznom sloju, u stanju da znatno bolje izvri preslikavanje koje se od nje zahteva nego prethodno analizirana arhitektura (40x20x4).
Trei pokuaj: 40 x 5 x 4 U cilju odreivanja optimalne strukture vetake neuronske mree nastaviemo sa smanjivanjem broja neurona u skrivenom sloju. Sledea arhitektura koja je izabrana je 40x5x4. Usvojene numerike vrednosti parametara uenja je 0.5, dok se oekuje greka uenja od bar 0.02. Nakon 144,000 iteracija posmatrana mrea je poela da osciluje izmeu vrednosti greke uenja od 0.025. Ovo oscilatorno kretanje nije se prekinulo ni nakon dodatni 15,000 iteracija. Generisani izlazi se mogu videti u sledeoj tabeli.
Tabela 1.11 Prikaz generisanih vrednosti nakon 144,000 iteracija
Dakle, sa dovoljnom dozom sigurnosti moemo zakljuiti da ova konfiguracija nije adekvatno reenje analiziranog problema. Na kraju, bilo bi vie nego zanimljivo proveriti da li bi eventualno uvoenje dodatnih skrivenih slojeva doprinelo poveanju brzine konvergencije i ostvarivanju odgovarajueg nivoa kvaliteta eljenog preslikavanja. U tom smislu, pokuaemo da ostvarimo zahtevano preslikavanje sa dva skrivena sloja (40x10x10x4). Usvojene vrednosti parametara uenja i oekivane greke uenja mogu se videti na slici 1.11, dok su generisani izlazi ove vetake neuronske mree dati u tabeli 1.12.
Generisani izlazi definitivno nisu oni koji treba da predstavljaju reenje analiziranog problema. Poreenjem ovih izlaza i odgovarajuih prethodnih testiranih arhitektura vetakih neuronskih mrea, moe se videti ta dodatni skriveno slojevi pruaju u cilju predstavljanja znanja. Testiranje drugih arhitektura se ostavlja itaocima, mada su autori uvereni da je izabrana arhitektura sa jednim skrivenim slojem optimalno reenje.
Analiza i diskusija Poreenjem tri osnovne analizirane arhitekture mogue je izvesti zakljuak o njihovoj upotrebnoj vrednosti. Naime, prvoj testiranoj arhitekturi (40x20x4) je potrebno 6,902 iteracije za odreivanje vrednosti teinskih koeficijenata. Kao to je tom prilikom konstatovano, generisani izlazi mree nakon sprovedenog procesa uenja su zadovoljavajui. S druge strane, arhitektura 40x10x4 odreuje izlaze koji su znatno blii eljenim vrednostima, ali i sa veim brojem iteracija, tanije potrebno je 55,794 iteracije. Na kraju, poslednja arhitektura koja je testirana (40x5x4) zahteva najvei broj iteracija, ak 144,000. U tom smislu, ovu poslednju arhitekturu moemo eliminisati iz procesa odluivanja o optimalnoj strukturi vetake neuronske mree. Samim tim, u igri ostaju samo prve dve arhitekture. Kada bi posmatrali sa stanovita brzine uenja, optimalan izbor bi definitivno bila prva arhitektura (40x20x5). Meutim, posmatrano sa stanovita preciznosti generisanih rezultata nakon sprovedenog procesa uenja, optimalan izbor bi bila druga arhitektura. Znatno due vreme potrebno za sprovoenje procesa uenja je predstavlja cenu preciznosti. U ovom trenutku, izbor e biti druga vetaka neuronska mrea, a sve zbog boljih izlaznih vrednosti. S druge strane, vano je naglasiti da bi sa aspekta implementacije u industrijski i jedno i drugo reenje bilo zanimljivo. Naime, prva arhitektura bi bila bolji izbor ukoliko bi se pojavili novi ulazni vektori i ukoliko bi postojala potreba za obuavanjem sa ovim novim ulazno-izlaznim obuavajuim parovima. Bilo kako bilo, u ovom trenutku emo se odluiti za drugu arhitekturu koja se sastoji od 40 procesirajuih jedinica u ulaznom sloju, 10 u skrivenom sloju i etiri u izlaznom sloju. Bilo bi zanimljivo testirati mogunosti generalizacije izabrane mree u pogledu predstavljanja za nijansu drugaijih ulaznih vektora. Naime, zamislimo da je na
osnovu generisane slike sa kamere, odgovarajui softver za procesiranje slike prepoznao sledei oblik ulaznog vektora:
Dakle, ulazni vektor je V= {0.1 0.1 0.1 0.1 0.9 0.1 0.1 0.1 0.9 0.9 0.1 0.1 0.1 0.1 0.9 0.1 0.1 0.1 0.1 0.9 0.1 0.1 0.1 0.1 0.9 0.1 0.1 0.1 0.1 0.9 0.1 0.1 0.1 0.1 0.9 0.1 0.1 0.1 0.1 0.1}T Generisane izlazne vrednosti izabrane vetake neuronske mree (40x10x4) se mogu videti u tabeli 1.13.
Dakle, kao to prethodna tabela prikazuje, generisani izlazi se znatno razlikuju od eljenih vrednosti. Postavlja se sasvim logino pitanje, u emu je problem? Osnovni problem predstavlja upravo sama vetaka neuronska mrea.
Naime, odabrana arhitektura nije nauena da prepoznaje ovu ne malu razliku izmeu poznatog ulaznog vektora (u ovom sluaju prvog ulaznog vektora) i novog oblika. Ukoliko elimo da mrea sa dovoljnom tanou prepozna ovaj oblik ulaznog vektora onda je neophodno da sve mogue sluajeve (tj. Poloaje nakon izvrene transformacije) ukljuimo u proces uenja. Drugim reima, proces obuavanja bi morao da bude sproveden i za ove nove ulazne vektore. Na ovom mestu je jako vano naglasiti da ovaj problem ne predstavlja generalizaciju ve je iskljuivo vezan za nemogunost adekvatnog prepoznavanja ulaznog vektora. U nastavku emo prikazati proces modeliranja problema primenom vetakih neuronskih mrea u Matlab okruenju, tj. u odgovarajuem modulu ovog softverskog paketa. U tom cilju, prikazaemo postupak obuavanja vetake neuronske mree u cilju prepoznavanja veeg broja primera. Novi obuavajui skup je prikazan na sledeoj slici.
Osnovna postavka problema je identina prethodnom sluaju u kome smo traili optimalnu strukturu u cilju prepoznavanja etiri cifre tj. 1,2,3 i 4. U Matlab okruenju mogue je vriti modeliranje problema pisanjem odgovarajueg koda (M-file) ili direktnim unosom u modul za vetake neuronske mree (Neural Network Toolbox). Vano je naglasiti da se rezultati procesa uenja nee razlikovati. Izbor modeliranja preko pisanja odgovarajueg koda ili pak direktnim
unosom u grafiki interfejs modula za vetake neuronske mree ostavljen je korisniku. Matlab kod u cilju modeliranja postavljenog problema je: clc,clear, close all
% Definisati ulazne vektore: i1 = [0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0]'; i2 = [0 1 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0]'; i3 = [0 1 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0]'; i4 = [1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0]'; i5 = [0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0]'; i6 = [0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0]'; i7 = [0 1 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0]'; i8 = [0 1 1 1 0 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0]'; i = [i1 i2 i3 i4 i5 i6 i7 i8] % Definisati izlazne vektore: o1 = [1 0 0 0 0 0 0 0]'; o2 = [0 1 0 0 0 0 0 0]'; o3 = [0 0 1 0 0 0 0 0]'; o4 = [0 0 0 1 0 0 0 0]'; o5 = [0 0 0 0 1 0 0 0]'; o6 = [0 0 0 0 0 1 0 0]'; o7 = [0 0 0 0 0 0 1 0]'; o8 = [0 0 0 0 0 0 0 1]'; o = [o1 o2 o3 o4 o5 o6 o7 o8] % Definisati opseg promene ulaznih vektora (minimalnu i maksimalnu vrednost): kk = [zeros(size(i,1),1) ones(size(i,1),1)]; % Definisati strukturu vetake neuronske mree: net = newff([kk],[10,8],{'logsig','logsig'},'trainlm');
% Usvojiti vrednosti parametara uenja: net.trainParam.show = 100; net.trainParam.lr = 0.5; net.trainParam.epochs = 1000; net.trainParam.goal = 1e-5; % Zapoeti proces uenja: net = train(net,i,o); % Rezultati uenja su: y = sim(net,i(:,:))
Pojanjenja osnovnih parametara su data u nastavku. Prvi parametar [kk] definie opseg ulaznih vektora (minimalnu i maksimalnu vrednost). Vano je naglasiti da tzv. skaliranje ulaznih vrednosti se odvija automatizovano u okviru Matlaba na osnovu ovako definisanog parametra. Drugim parametrom [10,8] odreena je arhitektura vetake neuronske mree koja se u ovom sluaju sastoji od tri sloja (jedan ulazni, jedan skriveni i jedan izlazni sloj) sa sledeim brojem procesirajuih jedinica 40x10x8. Vano je naglasiti da se u Matlabu ne definie eksplicitno broj neurona u ulaznom sloju, s obzirom da je ta veliina uvek odreena tipom ulaznog vektora. Komanda {'logsig','logsig'} odreuje primenu sigmoidne aktivacione funkcije u skrivenom i izlaznom sloju. Kao to se moe videti, Matlab omoguuje korisniku da definie razliite aktivacione funkcije za skriveni i izlazni sloj vetake neuronske mree. Na kraju, poslednji parametar ('trainlm') odreuje primenu LevenbergMarkeoovog postupka prilikom obuavanja vetake neuronske mree. U sluaju da se na pomenutom mestu ne upie algoritam uenja, Matlab e uvek kao prvi izbor (tzv. default) izabrati gradijentni postupak. Rezultati obuavanja vetake neuronske mree su:
TRAINLM-calcjx, Epoch 0.0577139/1e-010 TRAINLM-calcjx, Epoch 1.33724e-005/1e-010 0/1000, 13/1000, MSE MSE 0.292447/1e-005, 2.3102e-006/1e-005, Gradient Gradient
TRAINLM, Performance goal met. y =[0.9999 0.0000 0.0000 0.0000 0.0002 0.0002 0.0000 0.0000 0.0000 0.9998 0.0001 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.9989 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0000 0.0000 1.0000 0.0000 0.0000 0.0000 0.0001
0.0001 0.0003 0.0003 0.0002 0.9968 0.0018 0.0001 0.0001 0.0000 0.0000 0.0000 0.0000 0.0001 0.9885 0.0000 0.0000 0.0002 0.0000 0.0000 0.0000 0.0000 0.0000 0.9999 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.9991]
Kao to se iz priloenih rezultata moe videti, du glavne dijagonale matrice izlaznih vektora imamo vrednosti koje su bliske eljenim vrednostima.
1.3
Primer #3: Primena vetakih neuronskih mrea u cilju predikcije oitavanja ultrazvunih senzora bliskosti prilikom kretanja mobilnog robota
Jedna od osnovnih kategorija primene vetakih neuronskih mrea je predikcija. Naime, na osnovu prikupljenih podataka do odreenog trenutka t od mree se oekuje da predvidi ponaanje posmatrane veliine u trenutku t+1. Kao primeri primene predikcije mogu se navesti sledei problemi: predvianje znaajnih promena na tritu hartija od vrednosti, predvianje ivotnog veka mainskih delova, itd. U tom smislu, u nastavku e biti prikazano modeliranje oitavanja ultrazvunog senzora prilikom kretanja mobilnog robota. Ultrazvuni senzori predstavljaju senzore bliskosti iji je osnovni zadatak detekcija pokretnih i nepokretnih objekata koji se nalaze na putanji mobilnog robota, a sve u cilju spreavanja kolizije. Na slici 1.13 prikazan je mobilni robot sa odgovarajuim ultrazvunim senzorima prilikom kretanja i nailaska na prepreku u etiri karakteristina sluaja.
Sluajevi pod a) i b) na slici XX predstavljaju situaciju kada jedan i samo jedan, od dva postojea ultrazvuna senzora, prijavi postojanje prepreke na putanji. Sluaj pod c) odgovara sluaju kada oba senzora bliskosti prijave prepreku koja se nalazi pod pravim uglom relativno u odnosu na trajektoriju
kretanja mobilnog robota. Poslednji sluaj d), predstavlja nailazak robota na prepreku koja se nalazi pod uglom . U prvom koraku pokuaemo da na osnovu podataka prikupljenih tokom eksperimentalnog procesa odredimo arhitekturu vetake neuronske mree koja e biti u stanju da izvri predikciju merenja ultrazvunog senzora. U tu svrhu, koristiemo eksperimentalne podatke prikupljene za trei sluaj (sluaj pod c) na slici 1.13). Prikupljanje podataka i formiranje skupa obuavajuih parova sprovedeno je u nekoliko faza. U prvoj postavci, mobilni robot se kretao ravnomerno pravolinijski prema objektu koji se nalazi na priblino 60 [cm] od poetnog poloaja robota. Tokom kretanja, dva ultrazvuna senzora (tzv. sonari) vre akviziciju podataka, na ijim osnovama e biti formiran skup obuavajuih parova. Ultrazvuni talasi o nailaze na objekat koji se nalazi na putanji mobilnog robota pod uglom od =0 . Na slici su prikazana oitavanja dobijena akvizicijom tokom eksperimentalnog procesa. Vano je naglasiti da prilikom akvizicije podataka kretanje objekta nije razmatrano s obzirom da bi za problem takve vrste trebalo razviti mreu koja je u stanju da vri predikciju stanja objekta ali i da koriguje komponente odreene na osnovu koraka predikcije shodno izvrenom merenju.
S obzirom da ni polazni problem, u kome kretanje objekta nije dozvoljeno, nije jednostavan kao to izgleda, u nastavku emo u kratkim crtama opisati fizikalnost samog problema. Prilikom kretanja mobilnog robota senzori bliskosti
(sonari) emituju ultrazvuni talas koji biva reflektovan od povrine objekta koji se nalazi na putanji talasa. Tom prilikom, odbijeni (reflektovani) talas biva vraen do emitera talasa (sonara), na osnovu ega se odreuje razdaljina izmeu objekta i mobilnog robota znajui brzinu prostiranja zvunih talasa i vreme nakon koga je zvuni talas doneo informaciju o prisutnosti objekta na putanji. Meutim, s obzirom da mobilni robot tom prilikom menja svoj poloaj (poziciju i orijentaciju), problem odreivanja distance postaje znatno kompleksniji. U tom sluaju mogue je pored oitavanja ultrazvunih senzora u analizu uvesti i oitavanje enkodera, tj. senzora koji mere rotaciju pogonskih vratila pored pored oitavanja ultrazvunih senzora i na taj nain odreuju relativno pomeranje mobilnog robota izmeu dva sukscesivna poloaja. Drugim reima, preeni put izmeu dva merenja odreen je na osnovu merenja enkodera. Dakle, na osnovu prethodne analize mogue je formirati ulazni vektorski prostor ali i odgovarajui izlazni vektorski prostor. Kao komponente ulaznog vektora usvojiemo: p = [d1, d2, e1, e2] gde su: d1 oitavanje prvog sonara u trenutku t; d2 oitavanje drugog sonara u trenutku t; e1 oitavanje prvog enkodera u trenutku t; e2 oitavanje drugog enkodera u trenutku t. S druge strane, izlazni vektor e biti: s = [d1, d2] gde su: d1 predikcija oitavanja prvog sonara u trenutku t+1; d2 predikcija oitavanja drugog sonara u trenutku t+1. Problem emo modelirati vetakom neuronskom mreom sa prostiranjem signala unapred i stim na umu reenje emo razviti Matlab okruenju. Prilikom modeliranja, najbolje rezultate je pokazala mrea sa sledeom arhitekturom 4x10x2. Prilikom sprovoenja procesa modifikacije i odreivanja teinskih koeficijenata primenjen je Levenberg-Markeov algoritam uenja. Tom prilikom testirana je vetaka neuronska mrea sa jednim skrivenim slojem i deset procesirajuih elemenata sa sigmoidnim aktivacionim funkcijama (tansig u Matlab nomenklaturi). Deo koda je prikazan u nastavku: net1 = newff(i,o,[10],{},'trainlm','learngdm') net1 = train(net1,i,o)
Na sledeoj slici moe se videti uporedni prikaz rezultata modeliranja problema primenom vetakih neuronskih mrea i realnog oitavanja senzora bliskosti. Na priloenom uporednom prikazu moe se videti bliskost realnih oitavanja sonara i vrednosti generisanih nakon sprovedenog procesa obuavanja vetakih neuronskih mrea.
Slika 1.15: Uporedni prikaz ocitavanja ultrazvunih senzora tokom kretanja mobilnog robota i generisanih vrednosti vetake neuronske mree.
Vano je naglasiti da se prethodna slika odnosi na prikaz generisanih izlaznih vrednosti vetake neuronske mree sa trening skupom kao ulaznim vrednostima. Meutim, osnovna ideja modeliranja problema iz (tehnike) prakse primenom ove paradigme vetake inteligencije i nije da sistem (vetaka neuronska mrea) naui da reprodukuje vrednosti odreene skupom obuavajuih parova. Naprotiv, na osnovu skupa obuavajuih parova vetaka neuronska mrea treba da pronae takve numerike vrednosti teinskih koeficijenata koje e biti u stanju da ostvare generalizaciju. Drugim reima, da za veinu vrednosti iz odgovarajueg domena koje mrea nije videla mrea i generie vrednosti koje se nalaze u zadatom skupu izlaznih parova. Samo u tom sluaju moemo rei da je mrea ostvarila generalizaciju. Na osnovu prethodnih informacija koje su direktno vezane za sposobnost generalizacije vetake neuronske mree, pokuaemo da testiramo odgovor mree na osnovu ulaznih veliina koje mrea prethodno videla. U tom smislu,
uveemo vrednosti koje su nastale prilikom akvizicije podataka prilikom nailaska mobilnog robota (ali pre svega zvunih talasa) na prepreku pod uglom od 30o. Na slici 1.16 je dat uporedni prikaz.
Slika 1.16: Uporedni prikaz ocitavanja ultrazvunih senzora tokom kretanja mobilnog robota i generisanih vrednosti vetake neuronske mree za vrednosti za koje mrea nije bila obuena.
Moe se primetiti da se vrednosti koje vetaka neuronska mrea generie na osnovu vrednosti sa kojima mrea nije prethodno bila upoznata neznatno razlikuju od stvarnih merenja ultrazvunih senzora. ak i prilikom skoka vrednosti oitavanja sonara vetaki neuronski sistem prepozna tu promenu i generie odgovarajuu vrednost. Iznenadni skok vrednosti moe nastati kao greka u procesu akvizicije podataka u realnom vremenu, s obzirom da ultrazvuni senzori bliskosti ne nude visok nivo pouzdanosti. U tom smislu, uspeno predvianje vetake neuronske mree da e se gradijent promene merenja ultrazvunog senzora naglo promeniti, predstavlja jako znaajnu pojavu posmatrano sa stanovita implementacije ovog sistema u realnom vremenu. Ova injenica je veoma vana s obzirom na kompleksnost problema predvianja sledeeg oitavanja ultrazvunih senzora nakon promene poloaja mobilnog robota. Sledee testiranje sposobnosti generalizacije obuene vetake neuronske mree odnosi se na vrednosti koje su prikupljene prilikom kretanja mobilnog robota koja je razliita od one za koju je mrea obuena. Na sledeoj slici moe se videti generalizacija vetake neuronske mree na osnovu dovedenog test
skupa. Nije teko zakljuiti da i ovom prilikom mrea pokazuje zadovoljavajue rezultate.
Slika 1.17: Uporedni prikaz ocitavanja ultrazvunih senzora tokom kretanja mobilnog robota i generisanih vrednosti vetake neuronske mree za vrednosti za koje mrea nije bila obuena.
S druge strane, direktno uvoenje informacije sa senzora u posmatrani sistem ili podsistem moe se ponekad pokazati kao kontraproduktivno. Naime, senzorsko oitavanje nosi sa sobom potrebnu informaciju (u sluaju naih ultrazvunih senzora u pitanju je prisutnost objekta na putanji), koja nakon obrade treba da bude dalje procesirana. Meutim, u praksi je veoma est sluaj da usled nesavrenosti senzora kao ureaja, dinamikih karakterisitka okruenja u kojem naa maina (u ovom sluaju mobilni robot) obavlja zadatke za koje je projektovana, itd. informacija koja je vraena sa senzora ne odslikava pravo stanje stvari. Naime, kao to se moe videti na osnovu dijagramskih prikaza oitavanja senzora, deava se da nakon niza pravilnih merenja usledi merenje koje nije u skladu sa prethodnom slikom radnog okruenja. U tom sluaju moemo postaviti sledee pitanje: za poznata merenja do nekog trenutka t (npr. sva oitavanja ultrazvunog senzora, davaa ubrzanja ili puta itd.) postavlja se pitanje, kolika je verovatnoa da se objekat A pomerio sa prethodnog poloaja? U tom smislu, neophodno je sprovesti preprocesiranje informacije da bi se odredio precizan odgovora na postavljeno pitanje. Meutim, ovaj tip identifikacije i modeliranja dinamikih sistema daleko prevazilazi osnovnu namenu ove zbirke zadataka, pa se italac upuuje na referentnu literaturu koja je posveena
pomenutoj problematici. Primenom takvog sistema preprocesiranja sposobnost vetake neuronske mree da generalizuje bi u svakom sluaju bila na znatno viem nivou.