MichaRutkowski 133350 Wrocaw, 4 czerwca 2007 „Sieci neuronowe” praca zaliczeniowa z przedmiotu „Informatyka systemów autonomicznych” PROWADZ+CY: dr in/. Marek Piasecki 1 Trzy sowa wstpu 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 wa;ciwo;ciami oraz pokazanie pewnych interesuj:cych przykadów zastosowania SSN. Od czego wi2c zacz:3. SSN jak to cz2sto w ;wiecie nauki bywa zostay zainspirowane przyrod:, a dokadniej mózgiem, a dokadniej rzecz ujmuj:c sposobem jakim mózg dziaa i pracuje. Nale/y wi2c zada3 pytanie:
12
Embed
„Sieci neuronowe” - Marek Piaseckimarek.piasecki.staff.iiar.pwr.wroc.pl/dydaktyka/isa/2007/... · 2007. 6. 7. · „Sieci neuronowe” praca zaliczeniowa z przedmiotu „Informatyka
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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 się przedstawić zagadnienie sztucznych sieci neuronowych (SSN)
lub jak kto woli z angielskiego artificial neural network (ANN). Zagadnienie te jest spore, więc nie
będzie to kompleksowe przedstawienie problemu, a raczej krótka próba przybliżenia zagadnienia,
wraz z omówieniem pewnych cech SSN będących ich unikalnymi właściwościami oraz pokazanie
pewnych interesujących przykładów zastosowania SSN.
Od czego więc zacząć. SSN jak to często 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 więc
zadać 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 się spotykać 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 traktować jako
centralną jednostkę obliczeniowa (z ang. CPU, czyli potocznie procesor) która podejmuje
najważniejsze decyzje w organizmie oraz steruje jego pracą. Jeśli jednak odnieść się 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 pamięci. W mózgu zaś rolę pamięci spełnia sama jego budowa. Mózg sam w sobie jest
czymś na miarę pamięci 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 policzyć sumę 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 się, więc pytanie w czym tkwi
sekret, skoro mózg jest taki prosty to jak to się dzieje, że działa tak dobrze? Odpowiedz na to pytanie
jest dość prosta, mózg stawia na ilość operacji, a nie na ich skomplikowanie (coś jak procesory RISC),
a te ilości są naprwadę ogromne.
Ludzki mózg zbudowany jest z ok. 100 miliardów pojedynczych komórek nerwowych zwanych
neuronami. Pomiędzy neuronami znajdują się cieniutkie połączenia - aksony. Aksonów jest około 1015,
a liczba operacji na sekundę jaką wykonuje mózg to około 108GHz (dla porównania procesor Intel
Core 2 Duo zmuszono do pracy z częstotliwością 6GHz, tyle że procesor był chłodzony ciekłym
azotem).
Podsumowując, porównanie mózgu do procesora można nazwać obrazą, jeśli wziąć pod uwagę
zakres operacji jakie mózg wykonuje i nadzoruje oraz z jaką gracją mu to wychodzi. Mózg można
raczej przyrównać do klastra, gdzie ogromne ilości operacji i danych są wykonywane w ułamkach
sekund (przy czym klastra bardzo wyspecjalizowanego i prostego).
Przyjrzyjmy się, więc budowie neuronu.
3 Neuron
Żywy neuron przedstawia się następują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 wędruje dalej poprzez akson.
Dendryt - "wejście" neuronu. Tędy trafiają do jądra sygnały mające być w nim później poddane
obróbce. Dendrytów może być wiele.
Synapsa - możne być traktowana jako brama do jądra neuronu. Może ona zmienić moc sygnału
napływającego poprzez dendryt.
Wzorując się na żywym neuronie można przyjąć model :
Rysunek 2. Model neuron.
Mamy już jeden neuron. Właściwie to nawet jeden neuron można zmusić do działania, gdyż
właściwie jest to sieć jednoelementowa. Aby jednak móc użyć sieci w jakimś poważnym celu, trzeba
użyć większej ilości neuronów. Jak widać z rysunków 1 i 2 , neuron może mieć jeden lub więcej
dendrytów (a dla każdego po jednej synapsie) i dokładnie jeden akson. Łączymy je w prosty sposób:
po pierwsze układamy je warstwami. Można zbudować sieć o jednej, dwóch, trzech lub więcej
warstwach – przy czym przy typowych zastosowaniach stosuje się najczęściej trzy warstwy. Neurony
należące do danej warstwy nie mają ze sobą żadnego kontaktu (w najprostszym modelu). Wygląda to
mniej więcej tak:
Rysunek 3. Model sieci neuron.
Na rysunku powyżej przedstawiono sieć 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 występują tzw. sprzężenia zwrotne. Za
ich pośrednictwem sygnały mogą po przejściu danej warstwy wracać na jej wejście, zmieniając przy
tym swoje wartości, co powtarza się wiele razy, aż do osiągnięcia pewnego stanu ustalonego.
Wyjścia sieci
Wejścia sieci
NEURON NEURON NEURON NEURON NEURON
NEURON NEURON
Warstwapierwsza
Warstwawewnętrzna
Warstwawyjściowa
NEURONNEURONNEURONNEURON
NEURON
Rysunek 4. Model sieci neuron ze sprzężeniem zwrotnym.
Czarna strzałka sprzężenie zwrotne z wyjścia na wejścia neuronów.
4 Co potrafią sieci neuronowe
• Klasyfikacja i rozpoznawanie – sieć uczy się podstawowych cech prezentowanych wzorców i
na jej podstawie podejmuje odpowiednią decyzję klasyfikacyjną.
Rysunek 5a i b. Klasyfikacja i rozpoznawanie
• Aproksymacja – siec pełni rolę uniwersalnego apoksymatora funkcji wielu zmiennych,
realizując funkcję nieliniową postaci y=f(x)
• Asocjacja – sieć zapamiętuje zbiór wzorców w taki sposób, aby po zaprezentowaniu nowego
wzorca reakcją sieci było wytworzenie zapamiętanego wzorca, który jest najbardziej podobny
do nowego.
Rysunek 6. Asocjacja
• Heteroasocjacja – sieć zapamiętuje i kojarzy pary obrazów i nawet zniekształcony obraz
wejściowy może wywołać właściwą heteroasocjację na wyjściu (heteroasocjacja obejmuje
problem klasyfikacji)
Rysunek 7. Heteroasocjacja
• Optymalizacja – pozwala na minimalizację pewnych funkcji kosztu, zwykle zadanych przez
użytkownika. Sieć 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 zadań)
• Grupowanie danych i wykrywanie cech:
o grupowanie danych – sieć samoczynnie wykrywa podobieństwo w przetwarzanych
danych
o wykrywanie cech – często jest związane z redukcją wymiarów. Mogą realizować
odwzorowanie cech wielowymiarowego sygnału wejściowego o złożonej strukturze na
płaszczyznę (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ę
Sieć, podobnie jak człowiek, może zarówno być uczona przez nauczyciela, jak i zdobywać