380 likes | 755 Views
SVEUČILIŠTE U ZAGREBU Fakultet Elektrotehnike i Računarstva Zavod za Elektroniku, Mikroelektroniku, Računalne i Inteligentne Sustave. Samoorganizirajuće neuronske mreže. Seminarski rad Josip Bakić, 0036380715 mentorica: prof.dr.sc. Bojana Dalbelo Bašić Zagreb, 2.4.2004. Uvod.
E N D
SVEUČILIŠTE U ZAGREBU Fakultet Elektrotehnike i Računarstva Zavod za Elektroniku, Mikroelektroniku, Računalne i Inteligentne Sustave Samoorganizirajuće neuronske mreže Seminarski rad Josip Bakić, 0036380715 mentorica: prof.dr.sc. Bojana Dalbelo Bašić Zagreb, 2.4.2004.
Uvod • Motiv: Ljudski mozak • Mozak ne uči samo uz nadzor – samoorganizirajuća mreža • ne postoji zadani izlaz • ne postoji globalni upravljač za sve neurone
Uvod • Cilj: neuroni koji se samostalno mijenjaju • svaki neuron, bez vanjskog navođenja, “uočava” neki uzorak u ulazu koji prima • specijalizira se za njega – aktivan je kad god ponovno primi takav uzorak
Izvedba • Neka imamo jednoslojnu mrežu i zadan neki ulaz – vektor x • Moramo riješiti dva problema: • koji neuron će reagirati na ovaj ulaz? • kakve će to promjene izazvati na njemu? • Rješenje prvog: natjecateljski model mreže
Natjecateljski model mreže • Neurone u sloju povežemo horizontalno • Svaki potiče sebe, a guši druge a = aktivacija, određuje izlaz s = w·x = težinska ulaza l = ulazi sa horiz. veza
Natjecateljski model mreže • Izlaz svih neurona je određen primjenom sigmoid ili sl. funkcije na aktivaciju • Nakon određenog vremena, mreža se stabilizira: • samo jedan neuron daje izlaz, ostali su neaktivni • taj neuron je pobjednik (winner-takes-all mreža)
Natjecateljski model mreže • Pobjednik je imao najveći težinski zbroj ulaza: s = wx s = ||w||||x||cos • je kut između vektora w i x • Normaliziramo li težine, s je najveći za onaj neuron čiji je vektor težina najbliži ulaznom vektoru
Učenje • Kod prvog ulaza težine su bile slučajne, pa tako i pobjednik • Kako bi se neuron specijalizirao za skupinu ulaza kojoj pripada trenutni, primaknut ćemo njegov vektor težine bliže ulaznom • tako povećavamo njegov s za dani ulazni vektor, a i za sve koji su njemu slični
Učenje • Instar pravilo učenja: wi = k (x – wi) • i je indeks neurona koji je pobijedio • Koeficijent k[0,1] • određuje brzinu učenja
Učenje • Rezultat:
Učenje • Pošto se vektor težine sa svakom iteracijom približava nekom ulaznom vektoru, i ulazne vektore ćemo morati normalizirati • Normalizacijom ulazni prostor gubi jednu dimenziju • to nije problem za kategoriziraciju teksta eliminira osjetljivost na veličinu dokumenata
Učenje • Pobjednika možemo birati i na neki drugi način • Često se koristi euklidska udaljenost – onda nije potrebno normalizirati vektore
Učenje • O odabiru k ovisi rezultat učenja • ako je k=0, nema učenja • ako je k=1, vektor težina pobjednika postaje jednak ulazu – preveliko skakanje, konačni vektor težina je jednak onome što je taj neuron zadnje prepoznao • idealno tražimo da se vektor težine smjesti negdje u sredinu skupine koju prepoznaje – da predstavlja tipičan primjerak te skupine
Učenje • Dobra vrijednost za k je npr. 0.2 • Najbolje rješenje je početi od većeg broja... • prepoznavanje i brzo približavanje skupini • ... pa ga postupno smanjivati • precizno ugađanje položaja vektora težine prema sredini
Zaključak • Mreža obavlja clustering ulaznih vektora • za svaki je ulazni vektor samo jedan izlaz aktivan • Vektor težine svakog neurona je tipičan primjerak clustera • Nedostatci: • nakon učenja treba odrediti koju kategoriju prepoznaje svaki neuron • broj clustera je strogo određen brojem neurona
Samoorganizirajuće mape • Samoorganizirajuća neuronska mreža u kojoj su neuroni poslagani u ravnini • Kohonenova mreža – Teuvo Kohonen • Čuva prostorne odnose među pojedinim clusterima • dokumenti u sličnim kategorijama aktiviraju susjedne neurone
Samoorganizirajuće mape • Pobjednik se bira na isti način • Kod učenja mijenjaju se i težine susjeda, ali u manjoj mjeri • osigurava blizinu vektora težine susjednih neurona • U početku na velikim susjedstvima... • razvlačenje mreže • ...koja se postupno smanjuju • prilagođavanje strukturi ulaza
Samoorganizirajuće mape • Inspirirane su vizualnim dijelom moždane kore sisavaca • eksperimenti na mačkama su pokazali da se mijenjanje nagiba niza paralelnih linija u koje mačka gleda moždana aktivnost ravnomjerno premješta po moždanoj kori
Određivanje kategorija • I ovdje ponovno imamo isti problem – na naučenoj mreži ne znamo što pojedini neuron prepoznaje • Neka moguća rješenja: • određivanje kategorija proučavanjem vektora težina – kad kategorije nisu zadane • svrstavanje mrežinih clustera pod zadane kategorije • kod SOM možemo promatrati i susjede
Outstar mreža • Dok se kod instar mreže težine približavaju ulazima, outstar mreža se približava zadanim izlazima • nije samoorganizirajuća • Ona prima ulaz istog oblika kakav je izlaz instar mreže – jedna jedinica, ostalo nule
Outstar mreža • Matrica težina jedan neuron Izlaz: y = Wx y = wpoh-i jer je u ulazu samo na i-tom mjestu jedinica jedan pohr. uzorak
Outstar učenje • Dakle, ovisno o pobjedniku, outstar mreža na izlazu daje jedan od pohranjenih vektora iz svoje matrice • svakom neuronu u instar mreži pripada jedan pohranjeni uzorak u outstar mreži • Na pobjednikov stupac matrice primjenjujemo outstar pravilo učenja: wpoh-i = k (yzadan - wpoh-i) • k je skalar koji određuje brzinu učenja; nema veze sa k-om instar mreže
Outstar učenje • Nema natjecanja pa nema potrebe za normaliziranjem ičega • Spoj instar i outstar mreže može poslužiti u svrhu rekonstrukcije “savršenih” podataka • pohranimo iste uzorke u instar i outstar mrežu – čisti podaci • kod primanja podatka sa šumom, instar mreža otkriva kojem je čistom podatku ovaj najsličniji, a outstar mreža nam onda na izlazu daje taj podatak
Primjer – kategorizacija • Oblikujemo željeni izlaz tako da svakoj kategoriji pripadne po jedna komponenta izlaza • u tu komponentu stavimo 1, u druge 0 • Ako neki neuron u instar m. pobjedi za tu kategoriju, u njegovom pohranjenom vektoru u outstar mreži jača odg. komponenta • Nakon učenja bi idealno izlazi outstar mreže imali samo jednu aktivnu komponentu • inače promatramo koja je komponenta izlaza najjača
Adaptive Resonance Theory • Stability-plasticity dilema... • Dosad je broj neurona trebao biti unaprijed određen, a time i broj clustera • Ako je neurona premalo: • isti neuron na više nepovezanih clustera • jedan cluster može biti podijeljen među više neurona • Ako je neurona previše: • pretjerano dijeljenje ulaznog prostora • mrtvi neuroni
Adaptive Resonance Theory • ART mreža sama određuje potreban broj neurona • Dozvoljava učenje samo ako je ulazni vektor već dovoljno sličan vektoru težine pobjednika • stabilnost • Ako nije, ubacuje se novi neuron • plastičnost
ART1 • Binarni model • Spojimo izlaz instar-outstar mreže sa ulazom na jedan I sklop • U outstar mreži se pohranjuju očekivanja – tipični vektori za svaki cluster • to je isto što je pohranjeno u težinama instar mreže, samo nije normalizirano
ART1 • Damo ulaz x instar mreži, jedan neuron pobjeđuje • Prosljeđujemo izlaz instar mreže na outstar mrežu, ona na izlazu daje očekivanje y za taj cluster • Obavljamo logičko I: x AND y • Ako je omjer broja jedinica u x AND y i samom x veći od nekog parametra (vigilance) - rezonancija, obavljamo učenje
ART1 • Ako nije, tražimo drugog pobjednika • ne uspije li nijedan zadovoljiti taj kriterij, dodajemo novi neuron • Kod učenja primjenjujemo brzo učenje – kao da je k=1 • Vektor x AND y se samo upiše na odg. mjesta, u instar mreži normaliziran, a u outstar onakav kakav je • (Pre)jednostavan model
Dodatak • ART1 Fuzzy ART • Spoj 2 ART mreže – ARAM i ARTMAP • Growing Neural Gas • SOM koja sama određuje potreban broj neurona i njihov smještaj u mreži
Primjene • SOMLib [4] – digitalna knjižnica • rastuća hijerarhijska SO mapa • clustering po sadržaju, ali i strukturi teksta (članci, knjige, intervjui...) • Višejezični korpus [5] • SO mapa • uz klasifikaciju i prevođenje...
Primjene • [6] Usporedba k-NN, RBF SVM i ARAM • Po 600 dokumenata u 6 kategorija, učenje sa 100-600 primjera po kategoriji • Rezultati: • na dovoljnom broju kvalitetnih primjera sve tri metode nauče dobro klasificirati • na malim i dobro organiziranim skupovima vode k-NN i ARAM • na velikim i šumovitim skupovima ARAM i SVM vode nad k-NN-om
Primjene • Učinkovitost: • k-NN je najsporiji • na srednje velikim i čistim skupovima je SVM daleko najbrži • na velikim ili na šumovitim skupovima su performanse SVM-a i ARAM-a usporedive
Literatura [1] Gurney, Kevin, Competition and self-organization, predavanja, Dept. Human Sciences, Brunel University, Uxbridge, Middx, UK. [2] Ch16_pres.pdf, slajdovi, ... [3] Picton, Phil, Neural Networks, 2d ed. New York: Palgrave, 2000., pp. 115-126. [4] Rauber, Andreas i Merkl, Dieter, “Text Mining in the SOMLib Digital Library System: The Representation of Topics and Genres”, Applied Intelligence 18, pp. 271-293, 2003. [5] Lee, Chung-Hong i Yang, Hsin-Chang, “A Multilingual Text Mining Approach Based on Self-Organising Maps”, Applied Intelligence 18, pp. 295-310, 2003. [6] He, Ji, Tan, Ah-Hwee i Tan, Chew-Lim, “On Machine Learning Methods for Chinese Document Categorisation”, Applied Intelligence 18, pp. 311-322, 2003.