Sieci neuronowe - Marek Piasecki

Transkrypt

Sieci neuronowe - Marek Piasecki
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