2013-06-12 Uwaga: Budowa i własności Slajdy w tej prezentacji są intensywnie animowane, więc na statycznych kopiach mogą być mało czytelne (elementy pokazywane podczas animacji sekwencyjnie na statycznej kopii są nałożone jedne na drugie!) sztucznych neuronów i sieci Jak zbudowane są sztuczne neurony i sieci? Droga postępowania A) B) x1 w1 x2 w2 x3 w3 ....... Elementy, z których buduje się neuronowy model X1 g(x, w) x f(x) y X2 X3 xn wn ....... x w Xn w w x wg f 1w 2 3 ( ( n wx x w , x) w g f 1w 2 ( ( 3 w n w x) x w w ,g x)f 1w 2 ( ( 3 w n w x) x w , x) w g f 1w 2 ( ( 3 w n w )x x w x w g , )f 1w 2 ( ( 3 w n x) x , ) Y1 w w x wg f 1w 2 3 ( ( n x x Y2 w w , x) wg f 1w 2 w 3 ( ( n ) x x , ) w ) Budowa wiernego modelu nawet pojedynczego neuronu (komórki Purkinjego) jest bardzo kosztowna (de Schutter’05) Do zbudowania modelu użyto: •1600 kompartmentów •8021 modeli kanałów jonowych •10 typów różnych złożonych opisów matematycznych kanałów zależnych od napięcia •32000 równań różniczkowych! •19200 parametrów do oszacowania przy dostrajaniu modelu •Opisu morfologii zrekonstruowanej za pomocą mikroskopu 1 2013-06-12 Obrazy wyników symulacji komputerowej modelu komórki Purkinjego uzyskane w badaniach de Schuttera: Neuron - podstawowy element sieci x1 x2 u góry aktywność elektryczna symulowanej komórki, w1 w2 ... xn u dołu zjawiska biochemiczne (przepływ jonów wapnia wn wi , xzróżnicować s Jak gZadania i y f s sygnały wejściowe? i 1,, n??? obliczenie wartości funkcji aktywacji agregacja danych wejściowych Procesy składania sygnałów w biologicznym neuronie y Kwestia wag różnicujących wejścia do neuronu 10 informatyka + Załóżmy, że oceniany kwiat ma ładny kolor, ale brzydki zapach. Przy przeciwnym rozłożeniu wag wynik jest odwrotny neuron wyśle na wyjściu sygnał, że kwiat mu się nie podoba neuron wyśle na wyjściu sygnał, że kwiat mu się podoba do sygnału wejściowego „zapach” przypiszemy małą wagę a do sygnału „kolor” wagę dużą informatyka + 11 informatyka + 12 2 2013-06-12 Wagi mają przemożny wpływ na zachowanie neuronów! Wniosek: Przy tym samym zestawie sygnałów wejściowych mamy dwie całkiem różne reakcje neuronu! informatyka + to wagi decydują o zachowaniu neuronu i całej sieci! 13 Schemat odruchu warunkowego Pawłowa Przykład sieci mającej budowę opartą na próbie odwzorowania rzeczywistego mechanizmu neurofizjologicznego Reakcja: wydzielanie śliny 3 2013-06-12 Własności neuronu determinują: przyjęta agregacja danych wejściowych oraz założona funkcja wyjścia n Wracamy do modelu neuronu używanego w praktycznie stosowanych sieciach neuronowych s wx Agregacja liniowa i 1 x1 x2 xn i i Neuron liniowy w1 s g wi , xi i 1,, n w2 ... wn y y=s Tożsamościowa funkcja aktywacji W przypadku neuronu liniowego jego zachowanie daje się łatwo zinterpretować Z neuronem liniowym (i z innymi neuronami budowanymi na jego bazie) związana jest jeszcze sprawa wyrazu wolnego w formule agregacji n Czysta agregacja liniowa: x0 1 x1 x2 xn s wx i 1 w0 w1 w2 ... wn i s g wi , xi i 1,, n ma wadę, polegającą na tym, że charakterystyka neuronu musi tu przechodzić przez początek układu y y=s To nadal jest neuron liniowy! Żeby zachować liniową postać wzoru opisującego neuron dodaje się dodatkowe pseudowejście nazywane BIAS, które zawsze dostarcza sygnał 1 W strukturze sieci neuronowej czasem zaznacza się bias jako osobne wejście i Bogatsze możliwości daje agregacja afiniczna (z wyrazem wolnym w formule): n s wi xi w0 i 1 n Wtedy agregacja nadal liniowa: jest s wi xi i 0 W przypadku neuronu nieliniowego nie jest tak łatwo, ponieważ zagregowany (w taki lub inny sposób) sygnał wejściowy może być przetworzony przy użyciu funkcji nieliniowej o teoretycznie dowolnym kształcie. 4 2013-06-12 Własności neuronu determinują: przyjęta agregacja danych wejściowych oraz założona funkcja wyjścia n neuron nieliniowy neuron neuronradialny liniowy -------------- Agregacja liniowa ---------s wx ---------------i i 1 x1 x2 xn Funkcja przejścia wiąże zagregowane wejścia do neuronu z jego sygnałem wyjściowym i w1 w2 ... wn s g wi , xi i 1,, n -------y=s y f s s w x 2 n i 1 y i i Agregacja radialna Najstarsze prace dotyczące sieci neuronowych wykorzystywały jako charakterystykę neuronu funkcję progową („wszystko albo nic”). Warto odróżnić dwie nieliniowe charakterystyki neuronu: unipolarną (po lewej) i bipolarną (po prawej) Potem wprowadzono obszar monotonicznej zależności wejścia od wyjścia, wzbogacając możliwości obliczeniowe sieci. Różne przykładowe formuły matematyczne, wykorzystywane jako funkcje przejścia y Funkcje aktywacji neuronu może być dowolna, ale najczęściej stosowane są niżej podane kształty. 1,5 1 0,5 S 2,9 2,7 2,5 2,3 2,1 1,9 1,7 1,5 1,3 1,1 0,9 0,7 0,5 0,3 0,1 -0,1 -0,3 -0,5 -0,7 -0,9 -1,1 -1,3 -1,5 -1,7 -1,9 -2,1 -2,3 -2,5 x -2,7 -2,9 0 Liniowa -0,5 Sigmoidalna -1 -1,5 Tangensoidalna Gaussa 5 2013-06-12 W wielowymiarowych przestrzeniach charakterystyka neuronu ma formę „urwiska sigmoidalnego” Wykres sigmoidy w zależności od parametru β 1 y β=0,5 β=1 β=2 0,8 0,6 0,4 0,2 S 0 -10 -5 0 f ( s) 5 10 1 1 exp( s) jakość działania sieci Dobór współczynnika β ma wpływ na jakość działania sieci! Aproksymacja sigmoidy przy realizacji sprzętowej y :=1/(1+exp(-0.5*x)) 1.1 0.9 0.7 0.5 0.3 0.1 -0.1 -10 -5 0 5 10 β Funkcja tangens hiperboliczny ma praktycznie taki sam kształt, tylko jej wartości zmieniają się od -1 do +1, a nie od 0 do +1 jak w sigmoidzie Inne przybliżenie sigmoidy funkcjami sklejanymi +1 -1 f ( s) tanh(s) exp( s) exp( s) exp( s) exp( s) 6 2013-06-12 Porównanie: β=0,5 β=1 β=2 Nieliniowe funkcje aktywacji też bywają różne inne, niż omówione wyżej: 1 y 0,8 0,6 0,4 0,2 S 0 -10 -5 0 5 10 Sigmoida Funkcja tangens hiperboliczny 1 f ( s) 1 exp( s) f ( s) tanh(s) exp( s) exp( s) exp( s) exp( s) Dobierając współczynniki wagowe wejść neuronu można wpływać na kształt jego nieliniowej charakterystyki! Podsumowując – do typowego użytkowania mamy do dyspozycji głównie trzy typy neuronów: Neuron liniowy x0 1 x1 x2 xn Najbardziej popularny neuron nieliniowy sigmoidalny, nadający się do budowy sieci MLP w0 w1 y n w2 ... wn s wi xi i 0 y=s x1 x2 xn w1 w2 ... wn y :=1/(1+exp(-0.5*x)) 1.1 0.9 n s wx i 1 i y 0.7 0.5 i 0.3 0.1 -0.1 -10 -5 0 5 10 7 2013-06-12 Neuron radialny używany w sieci RBF i GRNN x1 x2 xn Sposób separacji przestrzeni danych przez: (a) neuron sigmoidalny, (b) neuron radialny w1 w2 ... wn s w x 2 n i 1 i y i Porównanie zasady działania perceptronu wielowarstwowego (MLP) i sieci radialnej (RBF) To samo pokazane w inny sposób Możliwości uzyskiwania różnych kształtów i rozmiarów obszarów decyzyjnych przy pomocy neuronów RBF Neuron radialny używany w sieci Kohonena x1 x2 xn w1 w2 ... wn s w x 2 n i 1 i y i 8 2013-06-12 Sztuczny neuron jest więc w sumie dosyć prostą strukturą, dzięki czemu stosunkowo łatwo jest stworzyć sieć takich elementów Sygnały wejściowe x1 x2 .. . xn w1 w2 wn Zmienne "wagi" Synał wyjściowy Sygnał wyjściowy Jak łączyć neurony, żeby wyszła dobra sieć? y Obserwacja połączeń w małych skrawkach mózgu pozwala lokalizować połączenia i ustalać ich liczbę Jednak z tej wiedzy z reguły się nie korzysta przy ustalaniu struktury sztucznych sieci neuronowych Niektórzy autorzy silą się na tworzenie sieci o bardzo oryginalnej architekturze Bywały próby budowania sieci o architekturze ściśle dopasowanej do natury rozwiązywaneg o zadania (tutaj pokazana struktura sieci przeznaczona była do rozpoznawania kodów pocztowych na kopertach) 9 2013-06-12 Nie zdało to jednak egzaminu i obecnie przy budowie sztucznych sieci neuronowych najczęściej przyjmuje się arbitralnie, że ich budowa jest złożona z warstw, podobnie jak na przykład struktury neuronowe zlokalizowane w siatkówce oka Również w korze mózgowej daje się zaobserwować warstwowa budowa Kora wzrokowa Połączenia do i od poszczególnych warstw w mózgu Warstwowość kory wzrokowej widać lepiej przy wyborze małych jej fragmentów Przykład: schemat kory móżdżku Trzeba jednak dodać, że sieci neuronowe w mózgu miewają też znacznie bardziej skomplikowaną strukturę Schemat sztucznej sieci neuronowej (uproszczonej) Warstwa wejściowa Warstwa ukryta (jedna lub dwie) Warstwa wyjściowa x1 y x2 Działanie sieci zależy od: •przyjętego modelu neuronu, •topologii (struktury) sieci, •wartości parametrów neuronu, ustalanych w wyniku uczenia 10 2013-06-12 Przykłady połączeń międzyneuronowych występujących w sieciach neuronowych. Prawdziwe sieci neuronowe mają zwykle bardzo wiele wejść, mnóstwo neuronów ukrytych oraz najczęściej kilka wyjść. (m) - połączenia międzywarstwowe, (w) - połączenia wewnątrzwarstwowe, (n) - połączenia nadwarstwowe, (s) – samosprzężenia, (r) - połączenia rekurencyjne Tymczasem na prezentowanych tu rysunkach chętnie stosujemy schemat, w którym mamy zaledwie dwa wejścia, jedno wyjście oraz niewiele neuronów ukrytych. s x1 m y nr m Dlaczego? x2 Bo zbiór sygnałów wejściowych dla sieci o dwóch wejściach można łatwo pokazać w postaci punktu na płaszczyźnie, sygnał na wejściu nr 2 n m w m a wartość sygnału na wyjściu sieci można sygnalizować na przykład kolorem punktu min max sygnał na wejściu nr 1 W strukturze sieci istotne jest to, że każdy neuron warstwy wcześniejszej komunikuje się z każdym neuronem warstwy następnej – natomiast neurony w warstwach nie komunikują się pomiędzy sobą n w m m s nr W dużej sieci trudno jest przedstawić i prześledzić wszystkie połączenia Warstw ukrytych może być wiele 11 2013-06-12 Skala możliwości sieci zależy od liczby warstw Struktura sieci nieliniowej Typ obszaru decyzyjnego Jednowarstwowa półprzestrzeń ograniczona przez hiperpłaszczyznę X1 X2 X1 X2 X1 X2 Dwuwarstwowa Trójwarstwowa wypukłe oraz jednospójne ograniczone hiperpłaszczyznami simpleksy dowolny obszar o złożoności ograniczonej wyłącznie liczbą neuronów Przykładowy kształt obszaru na płaszczyźnie sygnałów wejściowych Zdolność do rozwiązania zadania klasyfikacji X2 X1 X2 X1 X2 X1 Jednak sieci z bardziej licznymi warstwami ukrytymi nie są szczególnie godne polecenia! Poglądowe działanie sieci neuronowej Początek działania sieci neuronowej wiąże się z pojawieniem się na jej wejściach sygnałów (czerwone kropki) niosących nowe zadanie do rozwiązania Sygnały wejściowe (nie przetworzone w żaden sposób w warstwie wejściowej) są rozsyłane do wszystkich neuronów warstwy ukrytej 12 2013-06-12 Po przetworzeniu sygnałów przez neurony warstwy ukrytej powstają sygnały pośrednie, kierowane do neuronów warstwy wyjściowej Neurony warstwy wyjściowej korzystają ze wstępnie opracowanej informacji pochodzącej z warstwy ukrytej i obliczają końcowe wyniki, będące rozwiązaniem postawionego zadania Przykładowy rozkład pobudzeń neuronów w sieci Problemy rozwiązywalne i nie rozwiązywalne z pomocą jednowarstwowej sieci neuronowej „Możliwości intelektualne” sieci z większą lub mniejszą liczbą warstw ilustruje znany schemat Liebmanna Rola warstwy ukrytej przykładowy problem Typ : MLP 11:11-11-1:1 , Ind. = 913 Jakość ucz. = 0,785276 , Jakość wal. = 0,777778 , Jakość test. = 0,777778 żółty czarny Na wejście sieci podawane są współrzędne punktów. Sieć ma się nauczyć, które punkty są żółte, a które czarne? 13 2013-06-12 Przykładowe rzeczywiste zachowania sieci jedno-, dwu- oraz trójwarstwowej Rola warstwy ukrytej 1 6 2 3 2 1 4 4 5 5 6 7 7 8 8 3 Niektóre zadania rozpoznawania potrafią być naprawdę paskudne! Najbardziej typowa struktura: sieć MLP Przypomnijmy, że obok różnorodności wynikającej z różnego doboru liczby warstw jest jeszcze różnorodność wynikająca z faktu istnienia w sieci neuronów różnych charakterystykach Często w różnych warstwach sieci neurony mają różne charakterystyki, zarówno nieliniowe jak i liniowe Podstawowe właściwości: • wiele wejść i wiele wyjść y :=1/(1+exp(-0.5*x)) 1.1 0.9 0.7 0.5 0.3 0.1 -0.1 -10 -5 0 5 10 y :=1/(1+exp(-0.5*x)) 1.1 0.9 0.7 0.5 0.3 0.1 -0.1 -10 -5 0 5 10 5 10 5 10 • jedna (rzadziej dwie) warstwy ukryte y :=1/(1+exp(-0.5*x)) 1.1 0.9 0.7 0.5 0.3 0.1 -0.1 -10 -5 0 5 10 y :=1/(1+exp(-0.5*x)) 1.1 0.9 0.7 0.5 0.3 0.1 -0.1 -10 -5 0 y :=1/(1+exp(-0.5*x)) 1.1 0.9 0.7 0.5 • nieliniowe charakterystyki neuronów ukrytych w formie sigmoid 0.3 0.1 -0.1 -10 -5 0 5 10 y :=1/(1+exp(-0.5*x)) 1.1 0.9 0.7 0.5 0.3 0.1 -0.1 -10 y :=1/(1+exp(-0.5*x)) 1.1 0.9 0.7 0.5 0.3 0.1 -0.1 -10 -5 0 5 10 -5 0 W warstwie wyjściowej neurony mogą być liniowe lub także mogą mieć charakterystyki sigmoidalne Uczenie najczęściej przeprowadzane metodą wstecznej propagacji błędów 14 2013-06-12 Sieć typu RBF w zastosowaniu do klasyfikacji (wykrywa i sygnalizuje skupiska danych wejściowych) Dwie „filozofie” tworzenia sieci RBF Elementy zbioru uczącego dzielone są na grupy elementów podobnych (metodą k-średnich, która będzie zaraz opisana). W charakterze wag neuronów radialnych stosowane są środki ciężkości każdej wyróżnionej grupy. Jak uczyć taką sieć? Przestrzeń sygnałów wejściowych oraz wag Określenie wag neuronów radialnych metodą K-średnich Przedstawimy działanie tego algorytmu w pięciu krokach Dla n próbek wejściowych x0 , x1...xn1 metodę k-means wykorzystuje się do utworzenia k klastrów, przy czym dla każdego z nich zostanie wyznaczony element modalny, reprezentujący umowny środek całej grupy w przestrzeni cech. Metoda k-means działa w sposób iteracyjny. W celu wyszukania najlepszych lokalizacji dla środkowych punktów każdego z klastrów na początek przyjmuje się lokalizacji przypadkowe, a potem się je doskonali, tak, aby optymalnie dopasować każdy wzorzec do klastra danych wejściowych, którego środek jest najbliżej wzorca. 15 2013-06-12 1) Ustalenie środków poszczególnych klas za pomocą pierwotnych wartości m0 , m1 ,..., mK 1 . Na początku są to wektory Krok 1 przypadkowo rozrzucone w przestrzeni sygnałów wejściowych. Punktem wyjścia do algorytmu k średnich jest zbiór danych, o których sądzimy, że tworzą k skupisk. 2) Wyznaczenie odległości między wszystkimi próbkami x0 , x1 ,..., xn 1 ciągu, a wszystkimi środkami klas m0 , m1 ,..., mK 1 , Krok 2 1 d ij ( xi , m j ) || xi m j || ( xi1 m j1 ) 2 ... ( xip m jp ) 2 2 , dla i=0,...,n-1 oraz j=0,...,K-1 Na rysunku k = 3. 3) Połączenie w jedną grupę wszystkich tych sygnałów wejściowych xi spośród próbek x0 , x1 ...xn1 , których odległość od środka mj klasy j jest mniejsza od odległości tychże Krok 3 sygnałów wejściowych xi od środków ml innych klas (l j) w celu utworzenia klasy j. Czynność ta wykonywania jest dla wszystkich numerów klas j=0,...,K-1. W losowy sposób wybieramy k punktów (rozrzuconych) i nazywamy te punkty prowizorycznymi centrami budowanych skupisk. 4) Znalezienie nowych środków klas, poprzez wyszukanie wśród sygnałów xi tej próbki, której współrzędne są najbliższe wartościom średnim współrzędnych wyznaczonym dla wszystkich sygnałów wejściowych, które zostały ulokowane w klasie j. (W wariancie metody pozwalającym naKrok to, żeby wzorzec klasy mógł być obiektem 4 abstrakcyjnym, nie należącym do zbioru próbek x0 , x1 ,..., xn 1 środkiem klasy j staje się po prostu punkt, którego współrzędne są wartościami średnimi współrzędnych elementów xi przypisanych do tej klasy.) Na rysunku punkty wybrane jako centra są oznaczone znakiem X, a skupiska 5) Jeśli w ciągu ostatniej iteracji żaden z elementów xi nie zmienił swojej klasy należy Krok 5 przypadku trzeba wrócić do punktu 3. zakończyć proces klasteringu, w przeciwnym są nazwane red, green oraz blue Teraz dla każdej z klas wyznacza się nowe centrum na podstawie średniej współrzędnych wszystkich punktów przypisanych do danej klasy Na podstawie odległości od wybranych centrów skupisk z przypisanymi im nazwami klas zalicza się wszystkie punkty do odpowiednich klas. Każdy punkt wejściowy jest zaliczony do tej klasy której centrum znajduje się najbliżej ze wszystkich centrów. Dokonuje się ponownego przypisania punktów do poszczególnych klas i ponownie wyznacza się w poszczególnych klasach średnie. Czynności powyższe powtarza się tak długo, jak długo chociaż jeden punkt zmieni swoją przynależność do klasy. Po przerwaniu algorytmu ostatnio użyte średnie wskazują centra klas. Odmiennie działającym elementem używanym w niektórych typach jest tzw. neuron radialny (wykorzystywany w sieciach RBF) 1 t 1 x1 r1 f ... xn t n f y x-t r n Agregacja sygnałów wejściowych w tym typie neuronu polega na obliczaniu odległości pomiędzy obecnym wektorem wejściowym X a ustalonym podczas uczenia centroidem pewnego podzbioru T Również nieliniowa funkcja przejścia w tych neuronach ma odmienną formę - „dzwonu” gaussoidy - czyli jest funkcją niemonotoniczną. 16