Micha Rutkowski 133350 Wroc aw, 4 czerwca 2007 „Sieci neuronowe” praca zaliczeniowa z przedmiotu „Informatyka systemów autonomicznych” PROWADZ+CY: dr in/. Marek Piasecki 1 Trzy s owa wst pu W niniejszej pracy postaram si2 przedstawi3 zagadnienie sztucznych sieci neuronowych (SSN) lub jak kto woli z angielskiego artificial neural network (ANN). Zagadnienie te jest spore, wi2c nie b2dzie to kompleksowe przedstawienie problemu, a raczej krótka próba przybli/enia zagadnienia, wraz z omówieniem pewnych cech SSN b2d:cych ich unikalnymi w a;ciwo;ciami oraz pokazanie pewnych interesuj:cych przyk adów zastosowania SSN. Od czego wi2c zacz:3. SSN jak to cz2sto w ;wiecie nauki bywa zosta y zainspirowane przyrod:, a dok adniej mózgiem, a dok adniej rzecz ujmuj:c sposobem jakim mózg dzia a i pracuje. Nale/y wi2c zada3 pytanie: 2 Jak pracuje mózg Czytaj:c przeró/ne czasopisma popularno naukowe czy te/ ogl:daj:c ró/ne filmy z gatunku dokumentalnego / edukacyjnego mo/na si2 spotyka3 z okre;leniem, /e mózgu to biologiczny komputera. Porównanie to jest trafne je;li chodzi o funkcje mózgu – mo/na mózg traktowa3 jako centraln: jednostk2 obliczeniowa (z ang. CPU, czyli potocznie procesor) która podejmuje najwa/niejsze decyzje w organizmie oraz steruje jego prac:. Je;li jednak odnie;3 si2 do zasady dzia ania mózgu porównanie go do procesora jest zgo a nie w a;ciwe. Mózg pracuje na odmiennych zasadach, ni/ tradycyjny komputer. W zwyk ym komputerze procesor wykonuj:cy obliczenia jest oddzielony od pami2ci. W mózgu za; rol2 pami2ci spe nia sama jego budowa. Mózg sam w sobie jest czym; na miar2 pami2ci asocjacyjnej w której indeksami s: obrazy, zapachy, wspomnienia czy te/ rozmaite inne impulsy dostarczane do mózgu (np. ból, zachwianie równowagi, wzrost temperatury itp., itd). Równie/, operacje jakie wykonuje mózg s: znacznie prostsze ni/ operacje jakie wykonuje nasz procesor AMD czy Intela, no bo czy kto; umie w g owie policzy3 sum2 2 liczb zmienno przecinkowych (notabene dzia anie takie mózgowi nie jest do niczego potrzebne). Operacje jakie wykonuje mózg to co najwy/ej dodawania, odejmowanie, dzielenie i mno/enie. Nasuwa si2, wi2c pytanie w czym tkwi sekret, skoro mózg jest taki prosty to jak to si2 dzieje, /e dzia a tak dobrze? Odpowiedz na to pytanie jest do;3 prosta, mózg stawia na ilo;3 operacji, a nie na ich skomplikowanie (co; jak procesory RISC), a te ilo;ci s: naprwad2 ogromne. Ludzki mózg zbudowany jest z ok. 100 miliardów pojedynczych komórek nerwowych zwanych 15 neuronami. Pomi2dzy neuronami znajduj: si2 cieniutkie po :czenia - aksony. Aksonów jest oko o 10 , 8 a liczba operacji na sekund2 jak: wykonuje mózg to oko o 10 GHz (dla porównania procesor Intel Core 2 Duo zmuszono do pracy z cz2stotliwo;ci: 6GHz, tyle /e procesor by ch odzony ciek ym azotem). Podsumowuj:c, porównanie mózgu do procesora mo/na nazwa3 obraz:, je;li wzi:3 pod uwag2 zakres operacji jakie mózg wykonuje i nadzoruje oraz z jak: gracj: mu to wychodzi. Mózg mo/na raczej przyrówna3 do klastra, gdzie ogromne ilo;ci operacji i danych s: wykonywane w u amkach sekund (przy czym klastra bardzo wyspecjalizowanego i prostego). Przyjrzyjmy si2, wi2c budowie neuronu. 3 Neuron Gywy neuron przedstawia si2 nast2puj:co: Rysunek 1. Neuron. Obja;nienie: J dro - "centrum obliczeniowe" neuronu. To tutaj zachodz: procesy kluczowe dla funkcjonowania neuronu. Akson - "wyj;cie" neuronu. Za jego po;rednictwem neuron powiadamia inne neurony o swojej reakcji na dane wej;ciowe. Neuron ma tylko jeden akson. Wzgórek aksonu - st:d wysy any jest sygna wyj;ciowy, który w2druje dalej poprzez akson. Dendryt - "wej;cie" neuronu. T2dy trafiaj: do j:dra sygna y maj:ce by3 w nim póJniej poddane obróbce. Dendrytów mo/e by3 wiele. Synapsa - mo/ne by3 traktowana jako brama do j:dra neuronu. Mo/e ona zmieni3 moc sygna u nap ywaj:cego poprzez dendryt. Wzoruj:c si2 na /ywym neuronie mo/na przyj:3 model : Rysunek 2. Model neuron. Mamy ju/ jeden neuron. W a;ciwie to nawet jeden neuron mo/na zmusi3 do dzia ania, gdy/ w a;ciwie jest to sie3 jednoelementowa. Aby jednak móc u/y3 sieci w jakim; powa/nym celu, trzeba u/y3 wi2kszej ilo;ci neuronów. Jak wida3 z rysunków 1 i 2 , neuron mo/e mie3 jeden lub wi2cej dendrytów (a dla ka/dego po jednej synapsie) i dok adnie jeden akson. K:czymy je w prosty sposób: po pierwsze uk adamy je warstwami. Mo/na zbudowa3 sie3 o jednej, dwóch, trzech lub wi2cej warstwach – przy czym przy typowych zastosowaniach stosuje si2 najcz2;ciej trzy warstwy. Neurony nale/:ce do danej warstwy nie maj: ze sob: /adnego kontaktu (w najprostszym modelu). Wygl:da to mniej wi2cej tak: Rysunek 3. Model sieci neuron. Na rysunku powy/ej przedstawiono sie3 jednokierunkow:. W takiej sieci sygna y p yn: równo i spokojnie od wej;cia poprzez warstwy ukryte do wyj;cia. Inn: odmian: SSN s: sieci rekurencyjne (rysunek 4). Ró/nica polega na tym, /e w sieci rekurencyjnej wyst2puj: tzw. sprz2/enia zwrotne. Za ich po;rednictwem sygna y mog: po przej;ciu danej warstwy wraca3 na jej wej;cie, zmieniaj:c przy tym swoje warto;ci, co powtarza si2 wiele razy, a/ do osi:gni2cia pewnego stanu ustalonego. Wej%cia sieci NEURON NEURON NEURON NEURON NEURON NEURON NEURON NEURON NEURON NEURON Warstwa pierwsza NEURON NEURON Warstwa wewn trzna Warstwa wyj%ciowa Wyj%cia sieci Rysunek 4. Model sieci neuron ze sprz Czarna strza ka sprz eniem zwrotnym. enie zwrotne z wyj!cia na wej!cia neuronów. 4 Co potrafi sieci neuronowe • Klasyfikacja i rozpoznawanie – sie3 uczy si2 podstawowych cech prezentowanych wzorców i na jej podstawie podejmuje odpowiedni: decyzj2 klasyfikacyjn:. Rysunek 5a i b. Klasyfikacja i rozpoznawanie • Aproksymacja – siec pe ni rol2 uniwersalnego apoksymatora funkcji wielu zmiennych, realizuj:c funkcj2 nieliniow: postaci y=f(x) • Asocjacja – sie3 zapami2tuje zbiór wzorców w taki sposób, aby po zaprezentowaniu nowego wzorca reakcj: sieci by o wytworzenie zapami2tanego wzorca, który jest najbardziej podobny do nowego. Rysunek 6. Asocjacja • Heteroasocjacja – sie3 zapami2tuje i kojarzy pary obrazów i nawet zniekszta cony obraz wej;ciowy mo/e wywo a3 w a;ciw: heteroasocjacj2 na wyj;ciu (heteroasocjacja obejmuje problem klasyfikacji) Rysunek 7. Heteroasocjacja • Optymalizacja – pozwala na minimalizacj2 pewnych funkcji kosztu, zwykle zadanych przez u/ytkownika. Sie3 samoczynnie poszukuje minimum tzw. funkcji energii (warto;ci zale/nej od stanu sieci), dochodzi do stanu o minimalnej energii i w nim zostaje (np. problem szeregowania zadaP) • Grupowanie danych i wykrywanie cech: o grupowanie danych – sie3 samoczynnie wykrywa podobiePstwo w przetwarzanych danych o wykrywanie cech – cz2sto jest zwi:zane z redukcj: wymiarów. Mog: realizowa3 odwzorowanie cech wielowymiarowego sygna u wej;ciowego o z o/onej strukturze na p aszczyzn2 (np. prowadzone s: eksperymenty z kompresj: obrazów za pomoc: SSM, wyniki takiej kompresji s: lepszej jako;ci ni/ kompresji algorytmami tradycyjnymi, ale niestety czas takiej kompresji jest znacznie d u/szy) 5 Uczymy si Sie3, podobnie jak cz owiek, mo/e zarówno by3 uczona przez nauczyciela, jak i zdobywa3 wiedze ca kiem samodzielnie. X Y SSN BK+D ODP Rysunek 8a. Uczenie nadzorowane Rysunek 8b. Uczenie nienadzorowane Uczenie nadzorowane – dla ka/dej warto;ci wchodz:cej w sk ad sygna y wej;ciowego znana jest poprawna odpowiedz (warto;3 wyj;ciowa). Na podstawie ró/nicy mi2dzy warto;ci: rzeczywist:, a warto;ci: po/:dan: nast2puje korekcja wag. Uczenie nie nadzorowane - ró/ni si2 od zwyk ego uczenia g ównie tym, /e sie3 otrzymuje tylko obiekt wej;ciowy, bez narzuconego dla niego wyj;cia. Nikt jej nie sugeruje, jak ma na dany obiekt reagowa3. Wagi ka/dego z neuronów w uczeniu nie nadzorowanym zmieniaj: si2 zgodnie z zasad:, /e: • neurony, które silnie zareagowa y na sygna wej;ciowy (akceptacja), zostaj: nauczone tak, aby reagowa3 na ten sygna jeszcze silniej • neurony, które zareagowa y s abo (oboj2tno;3), nie s: uczone; • neurony, które zareagowa y siln: odpowiedzi: ujemn: (odrzucenie), s: uczone tak, aby jeszcze bardziej zdecydowanie odrzuca y ten sygna . 6 Zastosowania SSN Rozpoznawanie obrazów. Jest najstarszym z zastosowaP sieci neuronowych. W zagadnieniu rozpoznawania obrazu wyró/nia si2 szczególnie dwa procesy: wyodr2bnianie obiektów i ich identyfikacj2. Wyodr2bnianie obiektów polega na ich wykryciu na analizowanym obrazie. Wykonuje si2 przy tym kilka dzia aP takich jak: wykrywanie kraw2dzi, wyznaczanie konturów, ocen2 powierzchni. W realizacji tych zadaP wygrywaj: sieci neuronowe w szczególno;ci dzi2ki ich zdolno;ci do funkcjonowania w warunkach zak óceP. W odró/nieniu od pozosta ych algorytmów analizy obrazów sieci neuronowe nie potrzebuj: wst2pnego preprocessing obrazu. Prognozowanie Prognozowanie polega na przewidywaniu na podstawie zdobytej wiedzy nast2pnych wydarzeP. Sieci neuronowe s: narz2dziami, które znalaz y sobie miejsce w dziedzinie ekstrapolacji, czyli przewidywaniu przysz ego rozwoju zjawiska na podstawie obserwacji jego dotychczasowego przebiegu. Jako;3 prognoz mo/e by3 ró/na, w du/ej mierze zale/y to od stopnia nauczenia sieci. Mo/liwe jest jednak stworzenie sieci wykorzystuj:cej adaptacyjne zdolno;ci sieci i zbudowa3 tak: sie3 neuronow:, która nie tylko b2dzie uwzgl2dnia a wiedz2 o prognozowanym zjawisku, nabyt: w trakcie treningu, ale tak/e pozytywne lub negatywne do;wiadczenia zdobywane podczas realnego prognozowania. W takim wypadku mamy do czynienia z douczaniem sieci. Prognozowanie przez sieci neuronowe znalaz o zastosowanie w przewidywaniach finansowych. Sterowanie. SSN s: wykorzystywane do sterowania robotami przeznaczonymi do pracy w najtrudniejszych warunkach. Wykorzystuje je si2 równie/ w planowaniu do racjonalizacji ruchów robota w nieznanym mu wcze;niej otoczeniu, ponadto dobrze radz: sobie ze sterowaniem procesami produkcji. Analiza sygna ów. Pod sygna mo/na podci:gn:3 wszystkie przedstawione zale/no;ci ró/nych wielko;ci od siebie ( np. nat2/enie pr:du od czasu, mocy sygna u od jego cz2stotliwo;ci) Sieci neuronowe potrafi: wykrywa3 istotne stany lub ich sekwencje co ma bardzo wa/ne znaczenie przy podejmowaniu odpowiedniej reakcji na odpowiedni stan sygna u ( np. za amki zapisu EKG). 7 Zastosowania SSN w medycynie Spore mo/liwo;ci dzia ania maj: sieci neuronowe w medycynie, sprawdzaj: si2 mi2dzy innymi w: • Inteligentnym wspomaganiu decyzji: diagnozy medyczne, zalecenia dodatkowych testów, decyzje w nag ych przypadkach. Nale/y tu jednak zaznaczy3 pewien opór i ;rodowiska i pacjentów gdy/ ludzie nie ch2tnie sk adaj: swoje /ycie w r2ce cudze, a ju/ zupe nie nie jest im po my;li gdy maszyna ocenia ich szanse na prze/ycie (patrz [1] ) czy okre;la sposób post2powania z nim • Klasyfikacji struktur: rozpoznawanie symptomów, klasyfikacja stanu zdrowia, zachowaP cz owieka, sensu wypowiedzi. • Kontroli: sprawdzanie dawek leków, mo/liwych interakcji leków, potencjalnych przeciwwskazaP • Planowaniu: terapii, diety, optymalizacja dzia aP w trakcie jej przebiegu. • Sterowaniu: urz:dzeP podtrzymuj:cych funkcje /yciowe, monitorowanie stanu pacjenta i ostrzeganie w sytuacjach kryzysowych. • Analizie obrazów: rozpoznawanie i interpretacja obrazów z aparatury medycznej, kontrola jako;ci obrazu. • Detekcji regularno;ci: wykrywanie niebezpiecznych symptomów w sygna ach EKG, EEG i innych. • Separacji sygna ów z wielu Jróde : oczyszczanie obrazów z szumów, filtracja sygna ów elektrycznych (np. mrugania powiek z EEG) • Prognozowaniu: rozwój choroby. 8 Zastosowania SSN w medycynie – studium przypadku Przytocz2 tutaj rezultaty badaP zawartych w [5]. Celem badaP by o stworzenie systemu wspomagaj:cego diagnostyk2 typu przewlek ego zespo u bólowego twarzy. Klasycznie wyró/nia si2 5 g ównych typów zachorowania: • Trigeminal neuralgia Type 1 • Trigeminal neuralgia Type 2 • Trigeminal neuropathic pain • Symptomatic trigeminal neuralgia • Atypical facial pain W oparciu o kwestionariusz z 18 pytaniami autorzy eksperymentu zaprojektowali i nauczyli ANN w celu diagnozy choroby. Zaprojektowana przez nich sie3 ma 4 warstwy (2 ukryte), 18 wej;3 (18 pytaP tak/nie) oraz 5 wyj;3 (5 typów zachorowania) i wygl:da nast2puj:co: Rysunek 9. ANN przeznaczona do diagnostyki zachorowaP na przewlek y zespo u bólowy twarzy Nast2pnie 100 ch2tnych z zdiagnozowan: chorob: zosta o poproszonych o wype nienie kwestionariuszy. Odpowiedzi z ankiet zosta y poddane ocenie ANN. Sie3 by a w stanie wywnioskowa3 typ choroby w przypadku 95 osób na 100. Eksperyment dowodzi o sporym potencjale ANN w zastosowaniu przy diagnostyce przewlek ego zespo u bólowego twarzy, jaki i generalnie w medycynie. Mo/liwe jest równie/ zastosowanie ANN do auto-diagnostyki pacjentów – wystarczy zbudowa3 odpowiedni: stron2 WWW i podpi:3 pod ni: sie3 neuronow: co umo/liwi pacjentom wst2pn: diagnoz2 przed wizyta u lekarza. 9 Quo vadis Jaka jest przysz o;3 SSN? Wydaje si2, i/ SSN jako narz2dzia identyfikacji obiektów i rozpoznawania maj: ju/ pozycje ugruntowana. Podobnie ma si2 sprawa z wspomaganiem decyzji, gdzie sieci neuronowe dobrze sprawdzaj: si2 w akcji szczególnie u/yteczne s: systemy hybrydowych gdzie :czy si2 SSN z inn: metod: poszukiwania rozwi:zania np. zbiorami rozmytymi, algorytmami genetycznymi czy ewolucyjnymi. Je;li chodzi o obróbk2, analizowanie i rozpoznawanie obrazów to mo/na pokaza3 pewne analogie w dzia ania nowoczesnych procesorów przeznaczonych do ww. zadaP i sieci neuronowych, podobnie jak w sieciach w uP in/ynierowie stawiaj: na ilo;3 równolegle wykonywanych operacji przez rdzenie autonomicznie dzia aj:ce (np. NEC produkuje uk ady zawieraj:ce 40 rdzeni, z tym, /e nie s: to procesory ogólnego przeznaczenia, ale wysoce wyspecjalizowane jednostki obróbki obrazu). Jednak jak ka/da dziedzina wiedzy tak i ta ma swoje ograniczenia. Podstawowym problemem rozwoju sztucznych sieci neuronowych jest to, /e nie wiem jak dzia a do koPca /ywa sie3, na której wzorujemy ANN, oczywi;cie prowadzone s: badania i tworzone nowe metody grupowania neuronów, pobudzania ich wyliczania wag itp. Itd., lecz jest to po cz2;ci takie naukowe zgadywanie, przy czym jak dok adnie prze o/y3 model biologiczny nie wiem i jeszcze d ugo przy naszym stanie wiedzy i techniki nie b2dziemy w stanie tego dokona3. Je;li chodzi o hardwarowe implementacje SSN, czyli o tematy poruszane w filmach takich jak „Terminator” czy „Matrix”, to obecny stan techniki nie jest w stanie nawet zamarzy3 o uk adzie cyfrowym dzia aj:cym podobnie do naszego mózgu. Jest kilka czynników uniemo/liwiaj:cych stworzenie inteligentnych procesorów: jako /e mózg zawiera miliardy komórek nerwowych a liczba tranzystorów w obecnie produkowanych procesorach liczona jest w milionach (tranzystorach nie mówi:c o bramkach logicznych), to mamy tutaj ró/nice kilku wielko;ci, po drugie nawet je;li uda oby si2 upakowa3 tyle bramek na krzemie uk ad taki by by fizycznie wielki, a co za tym idzie realizacja jego seryjna (czy jakakolwiek inna) nie by aby mo/liwa wyst:pienie zanieczyszczenia w krzemie na którym produkowane s: uP jest proporcjonalne do wielko;ci powierzchni (im wi2ksza tym wyst:pienie zanieczyszczenia wi2ksze), po trzecie wiem /e powinno by3 du/o elektronicznych neuronów, ale do koPca te/ nie wiadomo jak to powinno wygl:da3. 10 Literatura 1. “Decision-Support Systems designed for Critical Care”, M. Frize, H.C.E. Trigg, F.G. Solven, M. Stevenson. B.G. Nickerson, University of New Brunswick, Fredericton, N.B. , Canada E3B 5A3 2. Artificial Neural Networks in Medicine World Map, http://www.phil.gu.se/ann/annworld.html 3. “Zastosowanie sieci neuronowych w systemach hybrydowych”, Monika Joanna Pabich, http://aragorn.pb.bialystok.pl/~radev/ai/se/zal04/selic/pabich.htm, 4. “Comparison of artificial neural network and logistic regression models for prediction of mortality in head trauma based on initial clinical data”, Behzad Eftekhar, Kazem Mohammad, Hassan Eftekhar Ardebili , Mohammad Ghodsi, Ebrahim Ketabchi 5. “Design of an Artificial Neural Network for Diagnosis of Facial Pain Syndromes”, Kim J. Burchiel , Farhad M. Limonadi, Shirley McCartney, Department of Neurological Surgery, Oregon Health & Science University, Portland, Oreg. , USA 6. “Sztuczne sieci neuronowe”, Joanna Szumowska, http://www.neuron.kylos.pl/pliki/start.html